eeeeeeeeee

This commit is contained in:
DrMangoTea
2025-05-21 22:10:54 +02:00
parent be710fa76b
commit fe9986f06b
143 changed files with 22752 additions and 28660 deletions

217
.idea/workspace.xml generated
View File

@@ -4,8 +4,30 @@
<option name="autoReloadType" value="SELECTIVE" />
</component>
<component name="ChangeListManager">
<list default="true" id="73ee1137-5050-4fa7-b664-d4db3ae300b8" name="Changes" comment="stufff">
<list default="true" id="73ee1137-5050-4fa7-b664-d4db3ae300b8" name="Changes" comment="more stuff">
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/aluminium_encased_pipe.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe_side.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe_side.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe_side.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe_side.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe_side.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/item/diesel_engine_cylinder.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/item/simple_engine_cylinder.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/data/tfmg/recipes/engine_cylinder.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/data/tfmg/recipes/engine_cylinder_cheap.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/data/tfmg/recipes/engine_cylinder_gas.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/data/tfmg/recipes/engine_cylinder_spark_plug.json" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/main/resources/data/tfmg/recipes/turbine_blade.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/gradle.properties" beforeDir="false" afterPath="$PROJECT_DIR$/gradle.properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/debug-1.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/debug-1.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/debug-2.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/debug-2.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/debug-3.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/debug-3.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/debug-4.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/debug-4.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/debug-5.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/debug-5.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/debug.log" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/debug.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run-data/logs/latest.log" beforeDir="false" afterPath="$PROJECT_DIR$/run-data/logs/latest.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/config/tfmg-common.toml" beforeDir="false" afterPath="$PROJECT_DIR$/run/config/tfmg-common.toml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/logs/debug-1.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run/logs/debug-1.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/logs/debug-2.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run/logs/debug-2.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/logs/debug-3.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run/logs/debug-3.log.gz" afterDir="false" />
@@ -13,33 +35,104 @@
<change beforePath="$PROJECT_DIR$/run/logs/debug-5.log.gz" beforeDir="false" afterPath="$PROJECT_DIR$/run/logs/debug-5.log.gz" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/logs/debug.log" beforeDir="false" afterPath="$PROJECT_DIR$/run/logs/debug.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/logs/latest.log" beforeDir="false" afterPath="$PROJECT_DIR$/run/logs/latest.log" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/options.txt" beforeDir="false" afterPath="$PROJECT_DIR$/run/options.txt" afterDir="false" />
<change beforePath="$PROJECT_DIR$/run/usercache.json" beforeDir="false" afterPath="$PROJECT_DIR$/run/usercache.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/.cache/5b8c0f5df972d0059948e36f3c0712dca4487541" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/.cache/9fb1092f32d4fcbf9e061ffd718d4ec689c6c95e" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/.cache/a4f054e33f64259067ca26a447a1fd4d4705e7dd" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/.cache/a4f054e33f64259067ca26a447a1fd4d4705e7dd" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/.cache/e54e4c34b4f65d271b7b9f53d4ba815125cff8b9" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/.cache/e54e4c34b4f65d271b7b9f53d4ba815125cff8b9" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/blockstates/fuse_block.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/blockstates/turbine_engine.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/blockstates/turbine_engine.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/lang/en_ud.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/lang/en_ud.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/lang/en_us.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/lang/en_us.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/models/item/fuse.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/assets/tfmg/models/item/fuse_block.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/minecraft/tags/blocks/mineable/pickaxe.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/advancements/recipes/misc/crafting/kinetics/fuse_block.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/advancements/recipes/misc/crafting/kinetics/turbine_blade.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/loot_tables/blocks/fuse_block.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/crafting/kinetics/fuse_block.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/crafting/kinetics/turbine_blade.json" beforeDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/industrial_blasting/steel.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/industrial_blasting/steel.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/industrial_blasting/steel_from_dust.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/industrial_blasting/steel_from_dust.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/industrial_blasting/steel_from_raw_iron.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/industrial_blasting/steel_from_raw_iron.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/mixing/magnetic_alloy.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/mixing/magnetic_alloy.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/vat_machine_recipe/arc_furnace_steel.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/vat_machine_recipe/arc_furnace_steel.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/winding/resistor.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/generated/resources/data/tfmg/recipes/winding/resistor.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/TFMG.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/TFMG.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/base/TFMGUtils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/base/events/TFMGClientEvents.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/base/events/TFMGClientEvents.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/base/events/TFMGCommonEvents.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/base/events/TFMGCommonEvents.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/config/MachineConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/config/MachineConfig.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/config/StressConfig.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGSoundEvents.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogVisual.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/decoration/cogs/TFMGEncasedCogVisual.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockValues.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricBlockValues.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalNetwork.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/ElectricalNetwork.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/IElectric.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/KineticElectricBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/KineticElectricBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/VoltageAlteringBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/base/VoltageAlteringBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/configuration_wrench/ElectriciansWrenchItem.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cable_hub/CableHubBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/copycat_cable/CopycatCableBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorRenderer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/connection/cables/CableConnectorRenderer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/debug/DebugCinderBlockItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/debug/DebugCinderBlockItem.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/generators/GeneratorBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/RotorBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/generators/large_generator/StatorBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/lights/LightBulbBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/diode/ElectricDiodeBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterRenderer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/measurement/VoltMeterRenderer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/converter/ConverterBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_motor/ElectricMotorBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_pump/ElectricPumpBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/electric_switch/ElectricSwitchBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/transformer/TransformerBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlock.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/fuse_block/FuseBlock.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/potentiometer/PotentiometerBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/electricity/utilities/segmented_display/SegmentedDisplayBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/base/AbstractEngineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/base/AbstractEngineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineBlock.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineBlock.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/base/EngineProperties.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/engine_controller/EngineControllerBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/AbstractSmallEngineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionUpgrade.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/upgrades/TransmissionUpgrade.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/SpoolItem.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/large_engine/LargeEngineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/radial_engine/RadialEngineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineRenderer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/regular_engine/RegularEngineRenderer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlock.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlock.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/engines/types/turbine_engine/TurbineEngineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/blast_furnace/BlastFurnaceOutputBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/metallurgy/casting_basin/CastingBasinBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/misc/winding_machine/WindingMachineBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/vat/base/VatBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderBlockEntity.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderRenderer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/content/machinery/vat/electrode_holder/ElectrodeHolderRenderer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/TFMGRecipeProvider.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/TFMGStandardRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCrushingRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGCrushingRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMixingRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGMixingRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGSequencedAssemblyRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/create/TFMGSequencedAssemblyRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/IndustrialBlastingRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/IndustrialBlastingRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/VatRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/VatRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/WindingRecipeGen.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/datagen/recipes/values/tfmg/WindingRecipeGen.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/recipes/jei/IndustrialBlastingCategory.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/recipes/jei/IndustrialBlastingCategory.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/WindingMachine.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/recipes/jei/machines/WindingMachine.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGBlockEntities.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGBlocks.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGBlocks.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGItems.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGItems.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGRecipeTypes.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/java/com/drmangotea/tfmg/registry/TFMGTags.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/lang/default/interface.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/lang/default/interface.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/cinderflourblock_top.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/cinderflourblock_top.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/converter/block_rotated.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/converter/block_rotated.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_aluminum_pipe/block_flat.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_brass_pipe/block_flat.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_cast_iron_pipe/block_flat.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_plastic_pipe/block_flat.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/copper_encased_steel_pipe/block_flat.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/electrode_holder/block.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/electrode_holder/block.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/electrode_holder/item.json" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/models/block/electrode_holder/item.json" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_aluminum_pipe.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_brass_pipe.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_cast_iron_pipe.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_plastic_pipe.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_encased_steel_pipe.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_frame.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/copper_frame.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/voltmeter.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/block/voltmeter.png" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/item/hydrogen_bucket.png" beforeDir="false" afterPath="$PROJECT_DIR$/src/main/resources/assets/tfmg/textures/item/hydrogen_bucket.png" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" />
@@ -116,50 +209,56 @@
<option name="hideEmptyMiddlePackages" value="true" />
<option name="showLibraryContents" value="true" />
</component>
<component name="PropertiesComponent">{
&quot;keyToString&quot;: {
&quot;Gradle.Build Create-The_Factory_Must_Grow.executor&quot;: &quot;Run&quot;,
&quot;Gradle.C:/Users/adamn/Documents/minecraft/mods/Create-The_Factory_Must_Grow [createMcpToSrg].executor&quot;: &quot;Run&quot;,
&quot;Gradle.Create-The_Factory_Must_Grow [build].executor&quot;: &quot;Run&quot;,
&quot;Gradle.Create-The_Factory_Must_Grow [createMcpToSrg].executor&quot;: &quot;Run&quot;,
&quot;Gradle.Create-The_Factory_Must_Grow [runClient].executor&quot;: &quot;Debug&quot;,
&quot;Gradle.Create-The_Factory_Must_Grow [runData].executor&quot;: &quot;Run&quot;,
&quot;Gradle.Download Sources.executor&quot;: &quot;Run&quot;,
&quot;RunOnceActivity.ShowReadmeOnStart&quot;: &quot;true&quot;,
&quot;RunOnceActivity.git.unshallow&quot;: &quot;true&quot;,
&quot;git-widget-placeholder&quot;: &quot;master&quot;,
&quot;jdk.selected.JDK&quot;: &quot;corretto-17&quot;,
&quot;kotlin-language-version-configured&quot;: &quot;true&quot;,
&quot;last_opened_file_path&quot;: &quot;C:/Users/adamn/Documents/minecraft/mods/Create-The_Factory_Must_Grow/src/main/resources/assets/tfmg/sounds&quot;,
&quot;project.structure.last.edited&quot;: &quot;Project&quot;,
&quot;project.structure.proportion&quot;: &quot;0.15&quot;,
&quot;project.structure.side.proportion&quot;: &quot;0.0&quot;,
&quot;run.code.analysis.last.selected.profile&quot;: &quot;pProject Default&quot;,
&quot;settings.editor.selected.configurable&quot;: &quot;preferences.pluginManager&quot;
<component name="PropertiesComponent"><![CDATA[{
"keyToString": {
"ASKED_MARK_IGNORED_FILES_AS_EXCLUDED": "true",
"Gradle.Build Create-The_Factory_Must_Grow.executor": "Run",
"Gradle.C:/Users/adamn/Documents/minecraft/mods/Create-The_Factory_Must_Grow [createMcpToSrg].executor": "Run",
"Gradle.Create-The_Factory_Must_Grow [build].executor": "Run",
"Gradle.Create-The_Factory_Must_Grow [createMcpToSrg].executor": "Run",
"Gradle.Create-The_Factory_Must_Grow [runClient].executor": "Debug",
"Gradle.Create-The_Factory_Must_Grow [runData].executor": "Run",
"Gradle.Create-The_Factory_Must_Grow [runGameTestServer].executor": "Run",
"Gradle.Download Sources.executor": "Run",
"RunOnceActivity.ShowReadmeOnStart": "true",
"RunOnceActivity.git.unshallow": "true",
"git-widget-placeholder": "master",
"jdk.selected.JDK": "corretto-17",
"kotlin-language-version-configured": "true",
"last_opened_file_path": "C:/Users/adamn/Documents/minecraft/mods/Create-The_Factory_Must_Grow/src/main/resources/assets/tfmg/textures/block",
"project.structure.last.edited": "Project",
"project.structure.proportion": "0.15",
"project.structure.side.proportion": "0.0",
"run.code.analysis.last.selected.profile": "pProject Default",
"settings.editor.selected.configurable": "preferences.keymap"
},
&quot;keyToStringList&quot;: {
&quot;jdk.preference.JDK&quot;: [
&quot;17=C:/Users/adamn/.jdks/corretto-17.0.14&quot;
"keyToStringList": {
"jdk.preference.JDK": [
"17=C:/Users/adamn/.jdks/corretto-17.0.14"
]
}
}</component>
}]]></component>
<component name="RecentsManager">
<key name="CopyFile.RECENT_KEYS">
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\sounds" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\textures\block" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\textures\item" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\data\tfmg\recipes" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\sounds" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\models\block\engine_gearbox" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\models\block\concrete_hose" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\models\block" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\assets\tfmg\models\block\copper_encased_sigma" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources\data\tfmg" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources" />
<recent name="C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\run\saves" />
</key>
<key name="CopyClassDialog.RECENTS_KEY">
<recent name="com.drmangotea.tfmg.recipes" />
<recent name="com.drmangotea.tfmg.content.electricity.measurement" />
<recent name="com.drmangotea.tfmg.content.engines.types.regular_engine" />
<recent name="com.drmangotea.tfmg.content.machinery.vat.industrial_mixer" />
<recent name="com.drmangotea.tfmg.ponder" />
<recent name="com.drmangotea.tfmg.content.electricity.generators.large_generator" />
</key>
</component>
<component name="RunManager" selected="Gradle.Create-The_Factory_Must_Grow [runClient]">
@@ -229,10 +328,33 @@
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
<configuration name="Create-The_Factory_Must_Grow [runGameTestServer]" type="GradleRunConfiguration" factoryName="Gradle" temporary="true">
<ExternalSystemSettings>
<option name="executionName" />
<option name="externalProjectPath" value="$PROJECT_DIR$" />
<option name="externalSystemIdString" value="GRADLE" />
<option name="scriptParameters" />
<option name="taskDescriptions">
<list />
</option>
<option name="taskNames">
<list>
<option value="runGameTestServer" />
</list>
</option>
<option name="vmOptions" />
</ExternalSystemSettings>
<ExternalSystemDebugServerProcess>true</ExternalSystemDebugServerProcess>
<ExternalSystemReattachDebugProcess>true</ExternalSystemReattachDebugProcess>
<DebugAllEnabled>false</DebugAllEnabled>
<RunAsTest>false</RunAsTest>
<method v="2" />
</configuration>
<recent_temporary>
<list>
<item itemvalue="Gradle.Create-The_Factory_Must_Grow [runClient]" />
<item itemvalue="Gradle.Create-The_Factory_Must_Grow [runData]" />
<item itemvalue="Gradle.Create-The_Factory_Must_Grow [runGameTestServer]" />
<item itemvalue="Gradle.Create-The_Factory_Must_Grow [build]" />
</list>
</recent_temporary>
@@ -302,7 +424,15 @@
<option name="project" value="LOCAL" />
<updated>1746906024466</updated>
</task>
<option name="localTasksCounter" value="8" />
<task id="LOCAL-00008" summary="more stuff">
<option name="closed" value="true" />
<created>1747076159695</created>
<option name="number" value="00008" />
<option name="presentableId" value="LOCAL-00008" />
<option name="project" value="LOCAL" />
<updated>1747076159695</updated>
</task>
<option name="localTasksCounter" value="9" />
<servers />
</component>
<component name="VcsManagerConfiguration">
@@ -314,6 +444,7 @@
<MESSAGE value="stuffffffffffffff" />
<MESSAGE value="stufffffffffffffff" />
<MESSAGE value="stufff" />
<option name="LAST_COMMIT_MESSAGE" value="stufff" />
<MESSAGE value="more stuff" />
<option name="LAST_COMMIT_MESSAGE" value="more stuff" />
</component>
</project>

View File

@@ -29,4 +29,4 @@ mod_license=MIT
mod_version=1.0
mod_group_id=com.drmangotea
mod_authors= DrMangoTea, Pepa, Luna
mod_description=
mod_description= Create: The Factory Must Grow brings the age of steel, oil and electricity to the Create mod

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -1,85 +1,86 @@
[10May2025 10:06:07.092] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgedatauserdev, --assetIndex, 5, --assetsDir, C:\Users\adamn\.gradle\caches\forge_gradle\assets, --gameDir, ., --fml.forgeVersion, 47.3.10, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412, --mod, tfmg, --all, --output, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\generated\resources, --existing, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources]
[10May2025 10:06:07.112] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.12 by Oracle Corporation; OS Windows 11 arch amd64 version 10.0
[10May2025 10:06:07.281] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is forgedatauserdev
[10May2025 10:06:07.337] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/adamn/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar%23128!/ Service=ModLauncher Env=CLIENT
[10May2025 10:06:07.776] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\javafmllanguage\1.20.1-47.3.10\7a15037366722893d76a3d0b2e9d1fd13a63a22d\javafmllanguage-1.20.1-47.3.10.jar is missing mods.toml file
[10May2025 10:06:07.781] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\lowcodelanguage\1.20.1-47.3.10\e67d9b3451d64ccc812cbbd33c066bd3ebbf2167\lowcodelanguage-1.20.1-47.3.10.jar is missing mods.toml file
[10May2025 10:06:07.786] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\mclanguage\1.20.1-47.3.10\2023f9726a509c5ba5a925cac934944066093de8\mclanguage-1.20.1-47.3.10.jar is missing mods.toml file
[10May2025 10:06:07.790] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlcore\1.20.1-47.3.10\523aa0cd9a773b2b56268d8689b2fb5c1f072941\fmlcore-1.20.1-47.3.10.jar is missing mods.toml file
[10May2025 10:06:08.126] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 1 dependencies adding them to mods collection
[10May2025 10:06:11.464] [main/INFO] [mixin/]: Compatibility level set to JAVA_17
[10May2025 10:06:11.491] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgedatauserdev' with arguments [--gameDir, ., --assetsDir, C:\Users\adamn\.gradle\caches\forge_gradle\assets, --assetIndex, 5, --mod, tfmg, --all, --output, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\generated\resources, --existing, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources]
[10May2025 10:06:12.068] [main/INFO] [mixin/]: Remapping refMap backend-flywheel.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[10May2025 10:06:12.071] [main/INFO] [mixin/]: Remapping refMap flywheel.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[10May2025 10:06:12.073] [main/INFO] [mixin/]: Remapping refMap ponder.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[10May2025 10:06:12.076] [main/INFO] [mixin/]: Remapping refMap ponder.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[10May2025 10:06:12.081] [main/INFO] [mixin/]: Remapping refMap create.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[10May2025 10:06:12.781] [main/WARN] [mixin/]: Error loading class: journeymap/client/ui/fullscreen/Fullscreen (java.lang.ClassNotFoundException: journeymap.client.ui.fullscreen.Fullscreen)
[10May2025 10:06:12.781] [main/WARN] [mixin/]: @Mixin target journeymap.client.ui.fullscreen.Fullscreen was not found create.mixins.json:compat.JourneyFullscreenMapMixin
[10May2025 10:06:13.429] [main/INFO] [net.minecraftforge.data.loading.DatagenModLoader/]: Initializing Data Gatherer for mods [tfmg]
[10May2025 10:06:13.440] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1).
[10May2025 10:06:20.941] [modloading-worker-0/INFO] [com.simibubi.create.Create/]: Create 6.0.4 initializing! Commit hash: 501917e035dcd3181bb1bd6b4fe0552d3988b32a
[10May2025 10:06:20.994] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 47.3.10, for MC 1.20.1 with MCP 20230612.114412
[10May2025 10:06:20.996] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v47.3.10 Initialized
[10May2025 10:06:21.762] [modloading-worker-0/INFO] [mezz.jei.library.load.PluginCaller/]: Sending ConfigManager...
[10May2025 10:06:21.777] [modloading-worker-0/INFO] [mezz.jei.library.load.PluginCaller/]: Sending ConfigManager took 8.529 ms
[10May2025 10:06:25.173] [main/WARN] [net.minecraft.network.syncher.SynchedEntityData/]: defineId called for: class net.minecraft.world.entity.item.PrimedTnt from class com.drmangotea.tfmg.content.items.weapons.explosives.napalm.NapalmBombEntity
[10May2025 10:06:25.507] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/adamn/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.3.10_mapped_official_1.20.1/forge-1.20.1-47.3.10_mapped_official_1.20.1-recomp.jar%23191!/assets/.mcassetsroot' uses unexpected schema
[10May2025 10:06:25.508] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/adamn/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.3.10_mapped_official_1.20.1/forge-1.20.1-47.3.10_mapped_official_1.20.1-recomp.jar%23191!/data/.mcassetsroot' uses unexpected schema
[10May2025 10:06:26.130] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: Registrate Provider for tfmg [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
[10May2025 10:06:28.694] [main/INFO] [PonderIndex/]: Registering Ponder Scenes took 10.81 ms
[10May2025 10:06:28.699] [main/INFO] [PonderIndex/]: Registering Ponder Tags took 4.091 ms
[10May2025 10:06:28.700] [main/INFO] [PonderIndex/]: Collecting Shared Ponder Text took 824.8 μs
[10May2025 10:06:28.806] [main/INFO] [net.minecraft.data.DataGenerator/]: Registrate Provider for tfmg [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] finished after 2675 ms
[10May2025 10:06:28.806] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: TFMG's Generated Registry Entries
[10May2025 10:06:28.836] [main/INFO] [net.minecraft.data.DataGenerator/]: TFMG's Generated Registry Entries finished after 29 ms
[10May2025 10:06:28.837] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: Recipes
[10May2025 10:06:28.843] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (minecraft:dummy) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.859] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (minecraft:dummy) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.866] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (minecraft:dummy) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.871] [main/INFO] [com.simibubi.create.Create/]: Recipes registered 7 recipes
[10May2025 10:06:28.871] [main/INFO] [net.minecraft.data.DataGenerator/]: Recipes finished after 33 ms
[10May2025 10:06:28.871] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: TFMG's Recipes
[10May2025 10:06:28.874] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.874] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel_from_raw_iron) has more item inputs (3) than supported (2).
[10May2025 10:06:28.874] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel_from_raw_iron) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.874] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel_from_dust) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.874] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 3 recipes
[10May2025 10:06:28.875] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:casting recipe (tfmg:steel) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.875] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:casting recipe (tfmg:silicon) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.875] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 2 recipes
[10May2025 10:06:28.876] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:neon) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.876] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:plastic_from_ethylene) specified a heat condition. Heat conditions have no impact on this type of recipe.
[10May2025 10:06:28.876] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:plastic_from_propylene) specified a heat condition. Heat conditions have no impact on this type of recipe.
[10May2025 10:06:28.876] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:etched_circuit_board) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.877] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:aluminum) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.877] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:aluminum) specified a heat condition. Heat conditions have no impact on this type of recipe.
[10May2025 10:06:28.877] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 9 recipes
[10May2025 10:06:28.917] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 271 recipes
[10May2025 10:06:28.922] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 8 recipes
[10May2025 10:06:28.928] [main/INFO] [net.minecraft.data.DataGenerator/]: TFMG's Recipes finished after 56 ms
[10May2025 10:06:28.928] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: TFMG's Processing Recipes
[10May2025 10:06:28.928] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:cast_iron_ingot) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.929] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:aluminum_ingot) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.929] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:lead_ingot) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.929] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:nickel_ingot) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.929] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:synthetic_leather) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.929] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 5 recipes
[10May2025 10:06:28.929] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:coking recipe (tfmg:coal) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.930] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:coking recipe (tfmg:charcoal) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.930] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 2 recipes
[10May2025 10:06:28.930] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 6 recipes
[10May2025 10:06:28.930] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (tfmg:electromagnetic_coil) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.931] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (tfmg:resistor) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.931] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 2 recipes
[10May2025 10:06:28.931] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 1 recipe
[10May2025 10:06:28.931] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:hot_blast recipe (tfmg:hot_air) specified a duration. Durations have no impact on this type of recipe.
[10May2025 10:06:28.931] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 1 recipe
[10May2025 10:06:28.932] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 4 recipes
[10May2025 10:06:28.933] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 12 recipes
[10May2025 10:06:28.934] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 13 recipes
[10May2025 10:06:28.935] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 9 recipes
[10May2025 10:06:28.935] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 7 recipes
[10May2025 10:06:28.936] [main/INFO] [net.minecraft.data.DataGenerator/]: TFMG's Processing Recipes finished after 8 ms
[10May2025 10:06:28.936] [main/INFO] [net.minecraft.data.DataGenerator/]: All providers took: 2807 ms
[10May2025 10:06:29.065] [main/INFO] [net.minecraft.data.HashCache/]: Caching: total files: 3311, old count: 3279, new count: 3310, removed stale: 2, written: 32
[21May2025 21:58:09.397] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher running: args [--launchTarget, forgedatauserdev, --assetIndex, 5, --assetsDir, C:\Users\adamn\.gradle\caches\forge_gradle\assets, --gameDir, ., --fml.forgeVersion, 47.3.10, --fml.mcVersion, 1.20.1, --fml.forgeGroup, net.minecraftforge, --fml.mcpVersion, 20230612.114412, --mod, tfmg, --all, --output, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\generated\resources, --existing, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources]
[21May2025 21:58:09.405] [main/INFO] [cpw.mods.modlauncher.Launcher/MODLAUNCHER]: ModLauncher 10.0.9+10.0.9+main.dcd20f30 starting: java version 17.0.12 by Oracle Corporation; OS Windows 11 arch amd64 version 10.0
[21May2025 21:58:09.534] [main/INFO] [net.minecraftforge.fml.loading.ImmediateWindowHandler/]: ImmediateWindowProvider not loading because launch target is forgedatauserdev
[21May2025 21:58:09.596] [main/INFO] [mixin/]: SpongePowered MIXIN Subsystem Version=0.8.5 Source=union:/C:/Users/adamn/.gradle/caches/modules-2/files-2.1/org.spongepowered/mixin/0.8.5/9d1c0c3a304ae6697ecd477218fa61b850bf57fc/mixin-0.8.5.jar%23128!/ Service=ModLauncher Env=CLIENT
[21May2025 21:58:10.077] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\javafmllanguage\1.20.1-47.3.10\7a15037366722893d76a3d0b2e9d1fd13a63a22d\javafmllanguage-1.20.1-47.3.10.jar is missing mods.toml file
[21May2025 21:58:10.083] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\lowcodelanguage\1.20.1-47.3.10\e67d9b3451d64ccc812cbbd33c066bd3ebbf2167\lowcodelanguage-1.20.1-47.3.10.jar is missing mods.toml file
[21May2025 21:58:10.090] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\mclanguage\1.20.1-47.3.10\2023f9726a509c5ba5a925cac934944066093de8\mclanguage-1.20.1-47.3.10.jar is missing mods.toml file
[21May2025 21:58:10.095] [main/WARN] [net.minecraftforge.fml.loading.moddiscovery.ModFileParser/LOADING]: Mod file C:\Users\adamn\.gradle\caches\modules-2\files-2.1\net.minecraftforge\fmlcore\1.20.1-47.3.10\523aa0cd9a773b2b56268d8689b2fb5c1f072941\fmlcore-1.20.1-47.3.10.jar is missing mods.toml file
[21May2025 21:58:10.360] [main/INFO] [net.minecraftforge.fml.loading.moddiscovery.JarInJarDependencyLocator/]: Found 1 dependencies adding them to mods collection
[21May2025 21:58:13.786] [main/INFO] [mixin/]: Compatibility level set to JAVA_17
[21May2025 21:58:13.799] [main/INFO] [cpw.mods.modlauncher.LaunchServiceHandler/MODLAUNCHER]: Launching target 'forgedatauserdev' with arguments [--gameDir, ., --assetsDir, C:\Users\adamn\.gradle\caches\forge_gradle\assets, --assetIndex, 5, --mod, tfmg, --all, --output, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\generated\resources, --existing, C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\src\main\resources]
[21May2025 21:58:14.354] [main/INFO] [mixin/]: Remapping refMap backend-flywheel.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[21May2025 21:58:14.357] [main/INFO] [mixin/]: Remapping refMap flywheel.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[21May2025 21:58:14.359] [main/INFO] [mixin/]: Remapping refMap ponder.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[21May2025 21:58:14.360] [main/INFO] [mixin/]: Remapping refMap ponder.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[21May2025 21:58:14.365] [main/INFO] [mixin/]: Remapping refMap create.refmap.json using C:\Users\adamn\Documents\minecraft\mods\Create-The_Factory_Must_Grow\build\createSrgToMcp\output.srg
[21May2025 21:58:14.992] [main/WARN] [mixin/]: Error loading class: journeymap/client/ui/fullscreen/Fullscreen (java.lang.ClassNotFoundException: journeymap.client.ui.fullscreen.Fullscreen)
[21May2025 21:58:14.992] [main/WARN] [mixin/]: @Mixin target journeymap.client.ui.fullscreen.Fullscreen was not found create.mixins.json:compat.JourneyFullscreenMapMixin
[21May2025 21:58:15.661] [main/INFO] [net.minecraftforge.data.loading.DatagenModLoader/]: Initializing Data Gatherer for mods [tfmg]
[21May2025 21:58:15.669] [main/INFO] [MixinExtras|Service/]: Initializing MixinExtras via com.llamalad7.mixinextras.service.MixinExtrasServiceImpl(version=0.4.1).
[21May2025 21:58:22.466] [modloading-worker-0/INFO] [com.simibubi.create.Create/]: Create 6.0.4 initializing! Commit hash: 501917e035dcd3181bb1bd6b4fe0552d3988b32a
[21May2025 21:58:22.525] [modloading-worker-0/INFO] [net.minecraftforge.common.ForgeMod/FORGEMOD]: Forge mod loading, version 47.3.10, for MC 1.20.1 with MCP 20230612.114412
[21May2025 21:58:22.526] [modloading-worker-0/INFO] [net.minecraftforge.common.MinecraftForge/FORGE]: MinecraftForge v47.3.10 Initialized
[21May2025 21:58:23.420] [modloading-worker-0/INFO] [mezz.jei.library.load.PluginCaller/]: Sending ConfigManager...
[21May2025 21:58:23.430] [modloading-worker-0/INFO] [mezz.jei.library.load.PluginCaller/]: Sending ConfigManager took 6.591 ms
[21May2025 21:58:27.068] [main/WARN] [net.minecraft.network.syncher.SynchedEntityData/]: defineId called for: class net.minecraft.world.entity.item.PrimedTnt from class com.drmangotea.tfmg.content.items.weapons.explosives.napalm.NapalmBombEntity
[21May2025 21:58:27.369] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/adamn/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.3.10_mapped_official_1.20.1/forge-1.20.1-47.3.10_mapped_official_1.20.1-recomp.jar%23191!/assets/.mcassetsroot' uses unexpected schema
[21May2025 21:58:27.370] [main/WARN] [net.minecraft.server.packs.VanillaPackResourcesBuilder/]: Assets URL 'union:/C:/Users/adamn/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.20.1-47.3.10_mapped_official_1.20.1/forge-1.20.1-47.3.10_mapped_official_1.20.1-recomp.jar%23191!/data/.mcassetsroot' uses unexpected schema
[21May2025 21:58:28.014] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: Registrate Provider for tfmg [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
[21May2025 21:58:30.654] [main/INFO] [PonderIndex/]: Registering Ponder Scenes took 8.683 ms
[21May2025 21:58:30.657] [main/INFO] [PonderIndex/]: Registering Ponder Tags took 3.216 ms
[21May2025 21:58:30.658] [main/INFO] [PonderIndex/]: Collecting Shared Ponder Text took 527.8 μs
[21May2025 21:58:30.772] [main/INFO] [net.minecraft.data.DataGenerator/]: Registrate Provider for tfmg [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)] finished after 2756 ms
[21May2025 21:58:30.772] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: TFMG's Generated Registry Entries
[21May2025 21:58:30.799] [main/INFO] [net.minecraft.data.DataGenerator/]: TFMG's Generated Registry Entries finished after 27 ms
[21May2025 21:58:30.799] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: Recipes
[21May2025 21:58:30.807] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (minecraft:dummy) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.819] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (minecraft:dummy) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.827] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (minecraft:dummy) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.832] [main/INFO] [com.simibubi.create.Create/]: Recipes registered 8 recipes
[21May2025 21:58:30.832] [main/INFO] [net.minecraft.data.DataGenerator/]: Recipes finished after 32 ms
[21May2025 21:58:30.832] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: TFMG's Recipes
[21May2025 21:58:30.834] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:silicon) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.836] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.836] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel_from_raw_iron) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.836] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:industrial_blasting recipe (tfmg:steel_from_dust) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.836] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 4 recipes
[21May2025 21:58:30.836] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:casting recipe (tfmg:steel) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.837] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:casting recipe (tfmg:silicon) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.837] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 2 recipes
[21May2025 21:58:30.837] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:arc_furnace_steel) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.837] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:neon) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.837] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:plastic_from_ethylene) specified a heat condition. Heat conditions have no impact on this type of recipe.
[21May2025 21:58:30.838] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:plastic_from_propylene) specified a heat condition. Heat conditions have no impact on this type of recipe.
[21May2025 21:58:30.838] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:etched_circuit_board) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.838] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:aluminum) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.838] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:vat_machine_recipe recipe (tfmg:aluminum) specified a heat condition. Heat conditions have no impact on this type of recipe.
[21May2025 21:58:30.838] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 9 recipes
[21May2025 21:58:30.881] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 273 recipes
[21May2025 21:58:30.883] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 8 recipes
[21May2025 21:58:30.884] [main/INFO] [net.minecraft.data.DataGenerator/]: TFMG's Recipes finished after 51 ms
[21May2025 21:58:30.884] [main/INFO] [net.minecraft.data.DataGenerator/]: Starting provider: TFMG's Processing Recipes
[21May2025 21:58:30.884] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:cast_iron_ingot) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.884] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:aluminum_ingot) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.884] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:lead_ingot) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.885] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:nickel_ingot) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.885] [main/WARN] [com.simibubi.create.Create/]: Your custom create:pressing recipe (tfmg:synthetic_leather) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.885] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 5 recipes
[21May2025 21:58:30.885] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:coking recipe (tfmg:coal) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.885] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:coking recipe (tfmg:charcoal) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.885] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 2 recipes
[21May2025 21:58:30.886] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 6 recipes
[21May2025 21:58:30.886] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (tfmg:electromagnetic_coil) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.887] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:winding recipe (tfmg:resistor) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.887] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 2 recipes
[21May2025 21:58:30.887] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 1 recipe
[21May2025 21:58:30.887] [main/WARN] [com.simibubi.create.Create/]: Your custom tfmg:hot_blast recipe (tfmg:hot_air) specified a duration. Durations have no impact on this type of recipe.
[21May2025 21:58:30.888] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 1 recipe
[21May2025 21:58:30.888] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 4 recipes
[21May2025 21:58:30.889] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 12 recipes
[21May2025 21:58:30.890] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 16 recipes
[21May2025 21:58:30.891] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 9 recipes
[21May2025 21:58:30.892] [main/INFO] [com.drmangotea.tfmg.TFMG/]: Recipes registered 8 recipes
[21May2025 21:58:30.892] [main/INFO] [net.minecraft.data.DataGenerator/]: TFMG's Processing Recipes finished after 8 ms
[21May2025 21:58:30.892] [main/INFO] [net.minecraft.data.DataGenerator/]: All providers took: 2878 ms
[21May2025 21:58:31.032] [main/INFO] [net.minecraft.data.HashCache/]: Caching: total files: 3319, old count: 3319, new count: 3320, removed stale: 0, written: 2

View File

@@ -62,7 +62,7 @@
#.
#Sets the maximum charging rate of accumulators.
#Range: > 1
accumulatorChargingRate = 1000
accumulatorChargingRate = 100
#.
#Firebox
@@ -111,6 +111,14 @@
#Range: > 1
blastFurnaceFuelConsumption = 600
#.
#Engines
[machines.engines]
#.
#Changes the volume of engines.
#Range: 0.0 ~ 3.4028234663852886E38
engineLoudness = 1.0
#.
#Worldgen Settings
[deposits]

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -126,37 +126,37 @@ key_ponder.keyinfo.ponder:key.keyboard.w
key_create.keyinfo.toolmenu:key.keyboard.left.alt
key_create.keyinfo.toolbelt:key.keyboard.left.alt
key_create.keyinfo.rotate_menu:key.keyboard.unknown
key_key.jei.bookmark:key.keyboard.a
key_key.jei.toggleOverlay:key.keyboard.o:CONTROL
key_key.jei.showUses2:key.mouse.right
key_key.jei.cheatOneItem2:key.mouse.right
key_key.jei.nextSearch:key.keyboard.down
key_key.jei.cheatOneItem:key.mouse.left
key_key.jei.closeRecipeGui:key.keyboard.escape
key_key.jei.recipeBack:key.keyboard.backspace
key_key.jei.nextRecipePage:key.keyboard.page.down
key_key.jei.cheatItemStack:key.mouse.left:SHIFT
key_key.jei.previousPage:key.keyboard.unknown
key_key.jei.cheatItemStack2:key.mouse.middle
key_key.jei.previousRecipePage:key.keyboard.page.up
key_key.jei.toggleEditMode:key.keyboard.unknown
key_key.jei.focusSearch:key.keyboard.f:CONTROL
key_key.jei.nextCategory:key.keyboard.page.down:SHIFT
key_key.jei.nextPage:key.keyboard.unknown
key_key.jei.toggleBookmarkOverlay:key.keyboard.unknown
key_key.jei.previousSearch:key.keyboard.up
key_key.jei.nextSearch:key.keyboard.down
key_key.jei.showUses:key.keyboard.u
key_key.jei.showRecipe2:key.mouse.left
key_key.jei.previousRecipePage:key.keyboard.page.up
key_key.jei.bookmark:key.keyboard.a
key_key.jei.cheatItemStack:key.mouse.left:SHIFT
key_key.jei.clearSearchBar:key.mouse.right
key_key.jei.recipeBack:key.keyboard.backspace
key_key.jei.previousPage:key.keyboard.unknown
key_key.jei.toggleCheatModeConfigButton:key.mouse.left:CONTROL
key_key.jei.showRecipe:key.keyboard.r
key_key.jei.nextRecipePage:key.keyboard.page.down
key_key.jei.cheatOneItem:key.mouse.left
key_key.jei.toggleHideIngredient:key.mouse.left:CONTROL
key_key.jei.toggleCheatMode:key.keyboard.unknown
key_key.jei.focusSearch:key.keyboard.f:CONTROL
key_key.jei.cheatItemStack2:key.mouse.middle
key_key.jei.toggleWildcardHideIngredient:key.mouse.right:CONTROL
key_key.jei.nextCategory:key.keyboard.page.down:SHIFT
key_key.jei.transferRecipeBookmark:key.mouse.left:SHIFT
key_key.jei.showRecipe2:key.mouse.left
key_key.jei.toggleBookmarkOverlay:key.keyboard.unknown
key_key.jei.nextPage:key.keyboard.unknown
key_key.jei.showRecipe:key.keyboard.r
key_key.jei.clearSearchBar:key.mouse.right
key_key.jei.previousSearch:key.keyboard.up
key_key.jei.previousCategory:key.keyboard.page.up:SHIFT
key_key.jei.maxTransferRecipeBookmark:key.mouse.left:CONTROL
key_key.jei.toggleCheatModeConfigButton:key.mouse.left:CONTROL
key_key.jei.copy.recipe.id:key.keyboard.unknown
key_key.jei.showUses:key.keyboard.u
key_key.jei.closeRecipeGui:key.keyboard.escape
key_key.jei.transferRecipeBookmark:key.mouse.left:SHIFT
key_key.jei.toggleOverlay:key.keyboard.o:CONTROL
key_key.jei.maxTransferRecipeBookmark:key.mouse.left:CONTROL
key_key.jei.showUses2:key.mouse.right
key_key.jei.cheatOneItem2:key.mouse.right
key_key.jei.previousCategory:key.keyboard.page.up:SHIFT
soundCategory_master:1.0
soundCategory_music:0.0
soundCategory_record:1.0

View File

@@ -1 +1 @@
[{"name":"Dev","uuid":"380df991-f603-344c-a090-369bad2a924a","expiresOn":"2025-06-12 20:47:54 +0200"}]
[{"name":"Dev","uuid":"380df991-f603-344c-a090-369bad2a924a","expiresOn":"2025-06-21 22:02:37 +0200"}]

View File

@@ -1,4 +1,4 @@
// 1.20.1 2025-05-09T20:53:05.2811349 TFMG's Processing Recipes
// 1.20.1 2025-05-21T20:34:33.0529958 TFMG's Processing Recipes
ae24d73a2ef5b8059806e660641bcb9dff2a15f4 data/tfmg/recipes/coking/charcoal.json
9000fbf96dc2c2b822aa4e526b1c8686d5413e5a data/tfmg/recipes/coking/coal.json
0615633ddeaab98905fba9020ecb9d0fbac32fcc data/tfmg/recipes/compacting/aluminum_ingot.json
@@ -14,6 +14,7 @@ f8f004cce2acbbf02207433e88df3e1f3d155053 data/tfmg/recipes/crushing/bauxite.json
6c8b2797938c86e8bf21508db782f19e6fa1c5d2 data/tfmg/recipes/crushing/coal_coke.json
45266f40ad082ae192242067acdd148fd738bb81 data/tfmg/recipes/crushing/copper_sulfate.json
c66b8e651bf39232afca35da09b82fc1af29a8d6 data/tfmg/recipes/crushing/dirt.json
ced4aa7fb9a039d9144959a17381c83d324222a2 data/tfmg/recipes/crushing/galena.json
46ede7a2a24bb1f7949ad6e98466a47fdb9ee759 data/tfmg/recipes/crushing/lignite.json
b12cbfd32b1c386b4cc8f28480f36937d756e0cd data/tfmg/recipes/crushing/limestone.json
f218b0fa35bdb632066225082134f6ba297d49fb data/tfmg/recipes/crushing/sulfur.json
@@ -45,13 +46,16 @@ e025109b51e8c82579970379716072470d578cf8 data/tfmg/recipes/mixing/asphalt_mixtur
4005a79190133704f6d399dc48cf5a41a8f7ae44 data/tfmg/recipes/mixing/cement.json
d6c254e0ba2531195eaeffc235628a4b405f96bb data/tfmg/recipes/mixing/concrete_mixture.json
5c6dfae267284b5e4dc1fc6a386172f1525c394f data/tfmg/recipes/mixing/concrete_mixture_from_slag.json
2e18e9bc94680dcb6d7f6f84246f739fbec7a214 data/tfmg/recipes/mixing/constantan.json
e8c5783e5b93e9e66417c8d73aa684ab96f43cd6 data/tfmg/recipes/mixing/cooling_fluid.json
d0b6208fbe3a36bbab8f93ccd5e11cafcdc348ea data/tfmg/recipes/mixing/copper_sulfate.json
78d5ad5111a8daa6ba7943f2d49ca479a440347a data/tfmg/recipes/mixing/gunpowder.json
d005e893f5920c8c410c978b02723587f64f9779 data/tfmg/recipes/mixing/liquid_asphalt.json
31092ad453356efe10f4ac4e8b7d8c4964d75699 data/tfmg/recipes/mixing/liquid_concrete.json
1ca93cceb634c19dbe4c576ac409aa035629ef4a data/tfmg/recipes/mixing/magnetic_alloy.json
5cec7d55327f7340ca037b55d9ce5142ed04d20c data/tfmg/recipes/mixing/magnetic_alloy.json
91a5223d59ba418922a8d9738dd13f2464ec426a data/tfmg/recipes/mixing/napalm.json
4d0f6abaac9dcabcd2fe5cdb647c4e301508f3b8 data/tfmg/recipes/mixing/n_semiconductor.json
693355c65c5a7da122dc8e305241e25063bd99d5 data/tfmg/recipes/mixing/p_semiconductor.json
8799991718c10d5abcc89bf205756fdb2849a2e0 data/tfmg/recipes/mixing/thermite.json
499dddbb8a717629960cbbb1513102dc219800ef data/tfmg/recipes/polarizing/magnet.json
afc122bccc8ab383b52732fa6fdf18fe2464c7ae data/tfmg/recipes/pressing/aluminum_ingot.json
@@ -60,4 +64,4 @@ b527cf71f4ad61fecc6d001f68905848128235a5 data/tfmg/recipes/pressing/lead_ingot.j
26c57e64b3d9ec56f92f89732adcd7e2fa1a5801 data/tfmg/recipes/pressing/nickel_ingot.json
3cd7243dc9f9d95ecfb8ec1cc560ac2c047b0bfa data/tfmg/recipes/pressing/synthetic_leather.json
b9cabd88bc2b0f7cbcc3d02f12d0c78f9f2101d7 data/tfmg/recipes/winding/electromagnetic_coil.json
ad08a4a78e5ab235386451d67aa01e75bf9b2caf data/tfmg/recipes/winding/resistor.json
d92d7979e880bfa2675b0d7c9c7f2be4c8c735ee data/tfmg/recipes/winding/resistor.json

View File

@@ -1,8 +1,9 @@
// 1.20.1 2025-05-01T12:33:45.0007106 Recipes
// 1.20.1 2025-05-18T19:10:00.8597715 Recipes
8e18331462285f0f09e5897f4cd797c89b6ffc23 data/tfmg/recipes/sequenced_assembly/capacitor.json
782800c146c9d0485149cf0c1c552274ca6e78da data/tfmg/recipes/sequenced_assembly/generator.json
dccab49e30da3844d2cb20876c3269e675fad5c1 data/tfmg/recipes/sequenced_assembly/heavy_plate.json
5813e728507b3c3e11868f8e8ea7771f002ca54b data/tfmg/recipes/sequenced_assembly/motor.json
6943441658b1aa9175e6dce859896609b2d7aa28 data/tfmg/recipes/sequenced_assembly/potentiometer.json
fa180f8f12a0e27125b0eae636afdd7c0309b1be data/tfmg/recipes/sequenced_assembly/steel_mechanism.json
70be470bb0b72de21713f1c0e08a529780a199c0 data/tfmg/recipes/sequenced_assembly/transistor.json
cdf0bd7304a854c1db7e9caf65e1490b146931c5 data/tfmg/recipes/sequenced_assembly/unfinished_circuit_board.json

View File

@@ -1,4 +1,4 @@
// 1.20.1 2025-05-10T10:06:28.9423315 TFMG's Recipes
// 1.20.1 2025-05-21T20:34:33.0539012 TFMG's Recipes
d779aa2cf2fca905473c494073443d0289484311 data/create/recipes/mechanical_crafting/engine_controller.json
dd795cb8dd376f621afb3773cadb99c409aaf875 data/create/recipes/mechanical_crafting/flamethrower.json
e4cd8dd7ad658d3c2d5785fe659aba0e1b9d4f31 data/create/recipes/mechanical_crafting/large_engine.json
@@ -73,6 +73,8 @@ f843351da31dfcd208ddf5ba356fb16d5f78e750 data/tfmg/advancements/recipes/misc/cra
f0c0494a804b404c1725a30403cbd962b38f2225 data/tfmg/advancements/recipes/misc/crafting/kinetics/cast_iron_smart_fluid_pipe.json
52cf5dad66401a7c81121db38f6eb3976d947773 data/tfmg/advancements/recipes/misc/crafting/kinetics/cast_iron_truss.json
acef1bdb1ebcc4dc4e2a4ff87d095143b3ec7d93 data/tfmg/advancements/recipes/misc/crafting/kinetics/centrifuge.json
dfcd0369c0ed2e5a4ddba2532124d0266caeadce data/tfmg/advancements/recipes/misc/crafting/kinetics/cinderflour_block.json
253ebc507223b42f88738b385658049739be8034 data/tfmg/advancements/recipes/misc/crafting/kinetics/cinder_block.json
2d40d44a40d0bb7cb171f1495c80a09ad6451b0a data/tfmg/advancements/recipes/misc/crafting/kinetics/circular_light.json
c73da291efb001998b09531f1f671320be0c73e4 data/tfmg/advancements/recipes/misc/crafting/kinetics/coal_coke.json
2d2c31498bb445b65639bccf8de9fe24fcdc5106 data/tfmg/advancements/recipes/misc/crafting/kinetics/coal_coke_block.json
@@ -114,7 +116,6 @@ a8f1f6a87e59462a27a5461bc56448b165f15626 data/tfmg/advancements/recipes/misc/cra
37b51523e094f8cd20ffc23d8d66809e55f4083f data/tfmg/advancements/recipes/misc/crafting/kinetics/fireproof_brick_reinforcement.json
3be6d3cec82220b8727973c4332734027e15009f data/tfmg/advancements/recipes/misc/crafting/kinetics/fireproof_chemical_vat.json
4e2b9eee7b3e07b485bfba1c14aef30a8affa1d2 data/tfmg/advancements/recipes/misc/crafting/kinetics/flarestack.json
de4886d243a449d6bc2ea3ae90ebdd572dfadd79 data/tfmg/advancements/recipes/misc/crafting/kinetics/fuse_block.json
744227e044d65aac553d20e453819f3f62794aa1 data/tfmg/advancements/recipes/misc/crafting/kinetics/glass_cable_insulator.json
f0859ba535b3711a210f4c92e51a79df1a9b0726 data/tfmg/advancements/recipes/misc/crafting/kinetics/glass_insulator_segment.json
d837806286dbf97a2fe52cc7958c567f28d79133 data/tfmg/advancements/recipes/misc/crafting/kinetics/gray_concrete.json
@@ -258,9 +259,10 @@ eb4bb87101f088c4678b280112ce7437790a4aed data/tfmg/advancements/recipes/misc/cra
d7175bb0b6e8a62b9fcf97329c5ee4ecb54be7fb data/tfmg/advancements/recipes/misc/crafting/kinetics/traffic_light.json
9923811c33b9e1898c7773d008d142b0188c8d76 data/tfmg/advancements/recipes/misc/crafting/kinetics/transformer.json
08541d155ce5b2268bd93a382107380f38e1543c data/tfmg/advancements/recipes/misc/crafting/kinetics/transmission.json
48fe7d8aa1210435799a631d3efe768da0aea475 data/tfmg/advancements/recipes/misc/crafting/kinetics/turbine_blade.json
519c17270631a55f44b319e4322cfabdcaac7720 data/tfmg/advancements/recipes/misc/crafting/kinetics/turbine_engine.json
12a11c54fbc8ab63328d286b4ed7b5497c770983 data/tfmg/advancements/recipes/misc/crafting/kinetics/turbo.json
d65e511c99cd724b482cbdb879d8e07a252dc5b6 data/tfmg/advancements/recipes/misc/crafting/kinetics/unfinished_resistor.json
065c3d69c24697e32fbc6205f0c66357345863e6 data/tfmg/advancements/recipes/misc/crafting/kinetics/unfinished_resistorfrom_slime.json
206cfd8ea696578a3eb3d2530f80687d7eeb6236 data/tfmg/advancements/recipes/misc/crafting/kinetics/voltage_observer.json
eb2f906386fcfce680ed71b42eb0250ebb897616 data/tfmg/advancements/recipes/misc/crafting/kinetics/voltmeter.json
ea0daa41506268cb3020939be177ef36220d4f10 data/tfmg/advancements/recipes/misc/crafting/kinetics/white_concrete.json
@@ -346,6 +348,8 @@ d7f6860a883070c7592b43ba5596da25a049031b data/tfmg/recipes/crafting/kinetics/cas
673ec952e1dc35aee81fd935a2794525aafc7e48 data/tfmg/recipes/crafting/kinetics/cast_iron_smart_fluid_pipe.json
7ea5e8287397295280d7efd016dc4e73cfb649a0 data/tfmg/recipes/crafting/kinetics/cast_iron_truss.json
85abc110ea8e3a3455d89fbbc77fea773042fe6c data/tfmg/recipes/crafting/kinetics/centrifuge.json
c6f68175cec68fa42a680bb9f99eba9c8ab8befd data/tfmg/recipes/crafting/kinetics/cinderflour_block.json
ca670cb8ce6d420a34fbf351f9e98129a6f1a046 data/tfmg/recipes/crafting/kinetics/cinder_block.json
fce029f6ee5eac9d942f619fe4383bbc131f9af4 data/tfmg/recipes/crafting/kinetics/circular_light.json
c0c33147577ebbab38f8020da5ddc797a8059842 data/tfmg/recipes/crafting/kinetics/coal_coke.json
8065d0a5d02e19bf673368326a23638e35e38551 data/tfmg/recipes/crafting/kinetics/coal_coke_block.json
@@ -387,7 +391,6 @@ f0e2aec128a30fae742ed4ae9f6ed1fdc3f26f90 data/tfmg/recipes/crafting/kinetics/fir
5ecda2730f1c491be0ef82a43a00cbb373d2c9ac data/tfmg/recipes/crafting/kinetics/fireproof_brick_reinforcement.json
f1f495ba78a850d92601d63221de6dfb55f6ca17 data/tfmg/recipes/crafting/kinetics/fireproof_chemical_vat.json
02df355b7df73f97a44f7308223fc052098e1fa1 data/tfmg/recipes/crafting/kinetics/flarestack.json
a7ab7113fa322747bf249695a0616d8f2e01299a data/tfmg/recipes/crafting/kinetics/fuse_block.json
2206abd056a349f73e052109638d31dacbfd064c data/tfmg/recipes/crafting/kinetics/glass_cable_insulator.json
011bb0040f193bac1fd585f560705a2b1b1fd333 data/tfmg/recipes/crafting/kinetics/glass_insulator_segment.json
c96069b5c7156bcfcfc77b7beeec762e2d7324f1 data/tfmg/recipes/crafting/kinetics/gray_concrete.json
@@ -531,9 +534,10 @@ aa978f85d3bdbbadad2089aaa5779e2217d88eed data/tfmg/recipes/crafting/kinetics/the
b1050ac6cc5e2b4194d935969c9336a71a980851 data/tfmg/recipes/crafting/kinetics/traffic_light.json
a6bca70746588176a2fb37fbdde3c3e95988ed83 data/tfmg/recipes/crafting/kinetics/transformer.json
c97a40119329b1f075ecb3eb4c64325ce62c64a5 data/tfmg/recipes/crafting/kinetics/transmission.json
732aaf6a9498688799cb023630bedb308f2f0cdc data/tfmg/recipes/crafting/kinetics/turbine_blade.json
7a93ec3833ac7d7709718442486cff899f870ace data/tfmg/recipes/crafting/kinetics/turbine_engine.json
f5984b5d3c82f4605f08a88d16aa2fdfec5482fb data/tfmg/recipes/crafting/kinetics/turbo.json
f4b78d2293045114fdefb5b92c4d4bcc9bd26f29 data/tfmg/recipes/crafting/kinetics/unfinished_resistor.json
7c21eabc1576d80b5cf111306ff2859421a838b2 data/tfmg/recipes/crafting/kinetics/unfinished_resistorfrom_slime.json
6ca672214a0639fbc93502774aff5e5a60650018 data/tfmg/recipes/crafting/kinetics/voltage_observer.json
e2ec2eaf75166a30f3c9749e335c167793b54c14 data/tfmg/recipes/crafting/kinetics/voltmeter.json
5c740c1158f8cb1a928a1f79cd2eac2d13d80f1a data/tfmg/recipes/crafting/kinetics/white_concrete.json
@@ -546,16 +550,17 @@ c09b785b8b182879ae71ab49e6604f6b1cf53ec1 data/tfmg/recipes/crafting/kinetics/yel
b673506b5ef4dd9ea08cc070b3f9f3fc01fa4398 data/tfmg/recipes/crafting/kinetics/zinc_frame.json
56135df98436c7ff10516c4852cdddaef2367b53 data/tfmg/recipes/crafting/kinetics/zinc_grenade.json
4871336f9af956193ba3ff11467403b155f15208 data/tfmg/recipes/crafting/kinetics/zinc_truss.json
872854966cfd36b3daad167154fe8facde81c178 data/tfmg/recipes/industrial_blasting/steel.json
89371168dfe95fea4668370207d4c32561e51bbc data/tfmg/recipes/industrial_blasting/steel_from_dust.json
84548133198c151af5abaf3acf3ba2ac32c3c706 data/tfmg/recipes/industrial_blasting/steel_from_raw_iron.json
f42ff60ced168f9b0905b9f23ad0041c16265165 data/tfmg/recipes/industrial_blasting/silicon.json
592fe34876b5314a3c339523860f90fb6312ae5c data/tfmg/recipes/industrial_blasting/steel.json
4691df4b385cfdd37eee42c5e760e0e503efb42c data/tfmg/recipes/industrial_blasting/steel_from_dust.json
d6f1c586376687c1a0acd3564144322ba8f8bf87 data/tfmg/recipes/industrial_blasting/steel_from_raw_iron.json
621d3a3478c52f86c74f18472a6551c93f528e95 data/tfmg/recipes/smelting/fireproof_brick.json
1d2e4cc2469bcb5c04b7cf42d2fd2cf7ccdf81c1 data/tfmg/recipes/smelting/lead_ingot.json
7486a4d715bddf22a61b45e2ce48d70fee6126ff data/tfmg/recipes/smelting/lithium_ingot.json
502ce34e16301ccc8b45f8545b2984c6adfc9b0b data/tfmg/recipes/smelting/nickel_ingot.json
85ce7ad0491b53460e0ec02f218d8ffb6d7a7298 data/tfmg/recipes/smelting/unfinished_insulator.json
7b044ce3df365bd9ca2ac9c2dd064a934c306d1b data/tfmg/recipes/vat_machine_recipe/aluminum.json
ee275d21b2764c0d59f561de259e51bb1f56de95 data/tfmg/recipes/vat_machine_recipe/arc_furnace_steel.json
ed10f72cf5298f2f4558091e8b9e0e6cc489ffa2 data/tfmg/recipes/vat_machine_recipe/arc_furnace_steel.json
acf59f5e8adce2bce3b3ef41ccba69da4b43d047 data/tfmg/recipes/vat_machine_recipe/concrete.json
a3e28ff6bd207b6706fcf281c54a218c8b92e49e data/tfmg/recipes/vat_machine_recipe/debug_5.json
3c27711ce60595c4b165b4a712d307bd3143c534 data/tfmg/recipes/vat_machine_recipe/etched_circuit_board.json

View File

@@ -1,4 +1,4 @@
// 1.20.1 2025-05-10T09:58:50.664261 Registrate Provider for tfmg [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
// 1.20.1 2025-05-21T21:58:30.8947573 Registrate Provider for tfmg [Recipes, Advancements, Loot Tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
ff5a5721633b83465ab501cbdfdc579a0f20e938 assets/tfmg/blockstates/accumulator.json
e982a263b6af75821042107fdeff7bd809436d08 assets/tfmg/blockstates/air_intake.json
e7f63aadfc892e337d9f87b5e50af8b1c7e4103f assets/tfmg/blockstates/aluminum_bars.json
@@ -163,7 +163,6 @@ fe071d9f7c86c74e47390c35709f6c59b71bfa59 assets/tfmg/blockstates/fireproof_brick
beb5fcedb0ce0ad1de2097ab749954e5256b3c83 assets/tfmg/blockstates/fireproof_chemical_vat.json
89257ec2fdb2f1d61cb229df606c7ffac47e4582 assets/tfmg/blockstates/flarestack.json
e74acd9562e4b46295cf017d17f2662e20a7f5ea assets/tfmg/blockstates/fossilstone.json
d44d576eebf63125dff21f1e71ae2c3dacd7419f assets/tfmg/blockstates/fuse_block.json
f2876beb7a70b63cf30209d0b25db0462b851c7f assets/tfmg/blockstates/galena.json
4325917750f83a2d70f07071af765b388b0df2df assets/tfmg/blockstates/galena_pillar.json
b0a3f4da5d9efdd01800c8b9738aee194565c6e7 assets/tfmg/blockstates/gasoline.json
@@ -413,7 +412,7 @@ e7bbd21def546ff0b7db68091c877da4ac3fe301 assets/tfmg/blockstates/sulfur.json
5a477cb69a83689c52ad333d7dbc3c4c93680c6d assets/tfmg/blockstates/surface_scanner.json
630732e33c7cab7e8a9f126bf3b5f0cc58d3c5fd assets/tfmg/blockstates/traffic_light.json
22e56693892c3c7113999216111223b271cf7783 assets/tfmg/blockstates/transformer.json
4c64b39a2f94d885b4a479908c6abcc1866a5928 assets/tfmg/blockstates/turbine_engine.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
@@ -437,8 +436,8 @@ a1988ec6a98f23cad8321b46345fbf1c5fd20489 assets/tfmg/blockstates/yellow_rebar_co
c58fa20c091e5ecddfb7164cba45538a8f911431 assets/tfmg/blockstates/yellow_rebar_concrete_wall.json
0271e2b940bb94cdb7e951b81e277ee633d64d62 assets/tfmg/blockstates/zinc_frame.json
1bd66f29acffb67f30bfe94c8535509bd009beab assets/tfmg/blockstates/zinc_truss.json
58acad4a6a1552ef82ee74f8127be3780974e05a assets/tfmg/lang/en_ud.json
838b69ddd96807c63085e1e6bdce2fd3efe4f0a5 assets/tfmg/lang/en_us.json
9b2398bfbf2c24969467e23d4b60046942cd5d21 assets/tfmg/lang/en_ud.json
7a877b3acd36b7c7aade17d748275b35c4689465 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
@@ -1207,6 +1206,7 @@ f3a706999351ee0f88946f8d5e3cdea38ac88ac4 assets/tfmg/models/item/deepslate_lead_
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
@@ -1238,8 +1238,6 @@ e82498c07d178acd47a4eb43b92c86fd99ba3239 assets/tfmg/models/item/flamethrower.js
6760e6cfe559d9d21c16a1ac8e444423fa8f6c48 assets/tfmg/models/item/flarestack.json
7e4a58a6d05b19dc8c5fff73434c2d7cefa75343 assets/tfmg/models/item/fossilstone.json
733b814e1fa27192eb5620419bc6be64423d89c1 assets/tfmg/models/item/furnace_gas_bucket.json
74f230487e2e0ded1c5416da82fce20a51cddcda assets/tfmg/models/item/fuse.json
c8a7e3f8161d0ab32be2af91cd590b63b5f1aa93 assets/tfmg/models/item/fuse_block.json
05c9a5cfc640f82099f5c691942f834996945c1e assets/tfmg/models/item/galena.json
acd5c31ea8e24ca099199932affdc705e5abe3fd assets/tfmg/models/item/galena_pillar.json
ed2830b2988403aebaca633b2e315878b41f7503 assets/tfmg/models/item/gasoline_bucket.json
@@ -1492,6 +1490,7 @@ 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
@@ -1737,7 +1736,7 @@ ccae2d221dc320981c331f4b8e07fe159176557a data/forge/tags/items/wires/constantan.
7f2ce9c0c2595d78a2230a5e478bd1ece53f63d1 data/minecraft/tags/blocks/infiniburn_overworld.json
543dbb3bba839c96d454f6e26e7e97ce5ae9dc4e data/minecraft/tags/blocks/lush_ground_replaceable.json
ce9859e451c5416d7b62258a3f2f2486739b19cc data/minecraft/tags/blocks/mineable/axe.json
7ded880aacf0b14fb67f8da76e72d9b5386b56ac data/minecraft/tags/blocks/mineable/pickaxe.json
8b740d9b4d737a4e358df8bfa7d6504499b4f80d data/minecraft/tags/blocks/mineable/pickaxe.json
9c7d1d075d20521106a7076ae12804d8e2ac6764 data/minecraft/tags/blocks/mineable/shovel.json
543dbb3bba839c96d454f6e26e7e97ce5ae9dc4e data/minecraft/tags/blocks/moss_replaceable.json
dfca9f1cc79d30334f344f024c13a7c717bf4027 data/minecraft/tags/blocks/needs_iron_tool.json
@@ -1780,6 +1779,7 @@ f0f7733072a6f813ff300475ef7bed239f5ed176 data/tfmg/advancements/recipes/building
cfd4f362d3ca3a15ad4c8b3806e9bd8697abbc54 data/tfmg/advancements/recipes/building_blocks/brown_rebar_concrete_slab_from_brown_rebar_concrete_stonecutting.json
2e22c6b040d249e66f8aadbc396a67f916566508 data/tfmg/advancements/recipes/building_blocks/brown_rebar_concrete_stairs_from_brown_rebar_concrete_stonecutting.json
3a0a7be2013e4a99c3d67cc805881808740d9c5e data/tfmg/advancements/recipes/building_blocks/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json
8160124ace2b7cd0fdda6179b679a63724f96f50 data/tfmg/advancements/recipes/building_blocks/cinderblock_from_concrete_stonecutting.json
75b1c8f26310290f105b64ec48f9dfc3cdb32e0c data/tfmg/advancements/recipes/building_blocks/concrete_slab_from_concrete_stonecutting.json
80f3b0127757df1ca55e94982a16d1a4ab531a6b data/tfmg/advancements/recipes/building_blocks/concrete_stairs_from_concrete_stonecutting.json
2e2bbb5d7beaad59af1410ef30a773444b7e5445 data/tfmg/advancements/recipes/building_blocks/concrete_wall_from_concrete_stonecutting.json
@@ -2142,7 +2142,6 @@ da3f506656a11eae1e9dd6dfa504f001446d54e7 data/tfmg/loot_tables/blocks/fireproof_
243ea41f96c336dfe7df20ad40b370ed631dea05 data/tfmg/loot_tables/blocks/fireproof_chemical_vat.json
c80724662af3f9c56f560c1272c6a89e26bc8268 data/tfmg/loot_tables/blocks/flarestack.json
9f2b65dbcf81aa1cb79c57787b944ddba8d8fb68 data/tfmg/loot_tables/blocks/fossilstone.json
8ebd1b0eeb723483dd55d15d72f988d2023ff5b5 data/tfmg/loot_tables/blocks/fuse_block.json
77c23cc954e4f16bbbecfb01d760307e78ac2d79 data/tfmg/loot_tables/blocks/galena.json
f8274f88b8a4171676976b58bd30ab283571f6b8 data/tfmg/loot_tables/blocks/galena_pillar.json
90322865e154696c6845fbadc81cafd8b5c9f78d data/tfmg/loot_tables/blocks/generator.json
@@ -2434,6 +2433,7 @@ f3f7b80e10f82e0b83cdbfb7f30111d2db49d969 data/tfmg/recipes/brown_rebar_concrete_
8d1974098de69f27834a609c3b04ea3f039acc54 data/tfmg/recipes/brown_rebar_concrete_wall_from_brown_rebar_concrete_stonecutting.json
e7043f308dbc44b10a5f815191efe5c45e9398fd data/tfmg/recipes/cast_iron_bars_from_ingots_cast_iron_stonecutting.json
f888fd86e3de48bf68ce4d9b962b07bb34c22047 data/tfmg/recipes/cast_iron_ladder_from_ingots_cast_iron_stonecutting.json
18291ebf2d366b185b5facb60cf193221a869363 data/tfmg/recipes/cinderblock_from_concrete_stonecutting.json
5cf617794380728cb5fd8aa94cdd4abe1fa42ad2 data/tfmg/recipes/concrete_slab_from_concrete_stonecutting.json
3c6649255459572ba87aec492b4a4bc401cf35f6 data/tfmg/recipes/concrete_stairs_from_concrete_stonecutting.json
317b123bfd8a9b9b3a7d6d3cc1e62aac7abdf30c data/tfmg/recipes/concrete_wall_from_concrete_stonecutting.json

View File

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

View File

@@ -1,242 +1,482 @@
{
"variants": {
"engine_state=back,facing=east,shaft_facing=east": {
"engine_state=back,extended=false,facing=east,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 90
},
"engine_state=back,facing=east,shaft_facing=north": {
"engine_state=back,extended=false,facing=east,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_back"
},
"engine_state=back,facing=east,shaft_facing=south": {
"engine_state=back,extended=false,facing=east,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 180
},
"engine_state=back,facing=east,shaft_facing=west": {
"engine_state=back,extended=false,facing=east,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 270
},
"engine_state=back,facing=north,shaft_facing=east": {
"engine_state=back,extended=false,facing=north,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 90
},
"engine_state=back,facing=north,shaft_facing=north": {
"engine_state=back,extended=false,facing=north,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_back"
},
"engine_state=back,facing=north,shaft_facing=south": {
"engine_state=back,extended=false,facing=north,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 180
},
"engine_state=back,facing=north,shaft_facing=west": {
"engine_state=back,extended=false,facing=north,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 270
},
"engine_state=back,facing=south,shaft_facing=east": {
"engine_state=back,extended=false,facing=south,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 90
},
"engine_state=back,facing=south,shaft_facing=north": {
"engine_state=back,extended=false,facing=south,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_back"
},
"engine_state=back,facing=south,shaft_facing=south": {
"engine_state=back,extended=false,facing=south,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 180
},
"engine_state=back,facing=south,shaft_facing=west": {
"engine_state=back,extended=false,facing=south,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 270
},
"engine_state=back,facing=west,shaft_facing=east": {
"engine_state=back,extended=false,facing=west,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 90
},
"engine_state=back,facing=west,shaft_facing=north": {
"engine_state=back,extended=false,facing=west,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_back"
},
"engine_state=back,facing=west,shaft_facing=south": {
"engine_state=back,extended=false,facing=west,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 180
},
"engine_state=back,facing=west,shaft_facing=west": {
"engine_state=back,extended=false,facing=west,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_back",
"y": 270
},
"engine_state=front,facing=east,shaft_facing=east": {
"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,facing=east,shaft_facing=north": {
"engine_state=front,extended=false,facing=east,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_front"
},
"engine_state=front,facing=east,shaft_facing=south": {
"engine_state=front,extended=false,facing=east,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 180
},
"engine_state=front,facing=east,shaft_facing=west": {
"engine_state=front,extended=false,facing=east,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 270
},
"engine_state=front,facing=north,shaft_facing=east": {
"engine_state=front,extended=false,facing=north,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 90
},
"engine_state=front,facing=north,shaft_facing=north": {
"engine_state=front,extended=false,facing=north,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_front"
},
"engine_state=front,facing=north,shaft_facing=south": {
"engine_state=front,extended=false,facing=north,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 180
},
"engine_state=front,facing=north,shaft_facing=west": {
"engine_state=front,extended=false,facing=north,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 270
},
"engine_state=front,facing=south,shaft_facing=east": {
"engine_state=front,extended=false,facing=south,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 90
},
"engine_state=front,facing=south,shaft_facing=north": {
"engine_state=front,extended=false,facing=south,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_front"
},
"engine_state=front,facing=south,shaft_facing=south": {
"engine_state=front,extended=false,facing=south,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 180
},
"engine_state=front,facing=south,shaft_facing=west": {
"engine_state=front,extended=false,facing=south,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 270
},
"engine_state=front,facing=west,shaft_facing=east": {
"engine_state=front,extended=false,facing=west,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 90
},
"engine_state=front,facing=west,shaft_facing=north": {
"engine_state=front,extended=false,facing=west,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_front"
},
"engine_state=front,facing=west,shaft_facing=south": {
"engine_state=front,extended=false,facing=west,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 180
},
"engine_state=front,facing=west,shaft_facing=west": {
"engine_state=front,extended=false,facing=west,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_front",
"y": 270
},
"engine_state=normal,facing=east,shaft_facing=east": {
"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,facing=east,shaft_facing=north": {
"engine_state=normal,extended=false,facing=east,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_normal"
},
"engine_state=normal,facing=east,shaft_facing=south": {
"engine_state=normal,extended=false,facing=east,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 180
},
"engine_state=normal,facing=east,shaft_facing=west": {
"engine_state=normal,extended=false,facing=east,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 270
},
"engine_state=normal,facing=north,shaft_facing=east": {
"engine_state=normal,extended=false,facing=north,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 90
},
"engine_state=normal,facing=north,shaft_facing=north": {
"engine_state=normal,extended=false,facing=north,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_normal"
},
"engine_state=normal,facing=north,shaft_facing=south": {
"engine_state=normal,extended=false,facing=north,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 180
},
"engine_state=normal,facing=north,shaft_facing=west": {
"engine_state=normal,extended=false,facing=north,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 270
},
"engine_state=normal,facing=south,shaft_facing=east": {
"engine_state=normal,extended=false,facing=south,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 90
},
"engine_state=normal,facing=south,shaft_facing=north": {
"engine_state=normal,extended=false,facing=south,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_normal"
},
"engine_state=normal,facing=south,shaft_facing=south": {
"engine_state=normal,extended=false,facing=south,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 180
},
"engine_state=normal,facing=south,shaft_facing=west": {
"engine_state=normal,extended=false,facing=south,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 270
},
"engine_state=normal,facing=west,shaft_facing=east": {
"engine_state=normal,extended=false,facing=west,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 90
},
"engine_state=normal,facing=west,shaft_facing=north": {
"engine_state=normal,extended=false,facing=west,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_normal"
},
"engine_state=normal,facing=west,shaft_facing=south": {
"engine_state=normal,extended=false,facing=west,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 180
},
"engine_state=normal,facing=west,shaft_facing=west": {
"engine_state=normal,extended=false,facing=west,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_normal",
"y": 270
},
"engine_state=single,facing=east,shaft_facing=east": {
"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,facing=east,shaft_facing=north": {
"engine_state=single,extended=false,facing=east,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_single"
},
"engine_state=single,facing=east,shaft_facing=south": {
"engine_state=single,extended=false,facing=east,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 180
},
"engine_state=single,facing=east,shaft_facing=west": {
"engine_state=single,extended=false,facing=east,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 270
},
"engine_state=single,facing=north,shaft_facing=east": {
"engine_state=single,extended=false,facing=north,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 90
},
"engine_state=single,facing=north,shaft_facing=north": {
"engine_state=single,extended=false,facing=north,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_single"
},
"engine_state=single,facing=north,shaft_facing=south": {
"engine_state=single,extended=false,facing=north,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 180
},
"engine_state=single,facing=north,shaft_facing=west": {
"engine_state=single,extended=false,facing=north,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 270
},
"engine_state=single,facing=south,shaft_facing=east": {
"engine_state=single,extended=false,facing=south,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 90
},
"engine_state=single,facing=south,shaft_facing=north": {
"engine_state=single,extended=false,facing=south,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_single"
},
"engine_state=single,facing=south,shaft_facing=south": {
"engine_state=single,extended=false,facing=south,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 180
},
"engine_state=single,facing=south,shaft_facing=west": {
"engine_state=single,extended=false,facing=south,shaft_facing=west": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 270
},
"engine_state=single,facing=west,shaft_facing=east": {
"engine_state=single,extended=false,facing=west,shaft_facing=east": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 90
},
"engine_state=single,facing=west,shaft_facing=north": {
"engine_state=single,extended=false,facing=west,shaft_facing=north": {
"model": "tfmg:block/turbine_engine/block_single"
},
"engine_state=single,facing=west,shaft_facing=south": {
"engine_state=single,extended=false,facing=west,shaft_facing=south": {
"model": "tfmg:block/turbine_engine/block_single",
"y": 180
},
"engine_state=single,facing=west,shaft_facing=west": {
"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
}

View File

@@ -198,7 +198,6 @@
"block.tfmg.formwork_block.tooltip.condition1": "oʇuı ǝʇǝɹɔuoɔ pǝdɯnԀ uǝɥM",
"block.tfmg.formwork_block.tooltip.summary": "sʞɔoןq ǝʇǝɹɔuoɔ oʇuı suɹnʇ ʇı ןıʇun ǝʇǝɹɔuoƆ pınbıꞀ spןoH",
"block.tfmg.fossilstone": "ǝuoʇsןıssoℲ",
"block.tfmg.fuse_block": "ʞɔoןᗺ ǝsnℲ",
"block.tfmg.galena": "ɐuǝןɐ⅁",
"block.tfmg.galena_pillar": "ɹɐןןıԀ ɐuǝןɐ⅁",
"block.tfmg.galvanic_cell.tooltip.summary": "ʎʇıɔıɹʇɔǝןǝ oʇuı ǝɹnʇuǝʌ ɹnoʎ buıʇɹɐʇs ɹoɟ ןɐǝpı 'ǝpısuı ʎbɹǝuǝ ǝןqɐbɹɐɥɔun ɟo ʇunoɯɐ ןןɐɯs ɐ sɐH",
@@ -532,6 +531,18 @@
"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.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Ǝ",
@@ -555,8 +566,19 @@
"create.goggles.surface_scanner.distance": "sʞɔoןᗺ %1$s :ǝɔuɐʇsıᗡ",
"create.goggles.surface_scanner.no_deposit": "punoℲ ʇısodǝᗡ oN",
"create.goggles.surface_scanner.scanning_surface": "ǝɔɐɟɹnS ǝɥ⟘ buıuuɐɔS",
"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.mixer": "ɹǝxıW ",
"create.goggles.voltmeter": ":ɹǝʇǝɯʇןoΛ",
"create.goggles.voltmeter.range": "%1$s :ǝbuɐᴚ buıɹnsɐǝW ",
"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⟘",
@@ -574,6 +596,7 @@
"create.pumpjack_deposit_amount": "sʇǝʞɔnᗺ %1$s",
"create.recipe.advanced_distillation": "uoıʇɐןןıʇsıᗡ pǝɔuɐʌpⱯ",
"create.recipe.casting": "buıʇsɐƆ",
"create.recipe.chemical_vat": "ʇɐΛ ןɐɔıɯǝɥƆ",
"create.recipe.coking": "buıʞoƆ",
"create.recipe.distillation": "uoıʇɐןןıʇsıᗡ",
"create.recipe.industrial_blasting": "buıʇsɐןןɐıɹʇsnpuI",
@@ -581,6 +604,7 @@
"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Λ",
@@ -691,6 +715,7 @@
"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.electromagnetic_coil": "ןıoƆ ɔıʇǝubɐɯoɹʇɔǝןƎ",
"item.tfmg.empty_circuit_board": "pɹɐoᗺ ʇınɔɹıƆ ʎʇdɯƎ",
@@ -707,7 +732,6 @@
"item.tfmg.flamethrower.tooltip.condition2": "ǝpısuı sɐ⅁/pınןℲ ǝןqɐuɹnᗺ ɐ ɥʇıʍ ʞ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.fuse": "ǝsnℲ",
"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⅁",
@@ -785,12 +809,13 @@
"item.tfmg.rebar": "ɹɐqǝᴚ",
"item.tfmg.red_multimeter": "ɹǝʇǝɯıʇןnW pǝᴚ",
"item.tfmg.rubber_sheet": "ʇǝǝɥS ɹǝqqnᴚ",
"item.tfmg.screw": "ʍǝɹɔS",
"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",

View File

@@ -198,7 +198,6 @@
"block.tfmg.formwork_block.tooltip.condition1": "When Pumped concrete into",
"block.tfmg.formwork_block.tooltip.summary": "Holds Liquid Concrete until it turns into concrete blocks",
"block.tfmg.fossilstone": "Fossilstone",
"block.tfmg.fuse_block": "Fuse Block",
"block.tfmg.galena": "Galena",
"block.tfmg.galena_pillar": "Galena Pillar",
"block.tfmg.galvanic_cell.tooltip.summary": "Has a small amount of unchargable energy inside, ideal for starting your venture into electricity",
@@ -532,6 +531,18 @@
"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.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",
@@ -555,8 +566,19 @@
"create.goggles.surface_scanner.distance": "Distance: %1$s Blocks",
"create.goggles.surface_scanner.no_deposit": "No Deposit Found",
"create.goggles.surface_scanner.scanning_surface": "Scanning The Surface",
"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.mixer": " Mixer",
"create.goggles.voltmeter": "Voltmeter:",
"create.goggles.voltmeter.range": " Measuring Range: %1$s",
"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: ",
@@ -574,6 +596,7 @@
"create.pumpjack_deposit_amount": "%1$s Buckets",
"create.recipe.advanced_distillation": "Advanced Distillation",
"create.recipe.casting": "Casting",
"create.recipe.chemical_vat": "Chemical Vat",
"create.recipe.coking": "Coking",
"create.recipe.distillation": "Distillation",
"create.recipe.industrial_blasting": "Industrial Blasting",
@@ -581,6 +604,7 @@
"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",
@@ -691,6 +715,7 @@
"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.electromagnetic_coil": "Electromagnetic Coil",
"item.tfmg.empty_circuit_board": "Empty Circuit Board",
@@ -707,7 +732,6 @@
"item.tfmg.flamethrower.tooltip.condition2": "When R-Clicking a Fluid Tank with a Burnable Fluid/Gas 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.fuse": "Fuse",
"item.tfmg.gasoline_bucket": "Gasoline Bucket",
"item.tfmg.glass_insulator_segment": "Glass Insulator Segment",
"item.tfmg.golden_turbo": "Golden Turbo",
@@ -785,12 +809,13 @@
"item.tfmg.rebar": "Rebar",
"item.tfmg.red_multimeter": "Red Multimeter",
"item.tfmg.rubber_sheet": "Rubber Sheet",
"item.tfmg.screw": "Screw",
"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",

View File

@@ -1,6 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "tfmg:item/fuse"
"layer0": "tfmg:item/diesel_engine_cylinder"
}
}

View File

@@ -1,3 +0,0 @@
{
"parent": "tfmg:block/fuse_block/item"
}

View File

@@ -0,0 +1,6 @@
{
"parent": "minecraft:item/generated",
"textures": {
"layer0": "tfmg:item/simple_engine_cylinder"
}
}

View File

@@ -94,7 +94,6 @@
"tfmg:segmented_display",
"tfmg:transformer",
"tfmg:converter",
"tfmg:fuse_block",
"tfmg:brick_smokestack",
"tfmg:metal_smokestack",
"tfmg:concrete_smokestack",

View File

@@ -0,0 +1,35 @@
{
"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_concrete",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"tfmg:cinderblock_from_concrete_stonecutting"
]
},
"sends_telemetry_event": false
}

View File

@@ -6,7 +6,7 @@
"items": [
{
"items": [
"tfmg:copper_wire"
"tfmg:cinderblock"
]
}
]
@@ -15,7 +15,7 @@
},
"has_the_recipe": {
"conditions": {
"recipe": "tfmg:crafting/kinetics/fuse_block"
"recipe": "tfmg:crafting/kinetics/cinder_block"
},
"trigger": "minecraft:recipe_unlocked"
}
@@ -28,7 +28,7 @@
],
"rewards": {
"recipes": [
"tfmg:crafting/kinetics/fuse_block"
"tfmg:crafting/kinetics/cinder_block"
]
},
"sends_telemetry_event": false

View File

@@ -6,7 +6,7 @@
"items": [
{
"items": [
"create:iron_sheet"
"tfmg:cinderflourblock"
]
}
]
@@ -15,7 +15,7 @@
},
"has_the_recipe": {
"conditions": {
"recipe": "tfmg:crafting/kinetics/turbine_blade"
"recipe": "tfmg:crafting/kinetics/cinderflour_block"
},
"trigger": "minecraft:recipe_unlocked"
}
@@ -28,7 +28,7 @@
],
"rewards": {
"recipes": [
"tfmg:crafting/kinetics/turbine_blade"
"tfmg:crafting/kinetics/cinderflour_block"
]
},
"sends_telemetry_event": false

View File

@@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"conditions": {
"items": [
{
"items": [
"tfmg:aluminum_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "tfmg:crafting/kinetics/unfinished_resistor"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"tfmg:crafting/kinetics/unfinished_resistor"
]
},
"sends_telemetry_event": false
}

View File

@@ -0,0 +1,35 @@
{
"parent": "minecraft:recipes/root",
"criteria": {
"has_item": {
"conditions": {
"items": [
{
"items": [
"tfmg:aluminum_ingot"
]
}
]
},
"trigger": "minecraft:inventory_changed"
},
"has_the_recipe": {
"conditions": {
"recipe": "tfmg:crafting/kinetics/unfinished_resistorfrom_slime"
},
"trigger": "minecraft:recipe_unlocked"
}
},
"requirements": [
[
"has_item",
"has_the_recipe"
]
],
"rewards": {
"recipes": [
"tfmg:crafting/kinetics/unfinished_resistorfrom_slime"
]
},
"sends_telemetry_event": false
}

View File

@@ -1,21 +0,0 @@
{
"type": "minecraft:block",
"pools": [
{
"bonus_rolls": 0.0,
"conditions": [
{
"condition": "minecraft:survives_explosion"
}
],
"entries": [
{
"type": "minecraft:item",
"name": "tfmg:fuse_block"
}
],
"rolls": 1.0
}
],
"random_sequence": "tfmg:blocks/fuse_block"
}

View File

@@ -0,0 +1,8 @@
{
"type": "minecraft:stonecutting",
"count": 8,
"ingredient": {
"item": "tfmg:concrete"
},
"result": "tfmg:cinderblock"
}

View File

@@ -0,0 +1,25 @@
{
"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,
"item": "tfmg:cinder_block"
},
"show_notification": true
}

View File

@@ -0,0 +1,25 @@
{
"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,
"item": "tfmg:cinderflour_block"
},
"show_notification": true
}

View File

@@ -1,27 +0,0 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"C": {
"item": "tfmg:heavy_machinery_casing"
},
"L": {
"item": "minecraft:copper_ingot"
},
"R": {
"tag": "forge:plates/aluminum"
},
"W": {
"tag": "forge:wires/copper"
}
},
"pattern": [
"RWR",
"LCL",
"RWR"
],
"result": {
"item": "tfmg:fuse_block"
},
"show_notification": true
}

View File

@@ -3,20 +3,19 @@
"category": "misc",
"key": {
"P": {
"tag": "forge:plates/iron"
"item": "tfmg:plastic_sheet"
},
"S": {
"item": "create:shaft"
"W": {
"tag": "forge:wires/copper"
}
},
"pattern": [
"PPP",
"PSP",
"PPP"
" W ",
" P ",
" W "
],
"result": {
"count": 2,
"item": "tfmg:turbine_blade"
"item": "tfmg:unfinished_resistor"
},
"show_notification": true
}

View File

@@ -0,0 +1,21 @@
{
"type": "minecraft:crafting_shaped",
"category": "misc",
"key": {
"P": {
"item": "minecraft:slime_ball"
},
"W": {
"tag": "forge:wires/copper"
}
},
"pattern": [
" W ",
" P ",
" W "
],
"result": {
"item": "tfmg:unfinished_resistor"
},
"show_notification": true
}

View File

@@ -0,0 +1,19 @@
{
"type": "create:crushing",
"ingredients": [
{
"item": "tfmg:galena"
}
],
"results": [
{
"chance": 0.4,
"item": "create:crushed_raw_lead"
},
{
"chance": 0.1,
"count": 2,
"item": "tfmg:lead_nugget"
}
]
}

View File

@@ -0,0 +1,16 @@
{
"type": "tfmg:industrial_blasting",
"hotAirUsage": 0,
"ingredients": [
{
"item": "minecraft:quartz"
}
],
"processingTime": 5,
"results": [
{
"amount": 10,
"fluid": "tfmg:liquid_silicon"
}
]
}

View File

@@ -9,7 +9,7 @@
"tag": "tfmg:flux"
}
],
"processingTime": 60,
"processingTime": 20,
"results": [
{
"amount": 144,

View File

@@ -9,7 +9,7 @@
"tag": "tfmg:flux"
}
],
"processingTime": 50,
"processingTime": 20,
"results": [
{
"amount": 144,

View File

@@ -5,14 +5,11 @@
{
"item": "minecraft:raw_iron"
},
{
"tag": "tfmg:flux"
},
{
"tag": "tfmg:flux"
}
],
"processingTime": 120,
"processingTime": 40,
"results": [
{
"amount": 288,

View File

@@ -0,0 +1,18 @@
{
"type": "create:mixing",
"heatRequirement": "heated",
"ingredients": [
{
"item": "minecraft:copper_ingot"
},
{
"tag": "forge:ingots/nickel"
}
],
"results": [
{
"count": 2,
"item": "tfmg:constantan_ingot"
}
]
}

View File

@@ -8,6 +8,9 @@
{
"tag": "forge:ingots/nickel"
},
{
"item": "tfmg:silicon_ingot"
},
{
"tag": "forge:ingots/steel"
},

View File

@@ -0,0 +1,16 @@
{
"type": "create:mixing",
"ingredients": [
{
"item": "tfmg:sulfur_dust"
},
{
"item": "tfmg:silicon_ingot"
}
],
"results": [
{
"item": "tfmg:n_semiconductor"
}
]
}

View File

@@ -0,0 +1,16 @@
{
"type": "create:mixing",
"ingredients": [
{
"tag": "forge:ingots/aluminum"
},
{
"item": "tfmg:silicon_ingot"
}
],
"results": [
{
"item": "tfmg:p_semiconductor"
}
]
}

View File

@@ -0,0 +1,122 @@
{
"type": "create:sequenced_assembly",
"ingredient": {
"item": "tfmg:heavy_plate"
},
"loops": 2,
"results": [
{
"chance": 120.0,
"item": "tfmg:steel_mechanism"
},
{
"chance": 4.0,
"item": "minecraft:compass"
},
{
"chance": 4.0,
"item": "tfmg:steel_ingot"
}
],
"sequence": [
{
"type": "create:deploying",
"ingredients": [
{
"item": "tfmg:unfinished_steel_mechanism"
},
{
"item": "tfmg:steel_cogwheel"
}
],
"results": [
{
"item": "tfmg:unfinished_steel_mechanism"
}
]
},
{
"type": "create:deploying",
"ingredients": [
{
"item": "tfmg:unfinished_steel_mechanism"
},
{
"item": "tfmg:nickel_sheet"
}
],
"results": [
{
"item": "tfmg:unfinished_steel_mechanism"
}
]
},
{
"type": "create:deploying",
"ingredients": [
{
"item": "tfmg:unfinished_steel_mechanism"
},
{
"item": "tfmg:large_steel_cogwheel"
}
],
"results": [
{
"item": "tfmg:unfinished_steel_mechanism"
}
]
},
{
"type": "create:deploying",
"ingredients": [
{
"item": "tfmg:unfinished_steel_mechanism"
},
{
"item": "tfmg:lead_sheet"
}
],
"results": [
{
"item": "tfmg:unfinished_steel_mechanism"
}
]
},
{
"type": "create:deploying",
"ingredients": [
{
"item": "tfmg:unfinished_steel_mechanism"
},
{
"item": "tfmg:screw"
}
],
"results": [
{
"item": "tfmg:unfinished_steel_mechanism"
}
]
},
{
"type": "create:deploying",
"ingredients": [
{
"item": "tfmg:unfinished_steel_mechanism"
},
{
"item": "tfmg:screwdriver"
}
],
"results": [
{
"item": "tfmg:unfinished_steel_mechanism"
}
]
}
],
"transitionalItem": {
"item": "tfmg:unfinished_steel_mechanism"
}
}

View File

@@ -20,9 +20,10 @@
"tfmg:graphite_electrode"
],
"minSize": 9,
"processingTime": 20,
"results": [
{
"amount": 288,
"amount": 144,
"fluid": "tfmg:molten_steel"
},
{

View File

@@ -5,15 +5,15 @@
"item": "tfmg:unfinished_resistor"
},
{
"item": "tfmg:resistor"
"item": "tfmg:constantan_spool"
}
],
"processingTime": 50,
"results": [
{
"item": "tfmg:electromagnetic_coil",
"item": "tfmg:resistor",
"nbt": {
"Turns": 100
"Resistance": 10
}
}
]

View File

@@ -15,6 +15,7 @@ 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 net.minecraft.client.renderer.ItemBlockRenderTypes;
import net.minecraft.client.renderer.RenderType;
import net.minecraft.resources.ResourceLocation;
@@ -53,7 +54,7 @@ public class TFMG {
REGISTRATE.registerEventListeners(modEventBus);
TFMGSoundEvents.prepare();
TFMGBlocks.init();
TFMGBlockEntities.init();
@@ -78,6 +79,7 @@ public class TFMG {
TFMGPackets.registerPackets();
TFMGConfigs.register(ModLoadingContext.get());
modEventBus.addListener(EventPriority.LOWEST, TFMGDatagen::gatherData);
modEventBus.addListener(TFMGSoundEvents::register);
modEventBus.addListener(TFMG::commonSetup);
modEventBus.addListener(this::clientSetup);
MinecraftForge.EVENT_BUS.register(this);

View File

@@ -223,7 +223,7 @@ public class TFMGUtils {
}
if (!isEmpty) return true;
CreateLang.translate("gui.goggles.item_storage_empty").style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1);
CreateLang.translate("item_attributes.shulker_level.empty").style(ChatFormatting.DARK_GRAY).forGoggles(tooltip, 1);
return true;
}

View File

@@ -3,15 +3,8 @@ 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 com.simibubi.create.CreateClient;
import com.simibubi.create.content.equipment.armor.RemainingAirOverlay;
import com.simibubi.create.content.equipment.blueprint.BlueprintOverlayRenderer;
import com.simibubi.create.content.equipment.goggles.GoggleOverlayRenderer;
import com.simibubi.create.content.equipment.toolbox.ToolboxHandlerClient;
import com.simibubi.create.content.redstone.link.controller.LinkedControllerClientHandler;
import com.simibubi.create.content.trains.TrainHUD;
import com.simibubi.create.content.trains.track.TrackPlacementOverlay;
import net.minecraft.client.Minecraft;
import net.minecraft.world.entity.player.Player;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.client.ConfigScreenHandler;
import net.minecraftforge.client.event.*;
@@ -19,6 +12,7 @@ import net.minecraftforge.client.event.RenderLevelStageEvent.Stage;
import net.minecraftforge.client.gui.overlay.VanillaGuiOverlay;
import net.minecraftforge.event.TickEvent.ClientTickEvent;
import net.minecraftforge.event.TickEvent.Phase;
import net.minecraftforge.event.entity.player.PlayerEvent;
import net.minecraftforge.eventbus.api.SubscribeEvent;
import net.minecraftforge.fml.ModContainer;
import net.minecraftforge.fml.ModList;
@@ -41,11 +35,17 @@ public class TFMGClientEvents {
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(RegisterGuiOverlaysEvent event) {
TFMG.LOGGER.debug("ADOIAJDOAIWDJOIA");
event.registerAbove(VanillaGuiOverlay.HOTBAR.id(), "multimeter_info", MultimeterOverlayRenderer.OVERLAY);
}

View File

@@ -31,6 +31,8 @@ public class TFMGCommonEvents {
public static void onUnloadWorld(LevelEvent.Unload event) {
LevelAccessor world = event.getLevel();
TFMG.NETWORK_MANAGER.onUnloadWorld(world);
}
@SubscribeEvent

View File

@@ -29,6 +29,10 @@ public class MachineConfig extends ConfigBase {
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);
@@ -71,5 +75,6 @@ public class MachineConfig extends ConfigBase {
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.";
}
}

View File

@@ -74,11 +74,11 @@ public class TFMGEncasedCogVisual extends KineticBlockEntityVisual<KineticBlockE
instance.setRotationOffset(BracketedKineticBlockEntityRenderer.getShaftAngleOffset(rotationAxis(), pos));
}
//if (d.getAxisDirection() == Direction.AxisDirection.POSITIVE) {
// rotatingTopShaft = instance;
//} else {
// rotatingBottomShaft = instance;
//}
if (d.getAxisDirection() == Direction.AxisDirection.POSITIVE) {
rotatingTopShaft = instance;
} else {
rotatingBottomShaft = instance;
}
}
}
@@ -98,7 +98,10 @@ public class TFMGEncasedCogVisual extends KineticBlockEntityVisual<KineticBlockE
@Override
public void updateLight(float partialTick) {
relight(rotatingModel, rotatingTopShaft, rotatingBottomShaft);
relight(rotatingModel);
if (rotatingTopShaft != null) relight(rotatingTopShaft);
if (rotatingBottomShaft != null) relight(rotatingBottomShaft);
}
@Override

View File

@@ -59,15 +59,13 @@ public class ElectricBlockEntity extends SmartBlockEntity implements IElectric,
@Override
public void lazyTick() {
super.lazyTick();
// updateNetwork();
//if (data.failTimer >= 4) {
// this.blockFail();
// data.failTimer = 0;
// sendStuff();
//} else if ((data.voltage > getMaxVoltage() && getMaxVoltage() > 0) || (getCurrent() > getMaxCurrent())) {
// blockFail();
// data.failTimer++;
//}
if (data.failTimer >= 4) {
this.blockFail();
data.failTimer = 0;
sendStuff();
} else if ((data.voltage > getMaxVoltage() && getMaxVoltage() > 0) || (getCurrent() > getMaxCurrent()&&getMaxCurrent()>0)) {
data.failTimer++;
}
}
@Override

View File

@@ -35,6 +35,9 @@ public class ElectricalNetwork {
}
public void updateNetwork() {
int maxVoltage = 0;
int power = 0;
int frequency = 0;

View File

@@ -221,7 +221,8 @@ public interface IElectric {
}
default void blockFail() {
//getLevelAccessor().destroyBlock(BlockPos.of(getPos()), false);
getLevelAccessor().destroyBlock(BlockPos.of(getPos()), false);
}
default int getPowerUsage() {

View File

@@ -1,6 +1,7 @@
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;
@@ -100,6 +101,8 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
return voltageGeneration;
}
@Override
public int powerGeneration() {
@@ -206,20 +209,7 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
.remove(getData().getId());
}
@Override
public void tick() {
super.tick();
if(data.connectNextTick) {
onPlaced();
data.connectNextTick = false;
}
if(data.updateNextTick) {
updateNetwork();
data.updateNextTick = false;
}
}
@Override
public void lazyTick() {
@@ -229,8 +219,8 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
this.blockFail();
data.failTimer = 0;
sendStuff();
} else if((data.voltage>getMaxVoltage()&&getMaxVoltage()>0)||(getCurrent()>getMaxCurrent()&&getMaxCurrent()>0)){
blockFail();
}
if((data.voltage>getMaxVoltage()&&getMaxVoltage()>0)||(getCurrent()>getMaxCurrent()&&getMaxCurrent()>0)){
data.failTimer++;
}
}
@@ -260,7 +250,9 @@ public class KineticElectricBlockEntity extends GeneratingKineticBlockEntity imp
@Override
public void onSpeedChanged(float previousSpeed) {
super.onSpeedChanged(previousSpeed);
TFMG.LOGGER.debug("SPEEED CHANGED "+getBlockPos().getX()+" "+getBlockPos().getY()+" "+getBlockPos().getZ());
if(this instanceof RegularEngineBlockEntity)
// TFMG.LOGGER.debug("SPEEED CHANGED "+getBlockPos().getX()+" "+getBlockPos().getY()+" "+getBlockPos().getZ());
notifyNetworkAboutSpeedChange();
timer = 0;

View File

@@ -239,7 +239,7 @@ public class CableConnectorBlockEntity extends ElectricBlockEntity implements IH
@Override
public AABB getRenderBoundingBox() {
return new AABB(getBlockPos()).inflate(30);
return new AABB(getBlockPos()).inflate(10);
}
}

View File

@@ -7,6 +7,7 @@ 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;
@@ -28,6 +29,10 @@ public class CableConnectorRenderer extends SafeBlockEntityRenderer<CableConnect
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());

View File

@@ -119,8 +119,8 @@ public class DebugCinderBlockItem extends Item {
}
} else {
//be.updateNextTick();
be.getOrCreateElectricNetwork().checkForLoops(BlockPos.of(be.getPos()));
be.updateNextTick();
// be.getOrCreateElectricNetwork().checkForLoops(BlockPos.of(be.getPos()));
TFMGUtils.debugMessage(level, "Power " + be.getNetworkPowerUsage());
TFMGUtils.debugMessage(level, "Voltage " + be.getData().getVoltage());
@@ -165,12 +165,18 @@ public class DebugCinderBlockItem extends Item {
//be.getControllerBE().rpm = 0;
//be.getControllerBE().engineController = null;
//be.getControllerBE().updateGeneratedRotation();
be.updateGeneratedRotation();
TFMGUtils.debugMessage(level, "RPM "+be.getControllerBE().shift);
TFMGUtils.debugMessage(level, "RPM "+be.getControllerBE().rpm);
TFMGUtils.debugMessage(level, "SIGNAL "+be.getControllerBE().signal);
TFMGUtils.debugMessage(level, "HSIGNAL "+be.getControllerBE().highestSignal);
TFMGUtils.debugMessage(level, "RATE "+be.getControllerBE().fuelInjectionRate);
be.setSpeed(0);
TFMGUtils.debugMessage(level, "SPEED "+be.getGeneratedSpeed());
TFMGUtils.debugMessage(level, "SPEED "+be.getControllerBE().getGeneratedSpeed());
//TFMGUtils.debugMessage(level, "RPM "+be.rpm);
//TFMGUtils.debugMessage(level, "RPM "+be.getControllerBE().rpm);
//TFMGUtils.debugMessage(level, "SIGNAL "+be.getControllerBE().signal);
//TFMGUtils.debugMessage(level, "HSIGNAL "+be.getControllerBE().highestSignal);
//TFMGUtils.debugMessage(level, "RATE "+be.getControllerBE().fuelInjectionRate);
//TFMGUtils.debugMessage(level, "RATE "+be.fuelInjectionRate);
}
if (level.getBlockEntity(pos) instanceof CastingBasinBlockEntity be) {
be.findRecipe();

View File

@@ -25,6 +25,15 @@ public class GeneratorBlockEntity extends KineticElectricBlockEntity {
return generation()*40;
}
@Override
public void tick() {
super.tick();
if(data.updateNextTick){
updateNetwork();
data.updateNextTick = false;
}
}
@Override
public void updateNetwork() {
super.updateNetwork();
@@ -41,8 +50,11 @@ public class GeneratorBlockEntity extends KineticElectricBlockEntity {
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) {
@@ -61,7 +73,8 @@ public class GeneratorBlockEntity extends KineticElectricBlockEntity {
public int generation() {
float modifier = TFMGConfigs.common().machines.generatorModifier.getF();
float maxSpeed = TFMGConfigs.common().machines.generatorMinSpeed.getF();
if(!level.isClientSide)
TFMG.LOGGER.debug("GENERATION: "+(int) Math.max(0,((Math.abs(getSpeed())-maxSpeed)* modifier)));
return (int) Math.max(0,((Math.abs(getSpeed())-maxSpeed)* modifier));
}

View File

@@ -27,6 +27,7 @@ public class RotorBlockEntity extends KineticElectricBlockEntity {
LerpedFloat visualSpeed = LerpedFloat.linear();
float angle;
boolean findNextTick = false;
List<BlockPos> stators = new ArrayList<>();
@@ -52,6 +53,10 @@ public class RotorBlockEntity extends KineticElectricBlockEntity {
public void tick() {
super.tick();
manageRotation();
if(findNextTick){
findStators();
findNextTick = false;
}
}
@Override

View File

@@ -3,27 +3,63 @@ 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.core.Direction;
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 BlockPos rotor = null;
public int timer = 0;
public StatorBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
super(type, pos, state);
}
public void setRotor(RotorBlockEntity be){
public void setRotor(RotorBlockEntity be) {
rotor = be.getBlockPos();
}
@Override
public void lazyTick() {
super.lazyTick();
if(rotor!=null)
if(!(level.getBlockEntity(rotor) instanceof RotorBlockEntity))
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;
}
}
}

View File

@@ -63,6 +63,16 @@ public class LightBulbBlockEntity extends ElectricBlockEntity {
notifyUpdate();
}
// @Override
// public int getMaxVoltage() {
// return 500;
// }
//
// @Override
// public int getMaxAmps() {
// return 5;
// }
@Override
public void blockFail() {
super.blockFail();

View File

@@ -1,16 +1,15 @@
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.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.nbt.CompoundTag;
import net.minecraft.network.chat.Component;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.minecraft.world.level.block.entity.BlockEntityType;
@@ -29,7 +28,7 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
public float value = 0;
// public int range = 500;
// public int range = 500;
public MeasureMode mode = MeasureMode.VOLTAGE;
@@ -51,20 +50,21 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
// return;
BlockEntity beBehind = level.getBlockEntity(getBlockPos().relative(getBlockState().getValue(FACING).getOpposite()));
if(beBehind instanceof IElectric be){
// TFMG.LOGGER.debug("A "+ ElectricalNetwork.getCableCurrent(be));
// TFMG.LOGGER.debug("id group "+be.getData().group.id);
// TFMG.LOGGER.debug("resistance group "+be.getData().group.resistance);
value = Math.min(getUnit(be), mode.defaultRange );
if (beBehind instanceof IElectric be) {
// TFMG.LOGGER.debug("A "+ ElectricalNetwork.getCableCurrent(be));
// TFMG.LOGGER.debug("id group "+be.getData().group.id);
// TFMG.LOGGER.debug("resistance group "+be.getData().group.resistance);
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();
public float getUnit(IElectric be) {
return switch (mode) {
case VOLTAGE, HIGH_VOLTAGE -> be.getData().getVoltage();
case CURRENT -> be.getCurrent();
case RESISTANCE,HIGH_RESISTANCE -> be.resistance();
case RESISTANCE -> be.resistance();
case POWER -> be.powerGeneration() > 0 ? be.powerGeneration() : be.getPowerUsage();
};
}
@@ -72,22 +72,24 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
@Override
public void tick() {
super.tick();
if(!level.isClientSide)
if (!level.isClientSide)
return;
float value = (float) Math.abs(this.value) / getRange();
if(value>1)
if (value > 1)
value = 1;
float targetAngle = Math.abs(value*180);
float targetAngle = Math.abs(value * 180);
angle.chase(Math.abs(targetAngle),0.05f, LerpedFloat.Chaser.EXP);
// TFMG.LOGGER.debug(String.valueOf(value));
angle.chase(Math.min(Math.abs(targetAngle),180), 0.05f, LerpedFloat.Chaser.EXP);
angle.tickChaser();
}
public int getRange(){
public int getRange() {
return mode.defaultRange;
}
@@ -99,8 +101,8 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
.style(ChatFormatting.DARK_GRAY)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.gauge.value")
.add(CreateLang.text(TFMGUtils.formatUnits(value,mode.unit)))
CreateLang.text(TFMGUtils.formatUnits(value, mode.unit))
.style(ChatFormatting.AQUA)
.forGoggles(tooltip, 1);
CreateLang.translate("goggles.voltmeter.range", mode.defaultRange)
@@ -110,14 +112,14 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
return true;
}
public enum MeasureMode{
public enum MeasureMode {
VOLTAGE("Voltage","V",500),
HIGH_VOLTAGE("Voltage (High)","V",10000),
CURRENT("Current","A",16),
RESISTANCE("Resistance","A",500),
HIGH_RESISTANCE("Resistance (High)","Ω",500),
POWER("Power","A",5000),
VOLTAGE("Voltage", "V", 500),
HIGH_VOLTAGE("Voltage (High)", "V", 10000),
CURRENT("Current", "A", 16),
RESISTANCE("Resistance", "Ω", 500),
// HIGH_RESISTANCE("Resistance (High)", "Ω", 500),
POWER("Power", "A", 5000),
;
@@ -125,7 +127,7 @@ public class VoltMeterBlockEntity extends SmartBlockEntity implements IHaveGoggl
public final String unit;
public final int defaultRange;
MeasureMode(String displayName, String unit, int defaultRange){
MeasureMode(String displayName, String unit, int defaultRange) {
this.unit = unit;
this.displayName = displayName;
this.defaultRange = defaultRange;

View File

@@ -1,6 +1,7 @@
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;
@@ -41,7 +42,7 @@ public class VoltMeterRenderer extends SafeBlockEntityRenderer<VoltMeterBlockEnt
if(direction.getAxis() == Direction.Axis.X)
direction = direction.getOpposite();
// TFMG.LOGGER.debug(String.valueOf(be.angle.getValue(partialTicks)));
dial
.rotateYDegrees(direction.toYRot())
.uncenter()

View File

@@ -42,6 +42,8 @@ public class ConverterBlockEntity extends ElectricBlockEntity {
private LazyOptional<IEnergyStorage> energyCapability = LazyOptional.empty();
public int timer = 0;
protected ScrollValueBehaviour voltageGenerated;
public ConverterBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
@@ -117,7 +119,8 @@ public class ConverterBlockEntity extends ElectricBlockEntity {
}
public boolean canPower() {
if(timer!=0)
return false;
if (getBlockState().getValue(INPUT))
return false;
@@ -148,6 +151,14 @@ public class ConverterBlockEntity extends ElectricBlockEntity {
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()) {
@@ -159,12 +170,35 @@ public class ConverterBlockEntity extends ElectricBlockEntity {
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)
if (energy.getEnergyStored() == 0) {
timer = 100;
updateNextTick();
}
}
}
@Override
public boolean makeMultimeterTooltip(List<Component> 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();

View File

@@ -105,7 +105,7 @@ public class ElectricMotorBlockEntity extends KineticElectricBlockEntity {
if(speed==0){
return testSpeed;
}
TFMG.LOGGER.debug("SPEED: "+speed+" "+generatedSpeed.getValue()+" "+data.getVoltage()/2);
// TFMG.LOGGER.debug("SPEED: "+speed+" "+generatedSpeed.getValue()+" "+data.getVoltage()/2);
testSpeed = 0;
return speed;

View File

@@ -33,35 +33,35 @@ public class FuseBlock extends TFMGHorizontalDirectionalBlock implements IBE<Fus
@Override
public InteractionResult use(BlockState blockState, Level level, BlockPos pos, Player player, InteractionHand hand, BlockHitResult blockHitResult) {
ItemStack inHand = player.getItemInHand(hand);
if(level.getBlockEntity(pos) instanceof FuseBlockEntity be){
if(inHand.is(TFMGItems.FUSE.get())){
player.setItemInHand(hand, be.fuse);
be.fuse = inHand;
be.updateInFrontNextTick();
be.updateNextTick();
be.updateNetwork();
be.updateInFront();
be.sendStuff();
return InteractionResult.SUCCESS;
}else
if(inHand.isEmpty()){
player.setItemInHand(hand, be.fuse);
be.fuse = ItemStack.EMPTY;
be.updateNextTick();
be.updateNetwork();
be.updateNetwork();
be.updateInFront();
be.sendStuff();
return InteractionResult.SUCCESS;
}
}
//ItemStack inHand = player.getItemInHand(hand);
//
//if(level.getBlockEntity(pos) instanceof FuseBlockEntity be){
//
// if(inHand.is(TFMGItems.FUSE.get())){
//
// player.setItemInHand(hand, be.fuse);
// be.fuse = inHand;
// be.updateInFrontNextTick();
// be.updateNextTick();
// be.updateNetwork();
// be.updateInFront();
// be.sendStuff();
// return InteractionResult.SUCCESS;
//
// }else
// if(inHand.isEmpty()){
// player.setItemInHand(hand, be.fuse);
// be.fuse = ItemStack.EMPTY;
// be.updateNextTick();
// be.updateNetwork();
// be.updateNetwork();
// be.updateInFront();
// be.sendStuff();
// return InteractionResult.SUCCESS;
// }
//
//}
//
return super.use(blockState, level, pos, player, hand, blockHitResult);
}

View File

@@ -80,7 +80,7 @@ public class PotentiometerBlockEntity extends ElectricDiodeBlockEntity {
if (getSide() != Direction.UP)
return;
TransformStack.of(ms)
.rotateZ(-AngleHelper.horizontalAngle(facing) + 180);
.rotateZDegrees(-AngleHelper.horizontalAngle(facing) + 180);
}
@Override

View File

@@ -52,13 +52,13 @@ public class SegmentedDisplayBlockEntity extends ElectricBlockEntity {
@Override
public float resistance() {
return 5;
return 100;
}
@Override
public void lazyTick() {
super.lazyTick();
if(getPowerUsage()<5){
if(getPowerUsage()<5||!canWork()){
segmentsToRender = new ArrayList<>();
segmentsToRender2 = new ArrayList<>();
}else {

View File

@@ -35,6 +35,9 @@ 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 {
//
@@ -68,8 +71,8 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
public AbstractEngineBlockEntity(BlockEntityType<?> typeIn, BlockPos pos, BlockState state) {
super(typeIn, pos, state);
setLazyTickRate(10);
fuelTank = new EngineFluidTank(4000, false, true, this::tankUpdated, TFMGTags.TFMGFluidTags.AIR.tag);
exhaustTank = new EngineFluidTank(8000, true, false, this::tankUpdated);
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 = LazyOptional.of(() -> new CombinedTankWrapper(fuelTank, exhaustTank));
refreshCapability();
@@ -84,8 +87,9 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
super.tick();
}
public void tankUpdated(FluidStack stack) {
public void tankUpdated(FluidStack stack, boolean fuelTank ) {
if(fuelTank && stack.isEmpty())
updateRotation();
sendData();
setChanged();
}
@@ -130,10 +134,6 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
return super.addToGoggleTooltip(tooltip, isPlayerSneaking);
}
@Override
public float calculateAddedStressCapacity() {
return super.calculateAddedStressCapacity() + (torque);
}
@Override
public void lazyTick() {
@@ -276,7 +276,7 @@ public abstract class AbstractEngineBlockEntity extends KineticElectricBlockEnti
super.read(compound, clientPacket);
reverse = compound.getBoolean("Reverse");
signal = compound.getInt("Signal");
signal = compound.getInt("Signal")+1;
if (hasEngineController())
engineController = BlockPos.of(compound.getLong("EngineController"));
fuelInjectionRate = compound.getFloat("RPM");

View File

@@ -1,14 +1,13 @@
package com.drmangotea.tfmg.content.engines.base;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGShapes;
import com.drmangotea.tfmg.content.electricity.base.UpdateInFrontPacket;
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.drmangotea.tfmg.registry.TFMGPackets;
import com.simibubi.create.AllBlocks;
import com.simibubi.create.content.kinetics.base.HorizontalKineticBlock;
import net.minecraft.core.BlockPos;
@@ -24,14 +23,12 @@ 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 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 net.minecraftforge.network.PacketDistributor;
import java.util.Optional;
@@ -59,7 +56,7 @@ public class EngineBlock extends HorizontalKineticBlock {
if (be.upgrade.isPresent()) {
if (be.upgrade.get() instanceof TransmissionUpgrade) {
if (be.getControllerBE().engineController != null){
if (be.getControllerBE().engineController != null) {
if (level.getBlockEntity(be.getControllerBE().engineController) instanceof EngineControllerBlockEntity engineController) {
engineController.engineStarted = false;
engineController.accelerationRate = 0;
@@ -73,10 +70,10 @@ public class EngineBlock extends HorizontalKineticBlock {
}
//if(!level.isClientSide)
// TFMGPackets.getChannel().send(PacketDistributor.ALL.noArg(), new UpdateInFrontPacket(BlockPos.of(be.getPos())));
be.getControllerBE().engineController =null;
be.getControllerBE().engineController = null;
be.getControllerBE().highestSignal = 0;
be.getControllerBE().connectNextTick=true;
be.getControllerBE().fuelInjectionRate=0;
be.getControllerBE().connectNextTick = true;
be.getControllerBE().fuelInjectionRate = 0;
be.updateGeneratedRotation();
be.getControllerBE().updateGeneratedRotation();
be.getControllerBE().sendData();
@@ -92,19 +89,21 @@ public class EngineBlock extends HorizontalKineticBlock {
return InteractionResult.SUCCESS;
}
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();
if (be.getOrCreateNetwork() != null)
be.getOrCreateNetwork().remove(be);
be.setChanged();
be.sendData();
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;
}
@@ -132,7 +131,7 @@ public class EngineBlock extends HorizontalKineticBlock {
@Override
protected void createBlockStateDefinition(StateDefinition.Builder<Block, BlockState> builder) {
super.createBlockStateDefinition(builder);
builder.add(ENGINE_STATE,SHAFT_FACING);
builder.add(ENGINE_STATE, SHAFT_FACING);
}
@Override

View File

@@ -73,6 +73,15 @@ public class EngineProperties {
pistonPositions.add(new PistonPosition(0,f,f,315));
return pistonPositions;
}
public static List<PistonPosition> pistonsTurbine() {
List<PistonPosition> 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<ItemStack> componentsW(){

View File

@@ -373,7 +373,7 @@ public class EngineControllerBlockEntity extends SmartBlockEntity implements IHa
}
private void stopUsing(Player player) {
TFMG.LOGGER.debug("STOP USING");
user = null;
if (player != null)

View File

@@ -3,6 +3,7 @@ package com.drmangotea.tfmg.content.engines.types;
import com.drmangotea.tfmg.TFMG;
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;
@@ -51,8 +52,8 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
public TransmissionUpgrade.TransmissionState shift = TransmissionUpgrade.TransmissionState.NEUTRAL;
int oil = 0;
int coolingFluid = 0;
public int oil = 0;
public int coolingFluid = 0;
public EngineComponentsInventory componentsInventory;
@@ -72,8 +73,12 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
if (rpm == 0)
return 0;
float oilModifier = oil > 0 ? 0.7f : 1f;
return (int) (12.5f * (1 / efficiencyModifier()) * getSpeedEfficiency() * fuelInjectionRate) * (engineLength() + 1);
float coolingFluidModifier = coolingFluid > 0 ? 0.7f : 1f;
return (int) (12.5f * (1 / efficiencyModifier()) * getSpeedEfficiency() * fuelInjectionRate * oilModifier * coolingFluidModifier) * (engineLength() + 1);
}
public void detashEngines() {
@@ -132,10 +137,38 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
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)
@@ -292,53 +325,60 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
});
}
public boolean canGenerateSpeed() {
if (getBlockState().getValue(ENGINE_STATE) != SHAFT)
return false;
return true;
}
@Override
public float getGeneratedSpeed() {
float speed;
if (getBlockState().getValue(ENGINE_STATE) != SHAFT)
if (!canGenerateSpeed())
return 0;
if (hasLevel())
if (level.getBlockEntity(controller) instanceof AbstractSmallEngineBlockEntity controller) {
if (controller.fuelTank.isEmpty())
return 0;
if (!controller.canWork())
return 0;
speed = rpm / 40;
if (reverse)
speed = speed * -1;
if (controller.hasEngineController()) {
speed = switch (controller.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;
};
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()) {
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 convertToDirection(Math.min((int) speed, 256), getBlockState().getValue(HORIZONTAL_FACING));
}
return 0;
}
@Override
public void tankUpdated(FluidStack stack) {
public void tankUpdated(FluidStack stack, boolean fuel) {
if (stack.getFluid().isSame(TFMGFluids.CARBON_DIOXIDE.get()) && stack.getAmount() >= exhaustTank.getSpace())
updateRotation();
super.tankUpdated(stack);
super.tankUpdated(stack, fuel);
}
public boolean insertItem(ItemStack itemStack, boolean shifting, Player player, InteractionHand hand) {
@@ -527,6 +567,7 @@ public abstract class AbstractSmallEngineBlockEntity extends AbstractEngineBlock
return this;
}
@Override
public void tick() {

View File

@@ -2,9 +2,11 @@ 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.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;
@@ -13,6 +15,7 @@ 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 net.createmod.catnip.math.AngleHelper;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
import net.minecraft.core.Direction.Axis;
@@ -39,7 +42,6 @@ import java.util.List;
public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
//protected ScrollOptionBehaviour<WindmillBearingBlockEntity.RotationDirection> movementDirection;
public WeakReference<PoweredShaftBlockEntity> target;
@@ -50,8 +52,8 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
public LargeEngineBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
super(type, pos, state);
target = new WeakReference<>(null);
fuelTank = new EngineFluidTank(2000, false, true, this::tankUpdated, TFMGTags.TFMGFluidTags.AIR.tag);
airTank = new EngineFluidTank(1000, false, true, TFMGTags.TFMGFluidTags.AIR.tag, this::tankUpdated);
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));
refreshCapability();
}
@@ -93,26 +95,31 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
PoweredShaftBlockEntity shaft = getShaft();
if (shaft == null) {
if (level.isClientSide())
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;
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();
@@ -140,66 +147,46 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
}
/// /@OnlyIn(Dist.CLIENT)
//private void makeSound(Axis targetAxis, boolean verticalTarget) {
// Float targetAngle = getTargetAngle();
// PoweredShaftBlockEntity ste = target.get();
// if (ste == null)
// return;
// //if (engineStrength == 0)
// // return;
// PoweredShaftBlockEntity shaft = getShaft();
//
// if (tanks.get(true).isEmpty() || tanks.get(true).isEmpty()) {
// engineStrength = 0;
//
// shaft.update(worldPosition, getConveyedSpeedLevel(engineStrength, targetAxis, verticalTarget), engineStrength);
// return;
// }
//
// if (expansionBE != null) {
// if (airTank.isEmpty() && expansionBE.airTank.isEmpty()) {
// engineStrength = 0;
// shaft.update(worldPosition, getConveyedSpeedLevel(engineStrength, targetAxis, verticalTarget), engineStrength);
// return;
// }
// } else if (airTank.isEmpty()) {
// engineStrength = 0;
// shaft.update(worldPosition, getConveyedSpeedLevel(engineStrength, targetAxis, verticalTarget), engineStrength);
// return;
// }
//
// if (tanks.get(false).getFluidAmount() + 5 > 1000) {
// engineStrength = 0;
// shaft.update(worldPosition, getConveyedSpeedLevel(engineStrength, targetAxis, verticalTarget), engineStrength);
// return;
// }
//
// 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, 1f, false);
//
// prevAngle = angle;
//}
@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() {
@@ -230,6 +217,9 @@ public class LargeEngineBlockEntity extends AbstractEngineBlockEntity {
@Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
if(getShaft() == null)
return false;
TFMGUtils.createFluidTooltip(this,tooltip);
return true;

View File

@@ -21,24 +21,33 @@ public class RadialEngineBlockEntity extends RegularEngineBlockEntity {
}
@Override
public float getGeneratedSpeed() {
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;
//}
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

View File

@@ -1,14 +1,17 @@
package com.drmangotea.tfmg.content.engines.types.regular_engine;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.content.engines.base.AbstractEngineBlockEntity;
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.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.nbt.CompoundTag;
@@ -18,9 +21,12 @@ 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.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import net.minecraftforge.registries.ForgeRegistries;
import java.util.ArrayList;
@@ -40,6 +46,8 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
List<TagKey<Fluid>> supportedFuels = new ArrayList<>();
protected int soundTimer=0;
boolean updateFuel = true;
public RegularEngineBlockEntity(BlockEntityType<?> typeIn, BlockPos pos, BlockState state) {
@@ -48,7 +56,7 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
}
public EngineType getDefaultEngineType(){
public EngineType getDefaultEngineType() {
return EngineType.I;
}
@@ -123,6 +131,20 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
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) {
@@ -177,21 +199,22 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
}
if (hasAllComponents())
if (itemStack.is(TFMGItems.ENGINE_CYLINDER.get()) && 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 (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) {
@@ -203,8 +226,15 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
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.getOrCreateTag().getCompound("Fuels");
@@ -237,6 +267,10 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
public void tick() {
super.tick();
if (level.isClientSide)
makeSound();
if (updateFuel) {
refreshFuels();
updateFuel = false;
@@ -244,6 +278,27 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
}
@OnlyIn(Dist.CLIENT)
private void makeSound(){
soundTimer++;
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);
@@ -308,15 +363,69 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
@Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
for (TagKey<Fluid> tag : supportedFuels) {
if(!isController())
return getControllerBE().addToGoggleTooltip(tooltip,isPlayerSneaking);
CreateLang.text(tag.toString()).forGoggles(tooltip);
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.text("Type: " + type.name).forGoggles(tooltip);
super.addToGoggleTooltip(tooltip, isPlayerSneaking);
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;
}
@@ -332,7 +441,8 @@ public class RegularEngineBlockEntity extends AbstractSmallEngineBlockEntity {
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);
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;

View File

@@ -3,6 +3,7 @@ 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;
@@ -24,7 +25,8 @@ public class RegularEngineRenderer extends EngineRenderer {
@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());
@@ -57,6 +59,7 @@ public class RegularEngineRenderer extends EngineRenderer {
case I, U, BOXER -> TFMGPartialModels.SMALL_CYLINDER;
case V, W -> TFMGPartialModels.CYLINDER;
case RADIAL -> TFMGPartialModels.RADIAL_ENGINE_CYLINDER;
case TURBINE -> null;
};
}

View File

@@ -3,6 +3,8 @@ 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;
@@ -15,39 +17,28 @@ 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 EngineBlock implements IBE<TurbineEngineBlockEntity> {
public class TurbineEngineBlock extends RadialEngineBlock {
public TurbineEngineBlock(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 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 SHAFT, SINGLE -> TFMGShapes.TURBINE_ENGINE_BACK.get(state.getValue(SHAFT_FACING));
case BACK -> TFMGShapes.TURBINE_ENGINE_FRONT.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 boolean hasShaftTowards(LevelReader world, BlockPos pos, BlockState state, Direction face) {
return face==state.getValue(SHAFT_FACING)&&state.getValue(ENGINE_STATE)==EngineState.BACK;
}
@Override
public Class<TurbineEngineBlockEntity> getBlockEntityClass() {
return TurbineEngineBlockEntity.class;
}
@Override
public BlockEntityType<? extends TurbineEngineBlockEntity> getBlockEntityType() {
public BlockEntityType<? extends RegularEngineBlockEntity> getBlockEntityType() {
return TFMGBlockEntities.TURBINE_ENGINE.get();
}
}

View File

@@ -1,15 +1,13 @@
package com.drmangotea.tfmg.content.engines.types.turbine_engine;
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.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.AllItems;
import com.simibubi.create.AllSoundEvents;
import com.simibubi.create.foundation.item.SmartInventory;
import net.minecraft.core.BlockPos;
import net.minecraft.core.Direction;
@@ -21,152 +19,83 @@ 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 AbstractSmallEngineBlockEntity {
public SmartInventory turbineBladeInventory;
public class TurbineEngineBlockEntity extends RegularEngineBlockEntity {
public TurbineEngineBlockEntity(BlockEntityType<?> typeIn, BlockPos pos, BlockState state) {
super(typeIn, pos, state);
componentsInventory = new EngineComponentsInventory(this, EngineProperties.turbineEngineComponents());
turbineBladeInventory = createInventory();
componentsInventory = new EngineComponentsInventory(this, EngineProperties.turbineEngineComponents());
}
public SmartInventory createInventory() {
return new SmartInventory(4, this)
.withMaxStackSize(1)
.whenContentsChanged(this::onInventoryChanged);
}
public void updateInventory() {
turbineBladeInventory = createInventory();
}
@Override
public boolean canWork() {
public boolean canGenerateSpeed() {
return true;
}
if (level.getBlockEntity(controller) instanceof TurbineEngineBlockEntity controller) {
//@Override
//public List<TagKey<Fluid>> getSupportedFuels() {
// List<TagKey<Fluid>> 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;
// }
for (Long position : controller.getAllEngines()) {
if (level.getBlockEntity(BlockPos.of(position)) instanceof TurbineEngineBlockEntity be) {
for(int i =0;i<be.turbineBladeInventory.getSlots();i++){
if(be.turbineBladeInventory.getItem(i).isEmpty()) {
return false;
}
}
}
}
return super.canWork();
}
@Override
public EngineType getDefaultEngineType() {
return EngineType.TURBINE;
}
@Override
public boolean hasTwoShafts() {
return false;
}
private void onInventoryChanged(int integer) {
updateRotation();
sendData();
setChanged();
}
@Override
public boolean insertItem(ItemStack itemStack, boolean shifting, Player player, InteractionHand hand) {
if (itemStack.is(TFMGItems.SCREWDRIVER.get())) {
if (!turbineBladeInventory.isEmpty()) {
for (int i = 0; i < turbineBladeInventory.getSlots(); i++) {
if (!turbineBladeInventory.getItem(i).isEmpty()) {
dropItem(turbineBladeInventory.getItem(i));
turbineBladeInventory.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 (itemStack.is(TFMGItems.TURBINE_BLADE.get())) {
for (int i = turbineBladeInventory.getSlots() - 1; i >= 0; i--) {
if (turbineBladeInventory.getItem(i).isEmpty()) {
ItemStack toInsert = itemStack.copy();
toInsert.setCount(1);
turbineBladeInventory.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);
}
@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
protected void write(CompoundTag compound, boolean clientPacket) {
super.write(compound, clientPacket);
compound.put("TurbineBlades", turbineBladeInventory.serializeNBT());
}
@Override
protected void read(CompoundTag compound, boolean clientPacket) {
super.read(compound, clientPacket);
turbineBladeInventory.deserializeNBT(compound.getCompound("TurbineBlades"));
}
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;
@@ -180,29 +109,4 @@ public class TurbineEngineBlockEntity extends AbstractSmallEngineBlockEntity {
}
@Override
public List<TagKey<Fluid>> getSupportedFuels() {
return List.of(TFMGTags.TFMGFluidTags.KEROSENE.tag);
}
@Override
public float efficiencyModifier() {
return getFuelType().getEfficiency() * getUpgradeEfficiencyModifier();
}
@Override
public float speedModifier() {
return getFuelType().getSpeed() * getUpgradeSpeedModifier();
}
@Override
public float torqueModifier() {
return getFuelType().getStress() * getUpgradeTorqueModifier();
}
@Override
public String engineId() {
return "turbine";
}
}

View File

@@ -1,6 +1,5 @@
package com.drmangotea.tfmg.content.machinery.metallurgy.blast_furnace;
import com.drmangotea.tfmg.TFMG;
import com.drmangotea.tfmg.base.TFMGUtils;
import com.drmangotea.tfmg.config.TFMGConfigs;
import com.drmangotea.tfmg.datagen.TFMGDamageSources;
@@ -10,7 +9,6 @@ import com.drmangotea.tfmg.registry.TFMGFluids;
import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
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;
@@ -18,7 +16,6 @@ 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;
@@ -33,7 +30,6 @@ 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.AABB;
import net.minecraftforge.common.capabilities.Capability;
import net.minecraftforge.common.capabilities.ForgeCapabilities;
@@ -123,7 +119,7 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
CreateLang.translate("goggles.blast_furnace.fuel_amount", fuel)
.forGoggles(tooltip, 1);
if(isReinforced)
if (isReinforced)
CreateLang.translate("goggles.blast_furnace.reinforced")
.style(ChatFormatting.GREEN)
.forGoggles(tooltip);
@@ -144,9 +140,9 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
return;
IndustrialBlastingRecipe recipe = optional.get();
if (!(recipe.getIngredients().get(1).test(fluxInventory.getItem(0))))
return;
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;
@@ -158,8 +154,8 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
double timeModifier = maxHeigth / ((baseDuration / 2) * maxTimeModifier);
timer = (int) (baseDuration - (heigth / timeModifier));
if(isReinforced)
timer /=2;
if (isReinforced)
timer /= 2;
}
@Override
@@ -197,12 +193,18 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
int itemsUsed = 1;
int fluxUsed = 1;
if (!(primaryTank.getSpace() >= recipe.getPrimaryResult().getAmount()) || !(secondaryTank.getSpace() >= recipe.getSecondaryResult().getAmount()))
if (!(primaryTank.getSpace() >= recipe.getPrimaryResult().getAmount()))
return;
if (recipe.getFluidResults().size() > 1)
if (!(secondaryTank.getSpace() >= recipe.getSecondaryResult().getAmount()))
return;
inputInventory.getItem(0).shrink(1);
fluxInventory.getItem(0).shrink(recipe.getIngredients().size() - 1);
if (recipe.getIngredients().size() > 1)
fluxInventory.getItem(0).shrink(recipe.getIngredients().size() - 1);
primaryTank.fill(recipe.getPrimaryResult(), IFluidHandler.FluidAction.EXECUTE);
secondaryTank.fill(recipe.getSecondaryResult(), IFluidHandler.FluidAction.EXECUTE);
if (recipe.getFluidResults().size() > 1)
secondaryTank.fill(recipe.getSecondaryResult(), IFluidHandler.FluidAction.EXECUTE);
timer = -1;
@@ -256,12 +258,6 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
if (fuel == 0)
return false;
Fluid fluidNeeded1 = recipe.getFluidResults().get(0).getFluid();
Fluid fluidNeeded2 = recipe.getFluidResults().get(1).getFluid();
Fluid fluidContained1 = primaryTank.getFluid().getFluid();
Fluid fluidContained2 = secondaryTank.getFluid().getFluid();
if (!primaryTank.getFluid().isEmpty() && !primaryTank.getFluid().getFluid().isSame(recipe.getPrimaryResult().getFluid()))
return false;
if (!secondaryTank.getFluid().isEmpty() && !secondaryTank.getFluid().getFluid().isSame(recipe.getSecondaryResult().getFluid()))
@@ -391,7 +387,7 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
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;
isReinforced = normalAmount == 0 && reinforcedAmount > 0;
return size;
} else {
if (wall == FurnaceBlockType.REGULAR) {
@@ -401,12 +397,12 @@ public class BlastFurnaceOutputBlockEntity extends SmartBlockEntity implements I
}
} else if (checkedPos.getX() == middlePos.getX() && checkedPos.getZ() == middlePos.getZ()) {
if (!level.getBlockState(checkedPos).isAir() && i != 0) {
isReinforced = normalAmount ==0&&reinforcedAmount>0;
isReinforced = normalAmount == 0 && reinforcedAmount > 0;
return size;
}
} else if (support == FurnaceBlockType.NONE) {
isReinforced = normalAmount ==0&&reinforcedAmount>0;
isReinforced = normalAmount == 0 && reinforcedAmount > 0;
return size;
} else {
if (support == FurnaceBlockType.REGULAR) {

View File

@@ -28,6 +28,7 @@ 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;
@@ -127,6 +128,8 @@ public class CastingBasinBlockEntity extends SmartBlockEntity implements IHaveGo
ItemHelper.dropContents(level, worldPosition, inventory);
}
@Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
TFMGUtils.createFluidTooltip(this, tooltip);

View File

@@ -4,6 +4,7 @@ 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.TFMGBlocks;
import com.drmangotea.tfmg.registry.TFMGItems;
import com.drmangotea.tfmg.registry.TFMGRecipeTypes;
import com.simibubi.create.api.equipment.goggles.IHaveGoggleInformation;
@@ -164,14 +165,18 @@ public class WindingMachineBlockEntity extends KineticBlockEntity implements IHa
if (getSpeed() == 0)
return;
if (inventory.getItem(0).is(TFMGItems.ELECTROMAGNETIC_COIL.get()) && spool.is(TFMGItems.COPPER_SPOOL.get()) && spool.getOrCreateTag().getInt("Amount") > 0 && inventory.getItem(0).getOrCreateTag().getInt("Turns") < turnPercentage.getValue() * 10) {
spool.getOrCreateTag().putInt("Amount", spool.getOrCreateTag().getInt("Amount") - 1);
inventory.getItem(0).getOrCreateTag().putInt("Turns", inventory.getItem(0).getOrCreateTag().getInt("Turns") + 1);
return;
if(inventory.getItem(0).getOrCreateTag().getInt("Turns")< turnPercentage.getValue()*10){
spool.getOrCreateTag().putInt("Amount", spool.getOrCreateTag().getInt("Amount") - 1);
inventory.getItem(0).getOrCreateTag().putInt("Turns", inventory.getItem(0).getOrCreateTag().getInt("Turns") + 1);
return;
}
}
if (inventory.getItem(0).is(TFMGItems.UNFINISHED_RESISTOR.get()) && spool.is(TFMGItems.CONSTANTAN_SPOOL.get()) && spool.getOrCreateTag().getInt("Amount") > 0 && inventory.getItem(0).getOrCreateTag().getInt("Resistance") < turnPercentage.getValue() * 10) {
spool.getOrCreateTag().putInt("Amount", spool.getOrCreateTag().getInt("Amount") - 1);
inventory.getItem(0).getOrCreateTag().putInt("Resistance", inventory.getItem(0).getOrCreateTag().getInt("Resistance") + 1);
return;
if (inventory.getItem(0).is(TFMGBlocks.RESISTOR.asItem()) && spool.is(TFMGItems.CONSTANTAN_SPOOL.get()) && spool.getOrCreateTag().getInt("Amount") > 0 && inventory.getItem(0).getOrCreateTag().getInt("Resistance") < turnPercentage.getValue() * 10) {
if(inventory.getItem(0).getOrCreateTag().getInt("Resistance")< turnPercentage.getValue()*10) {
spool.getOrCreateTag().putInt("Amount", spool.getOrCreateTag().getInt("Amount") - 1);
inventory.getItem(0).getOrCreateTag().putInt("Resistance", inventory.getItem(0).getOrCreateTag().getInt("Resistance") + 1);
return;
}
}

View File

@@ -22,6 +22,7 @@ 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.theme.Color;
import net.createmod.ponder.api.level.PonderLevel;
import net.minecraft.ChatFormatting;
import net.minecraft.core.BlockPos;
@@ -155,7 +156,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
}
updateTemperature();
if (level.isClientSide&&!(level instanceof PonderLevel)) {
if (level.isClientSide && !(level instanceof PonderLevel)) {
int tankNumber = 0;
for (int i = 0; i < 8; i++) {
IFluidHandler fluidHandler = this.getCapability(ForgeCapabilities.FLUID_HANDLER).orElse(null);
@@ -281,7 +282,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
break;
}
}
if(!found) {
if (!found) {
doesntMatch = true;
break;
}
@@ -372,7 +373,6 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
super.tick();
handleRecipe();
if (syncCooldown > 0) {
@@ -488,7 +488,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
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(), fluidStack.getAmount() + fluidInTank.getAmount()), IFluidHandler.FluidAction.EXECUTE);
outputFluidHandler.fill(new FluidStack(fluidStack.copy(), fluidStack.getAmount()), IFluidHandler.FluidAction.EXECUTE);
handledFluidResults.add(i);
break;
}
@@ -496,7 +496,7 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
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(), fluidStack.getAmount() + fluidInTank.getAmount()), IFluidHandler.FluidAction.EXECUTE);
outputFluidHandler.fill(new FluidStack(fluidStack.copy(), fluidStack.getAmount()), IFluidHandler.FluidAction.EXECUTE);
break;
}
}
@@ -508,6 +508,10 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
}
}
@Override
public BlockPos getLastKnownPos() {
return lastKnownPos;
@@ -851,15 +855,33 @@ public class VatBlockEntity extends SmartBlockEntity implements IHaveGoggleInfor
@Override
public boolean addToGoggleTooltip(List<Component> tooltip, boolean isPlayerSneaking) {
CreateLang.text("Speed " + efficiency * 100 + "%").forGoggles(tooltip);
CreateLang.text("Heat " + heatLevel).forGoggles(tooltip);
for (String operation : machines)
CreateLang.text(operation).forGoggles(tooltip);
CreateLang.translate("gui.goggles.basin_contents")
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.orElse(new ItemStackHandler());
IFluidHandler fluids = fluidCapability.orElse(new FluidTank(0));
boolean isEmpty = true;

View File

@@ -54,7 +54,7 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
if (electrodeType != ElectrodeType.NONE) {
if(electrodeType == ElectrodeType.GRAPHITE) {
return 200;
return 300;
}else return 100;
}
@@ -86,9 +86,7 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
VatBlock.updateVatState(getBlockState(), level, getBlockPos().relative(Direction.DOWN));
}
boolean isSuperheated() {
return electrodeType == ElectrodeType.GRAPHITE && getCurrent() >= TFMGConfigs.common().machines.graphiteElectrodeCurrent.get();
}
boolean isOperational() {
return getCurrent() >= TFMGConfigs.common().machines.electrolysisMinimumCurrent.get()&&canWork();
@@ -126,7 +124,7 @@ public class ElectrodeHolderBlockEntity extends ElectricBlockEntity implements I
case NONE -> "";
case COPPER, ZINC -> isOperational() ? "tfmg:electrode" : "";
case GRAPHITE -> isSuperheated() ? "tfmg:graphite_electrode" : isOperational() ? "tfmg:electrode" : "";
case GRAPHITE -> isOperational() ? "tfmg:graphite_electrode" : "";
};
}

View File

@@ -30,7 +30,7 @@ public class ElectrodeHolderRenderer extends SafeBlockEntityRenderer<ElectrodeHo
return;
CachedBuffers.partial(be.isSuperheated() ? TFMGPartialModels.GRAPHITE_ELECTRODE_SUPERHEATED : be.electrodeType.model, blockState)
CachedBuffers.partial(be.electrodeType.model, blockState)
.light(LevelRenderer.getLightColor(be.getLevel(), be.getBlockPos().below()))
.translateY(-1)
.renderInto(ms, buffer.getBuffer(RenderType.cutoutMipped()));

View File

@@ -20,6 +20,7 @@ import net.createmod.catnip.platform.CatnipServices;
import net.minecraft.data.PackOutput;
import net.minecraft.data.recipes.FinishedRecipe;
import net.minecraft.data.recipes.RecipeProvider;
import net.minecraft.nbt.CompoundTag;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.tags.ItemTags;
import net.minecraft.tags.TagKey;
@@ -355,9 +356,6 @@ public class TFMGRecipeProvider extends RecipeProvider {
public static ItemLike plasticPipe() {
return TFMGPipes.TFMG_PIPES.get(TFMGPipes.PipeMaterial.PLASTIC).get(0);
}
public static ItemLike turbineBlade() {
return TFMGItems.TURBINE_BLADE.get();
}
public static ItemLike magneticIngot() {
return TFMGItems.MAGNETIC_ALLOY_INGOT.get();
}
@@ -598,12 +596,12 @@ public class TFMGRecipeProvider extends RecipeProvider {
}
public static Ingredient resistor10Ohms(){
public static ItemStack resistor10Ohms(){
ItemStack stack = TFMGBlocks.RESISTOR.asStack();
stack.getOrCreateTag().putInt("Resistance",10);
return Ingredient.of(stack);
return stack;
}
public static ItemStack coil100Turns(){
@@ -612,6 +610,20 @@ public class TFMGRecipeProvider extends RecipeProvider {
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.getOrCreateTag().put("Fuels", keroseneTag);
stack.getOrCreateTag().put("FuelNames", keroseneTagName);
return stack;
}
}

View File

@@ -6,12 +6,14 @@ 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.simibubi.create.AllBlocks;
import com.simibubi.create.AllItems;
import com.simibubi.create.AllRecipeTypes;
import com.simibubi.create.content.decoration.palettes.AllPaletteBlocks;
import com.simibubi.create.foundation.data.recipe.CompatMetals;
import com.simibubi.create.foundation.data.recipe.Mods;
@@ -673,14 +675,6 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
.pattern(" A ")
.pattern(" ")),
TURBINE = create(TFMGItems.TURBINE_BLADE).returns(2)
.unlockedBy(AllItems.IRON_SHEET::get)
.viaShaped(b -> b
.define('S', shaft())
.define('P', ironSheet())
.pattern("PPP")
.pattern("PSP")
.pattern("PPP")),
CABLE_TUBE = create(TFMGBlocks.CABLE_TUBE)
.unlockedBy(TFMGItems.RUBBER_SHEET::get)
@@ -733,16 +727,16 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
.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")),
// 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)
@@ -1153,6 +1147,26 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
.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
@@ -1540,6 +1554,24 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
.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
@@ -2270,6 +2302,8 @@ public class TFMGStandardRecipeGen extends TFMGRecipeProvider {
return new Marker();
}
GeneratedRecipeBuilder create(Supplier<ItemLike> result) {
return new GeneratedRecipeBuilder(currentFolder, result);
}

View File

@@ -35,7 +35,10 @@ public class TFMGCrushingRecipeGen extends TFMGProcessingRecipeGen {
SALTPETER = create(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)

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