ponders
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// 1.19.2 2023-11-01T14:33:21.8836334 Registrate Provider for createindustry [Recipes, Advancements, Loot tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
// 1.19.2 2023-11-02T15:43:25.647238 Registrate Provider for createindustry [Recipes, Advancements, Loot tables, Tags (blocks), Tags (items), Tags (fluids), Tags (entity_types), Blockstates, Item models, Lang (en_us/en_ud)]
|
||||
50db526af77cf0ead08cadfd3f7daa8b84a40312 assets/createindustry/blockstates/air_intake.json
|
||||
429437419b2ec98bd716e7ba15583b84da7488d5 assets/createindustry/blockstates/aluminum_bars.json
|
||||
9e2417e479011e42ebf00685068e6b6f515f0b11 assets/createindustry/blockstates/aluminum_block.json
|
||||
@@ -1140,6 +1140,7 @@ bb6ed3bebbde28633a04b3c36c5ddfa2b761e2c1 data/forge/tags/items/buckets/naphtha.j
|
||||
9fbe71f4776547000044bcc08054bb6ab2da4639 data/forge/tags/items/buckets/slag.json
|
||||
94945bea02cca0bfa9c9c05fa16b5533f47024c0 data/forge/tags/items/buckets/steel.json
|
||||
ecf1a4c60ac630afe103f9d1c8bfea432158bdf9 data/forge/tags/items/concrete.json
|
||||
d3d09e8b5b11e9272ed9e56093116cd3d82226f3 data/forge/tags/items/dusts/charcoal.json
|
||||
8d6fdd619eb49c2a6d8ee3f30138b6aa1c24a9a8 data/forge/tags/items/dusts/coal_coke.json
|
||||
a5782b1478ab73e6bc6582e4008338de550b3fc6 data/forge/tags/items/factory_floor.json
|
||||
6f21498ac0f4c376952c9c596a4813ec0919e966 data/forge/tags/items/ingots/aluminum.json
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
// 1.19.2 2023-11-01T15:21:42.7803908 Create: The Factory Must Grow's lang merger
|
||||
03dd999e2b7c33844c23e1c90ffb51f1098b6c7c assets/createindustry/lang/en_us.json
|
||||
// 1.19.2 2023-11-04T17:59:14.3408431 Create: The Factory Must Grow's lang merger
|
||||
d1ce4ba37e273babae91e01f54aba93f4014b80b assets/createindustry/lang/en_us.json
|
||||
|
||||
@@ -336,6 +336,62 @@
|
||||
|
||||
"create.goggles.get_engine_efficiency": "%1$s",
|
||||
"create.goggles.engine.stress": "%1$ssu",
|
||||
"create.goggles.blast_furnace.nothing_lol": "",
|
||||
"create.goggles.diesel_engine.info": "Diesel Engine:",
|
||||
"create.goggles.pumpjack_info": "Pumpjack Info:",
|
||||
"create.goggles.pumpjack.part_missing": "Hammer or Crank Missing",
|
||||
"create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must",
|
||||
"create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder",
|
||||
"create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:",
|
||||
|
||||
"create.pumpjack_deposit_amount": "%1$s Buckets",
|
||||
|
||||
"create.goggles.pumpjack.deposit_info": "Deposit Info:",
|
||||
"create.goggles.zero": "No Deposit Found",
|
||||
"create.goggles.pumpjack.fluid_amount": "Fluid Amount:",
|
||||
"create.goggles.machine_input.info": "Machine Input Info",
|
||||
"create.goggles.machine_input.no_rot": "No Rotation Provided!",
|
||||
"create.goggles.machine_input.power_level": "Power Level: ",
|
||||
|
||||
"createindustry.ponder.small_engines.text_1": "To create a small engine, place front part and back part next to each other",
|
||||
"createindustry.ponder.small_engines.text_2": "Fuel is inputted to the front part and exhaust is removed from the back part using pipes and an exhaust block",
|
||||
"createindustry.ponder.small_engines.text_3": "Engine will start when redstone signal is applied to the front part",
|
||||
"createindustry.ponder.small_engines.text_4": "There are engines with Gasoline, LPG and Kerosene as a fuel",
|
||||
"createindustry.ponder.diesel_engine_small.text_1": "Diesel Engine is assembled by placing a shaft over a diesel engine block",
|
||||
"createindustry.ponder.diesel_engine_small.text_2": "Carbon Dioxide has to be outputted by pipes and exhaust block",
|
||||
"createindustry.ponder.diesel_engine_big.text_1": "Diesel engines can be placed next to each other to form bigger ones",
|
||||
"createindustry.ponder.diesel_engine_big.text_2": "This way, Diesel Engines can have very big output",
|
||||
"createindustry.ponder.surface_scanner.text_1": "Surface Scanner is use for finding crude oil deposits",
|
||||
"createindustry.ponder.surface_scanner.text_2": "When rotation is applied, the machine starts to find a nearest oil deposit",
|
||||
"createindustry.ponder.surface_scanner.text_3": "When a deposit is found, it will write coordinates of it in a goggle tooltip",
|
||||
"createindustry.ponder.surface_scanner.text_4": "X: 47 Z: 68",
|
||||
"createindustry.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from deposit to surface",
|
||||
"createindustry.ponder.pumpjack.text_2": "Then pumpjack has to be built on the top of the pipe",
|
||||
"createindustry.ponder.distillation_tower.text_1": "Base of a distillation tower are steel tanks",
|
||||
"createindustry.ponder.distillation_tower.text_2": "Tower is assembled by placing Steel Distillation Controller next to the tanks",
|
||||
"createindustry.ponder.distillation_tower.text_3": "Placing 5 Distillation outputs and 5 Industrial Pipes finishes the structure",
|
||||
"createindustry.ponder.distillation_tower.text_4": "Place Blaze Burners under the tanks to power it, dial on the tower shows the power level of the structure",
|
||||
"createindustry.ponder.distillation_tower.text_5": "Oil is inputted into the controller block",
|
||||
"createindustry.ponder.distillation_tower.text_6": "Every output block outputs one of the oil products",
|
||||
"createindustry.ponder.distillation_tower.text_7": "LPG",
|
||||
"createindustry.ponder.distillation_tower.text_8": "Kerosene",
|
||||
"createindustry.ponder.distillation_tower.text_9": "Gasoline",
|
||||
"createindustry.ponder.distillation_tower.text_10": "Diesel",
|
||||
"createindustry.ponder.distillation_tower.text_11": "Heavy Oil",
|
||||
|
||||
"createindustry.ponder.distillation_tower.header": "Distillation Tower Setup",
|
||||
|
||||
"createindustry.ponder.pumpjack.header": "Building Pumpjack",
|
||||
|
||||
"createindustry.ponder.surface_scanner.header": "Finding Oil",
|
||||
|
||||
"createindustry.ponder.diesel_engine_big.header": "Making Big Engines",
|
||||
|
||||
"createindustry.ponder.diesel_engine_small.header": "Building Diesel Engine",
|
||||
|
||||
"createindustry.ponder.small_engines.header": "Building Small Engines",
|
||||
"createindustry.ponder.tag.oil": "Oil Related Machines",
|
||||
"createindustry.ponder.tag.oil.description": "Machines that mine, process or use crude oil and fluids created from it",
|
||||
|
||||
|
||||
"_": "->------------------------] UI & Messages [------------------------<-",
|
||||
@@ -391,6 +447,83 @@
|
||||
"create.goggles.get_engine_efficiency": "%1$s",
|
||||
"create.goggles.engine.stress": "%1$ssu",
|
||||
"create.goggles.diesel_engine.info": "Diesel Engine:",
|
||||
"create.goggles.pumpjack_info": "Pumpjack Info:",
|
||||
"create.goggles.pumpjack.part_missing": "Hammer or Crank Missing",
|
||||
"create.goggles.pumpjack.wrong_rotation1": "The Pumpjack Base is oriented incorrectly, the red marker must",
|
||||
"create.goggles.pumpjack.wrong_rotation2": "face away from the Pumpjack Hammer Holder",
|
||||
"create.goggles.pumpjack_fluid_storage": "Fluid Tank Info:",
|
||||
|
||||
"create.pumpjack_deposit_amount": "%1$s Buckets",
|
||||
|
||||
"create.goggles.pumpjack.deposit_info": "Deposit Info:",
|
||||
"create.goggles.zero": "No Deposit Found",
|
||||
"create.goggles.pumpjack.fluid_amount": "Fluid Amount:",
|
||||
"create.goggles.machine_input.info": "Machine Input Info",
|
||||
"create.goggles.machine_input.no_rot": "No Rotation Provided!",
|
||||
"create.goggles.machine_input.power_level": "Power Level: ",
|
||||
|
||||
|
||||
"_": "->------------------------] Ponders [------------------------<-",
|
||||
|
||||
"createindustry.ponder.small_engines.text_1": "To create a small engine, place a front part and a back part behind it",
|
||||
"createindustry.ponder.small_engines.text_2": "Fuel is inputted to the front part and exhaust is removed from the back part using pipes and an exhaust block",
|
||||
"createindustry.ponder.small_engines.text_3": "Engine will start when redstone signal is applied to the front part",
|
||||
"createindustry.ponder.small_engines.text_4": "There are engines with Gasoline, LPG and Kerosene as a fuel",
|
||||
"createindustry.ponder.diesel_engine.text_1": "Diesel Engine is assembled by placing a shaft in the front of a diesel engine block",
|
||||
"createindustry.ponder.diesel_engine.text_2": "Carbon Dioxide has to be outputted by pipes and exhaust block",
|
||||
"createindustry.ponder.diesel_engine.text_3": "Diesel engines need air that can be collected with air intakes",
|
||||
"createindustry.ponder.diesel_engine_expansion.text_1": "Diesel engine expansions give diesel engines 2 new fluid slots, for cooling and lubrication",
|
||||
"createindustry.ponder.surface_scanner.text_1": "Surface Scanner is used for finding crude oil deposits",
|
||||
"createindustry.ponder.surface_scanner.text_2": "When rotation is applied, the machine starts to find the nearest oil deposit",
|
||||
"createindustry.ponder.surface_scanner.text_3": "When a deposit is found, compass at the top will show the direction",
|
||||
"createindustry.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from deposit to surface",
|
||||
"createindustry.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe",
|
||||
"createindustry.ponder.pumpjack.text_3": "Pumpjack hammer needs to be placed behind it",
|
||||
"createindustry.ponder.pumpjack.text_4": "The last step is placing a machine input (which is a power input for the pumpjack) with a pumpjack crank above it",
|
||||
"createindustry.ponder.distillation_tower.text_1": "Base of a distillation tower are steel tanks",
|
||||
"createindustry.ponder.distillation_tower.text_2": "Tower is assembled by placing Steel Distillation Controller next to the tanks",
|
||||
"createindustry.ponder.distillation_tower.text_3": "To finish the multiblock place up to 6 Distillation outputs and Industrial Pipes between them",
|
||||
"createindustry.ponder.distillation_tower.text_4": "Place Blaze Burners under the tanks to power it, dial on the tower shows the power level of the structure",
|
||||
"createindustry.ponder.distillation_tower.text_5": "Oil is inserted into the controller block",
|
||||
"createindustry.ponder.distillation_tower.text_6": "Every output block outputs one of the oil products",
|
||||
"createindustry.ponder.distillation_tower.text_7": "LPG",
|
||||
"createindustry.ponder.distillation_tower.text_8": "Gasoline",
|
||||
"createindustry.ponder.distillation_tower.text_9": "Naphtha",
|
||||
"createindustry.ponder.distillation_tower.text_10": "Kerosene",
|
||||
"createindustry.ponder.distillation_tower.text_11": "Diesel",
|
||||
"createindustry.ponder.distillation_tower.text_12": "Heavy Oil",
|
||||
"createindustry.ponder.blast_furnace.text_1": "Main part of a blast furnace is a blast furnace output",
|
||||
"createindustry.ponder.blast_furnace.text_2": "To make a blast furnace, make a cylinder of fireproof bricks around it",
|
||||
"createindustry.ponder.blast_furnace.text_3": "Blast furnaces need reinforcements that are at least half the total height",
|
||||
"createindustry.ponder.blast_furnace.text_4": "Everything is inserted through a hole at the top",
|
||||
"createindustry.ponder.coke_oven.text_1": "Coke Oven is created by placing coke oven block as shown and clicking the front block with a wrench",
|
||||
"createindustry.ponder.coke_oven.text_2": "Coke Ovens are slow so it is beneficial to have long arrays of them",
|
||||
"createindustry.ponder.coke_oven.text_3": "Coal can be inserted from anywhere",
|
||||
"createindustry.ponder.coke_oven.text_4": "Creosote and Carbon Dioxide have to be pumped out of the machine",
|
||||
"createindustry.ponder.coke_oven.text_5": "After some time, coal coke will fall out of the machine at the front",
|
||||
"createindustry.ponder.casting.text_1": "Casting is done by pouring liquid metal into a casting basin with a casting spout",
|
||||
"createindustry.ponder.casting.text_2": "Casting basin needs a mold to function",
|
||||
|
||||
"createindustry.ponder.distillation_tower.header": "Distillation Tower Setup",
|
||||
|
||||
"createindustry.ponder.pumpjack.header": "Building Pumpjack",
|
||||
|
||||
"createindustry.ponder.surface_scanner.header": "Finding Oil",
|
||||
|
||||
"createindustry.ponder.diesel_engine.header": "Building Diesel Engine",
|
||||
|
||||
"createindustry.ponder.diesel_engine_expansion.header": "Expanding Diesel Engines",
|
||||
|
||||
"createindustry.ponder.small_engines.header": "Building Small Engines",
|
||||
|
||||
"createindustry.ponder.coke_oven.header": "Building Coke Oven",
|
||||
"createindustry.ponder.blast_furnace": "Building Blast Furnace",
|
||||
|
||||
"createindustry.ponder.casting.header": "Casting Metal",
|
||||
"createindustry.ponder.tag.oil": "Oil Related Machines",
|
||||
"createindustry.ponder.tag.metallurgy": "Metal Processing Related Machines",
|
||||
"createindustry.ponder.tag.oil.description": "Machines that mine, process or use crude oil and fluids created from it",
|
||||
"createindustry.ponder.tag.metallurgy.description": "Machines that mine, process or use crude oil and fluids created from it",
|
||||
|
||||
"_": "Thank you for translating Create: The Factory Must Grow!"
|
||||
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_cut_bauxite_bricks": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"createindustry:cut_bauxite_bricks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "createindustry:cut_bauxite_brick_slab"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_cut_bauxite_bricks",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"createindustry:cut_bauxite_brick_slab"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_cut_bauxite_bricks": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"createindustry:cut_bauxite_bricks"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "createindustry:cut_bauxite_brick_wall"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_cut_bauxite_bricks",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"createindustry:cut_bauxite_brick_wall"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_stone_types_bauxite": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"tag": "createindustry:stone_types/bauxite"
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "createindustry:cut_bauxite_from_stone_types_bauxite_stonecutting"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_stone_types_bauxite",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"createindustry:cut_bauxite_from_stone_types_bauxite_stonecutting"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,34 @@
|
||||
{
|
||||
"parent": "minecraft:recipes/root",
|
||||
"criteria": {
|
||||
"has_cut_bauxite": {
|
||||
"conditions": {
|
||||
"items": [
|
||||
{
|
||||
"items": [
|
||||
"createindustry:cut_bauxite"
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
"trigger": "minecraft:inventory_changed"
|
||||
},
|
||||
"has_the_recipe": {
|
||||
"conditions": {
|
||||
"recipe": "createindustry:cut_bauxite_wall"
|
||||
},
|
||||
"trigger": "minecraft:recipe_unlocked"
|
||||
}
|
||||
},
|
||||
"requirements": [
|
||||
[
|
||||
"has_cut_bauxite",
|
||||
"has_the_recipe"
|
||||
]
|
||||
],
|
||||
"rewards": {
|
||||
"recipes": [
|
||||
"createindustry:cut_bauxite_wall"
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"group": "cut_bauxite_brick_stairs",
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "createindustry:cut_bauxite_bricks"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"X ",
|
||||
"XX ",
|
||||
"XXX"
|
||||
],
|
||||
"result": {
|
||||
"count": 4,
|
||||
"item": "createindustry:cut_bauxite_brick_stairs"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"group": "cut_bauxite_stairs",
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "createindustry:cut_bauxite"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"X ",
|
||||
"XX ",
|
||||
"XXX"
|
||||
],
|
||||
"result": {
|
||||
"count": 4,
|
||||
"item": "createindustry:cut_bauxite_stairs"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"group": "small_bauxite_brick_slab",
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "createindustry:small_bauxite_bricks"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"XXX"
|
||||
],
|
||||
"result": {
|
||||
"count": 6,
|
||||
"item": "createindustry:small_bauxite_brick_slab"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"type": "minecraft:crafting_shaped",
|
||||
"group": "small_bauxite_brick_stairs",
|
||||
"key": {
|
||||
"X": {
|
||||
"item": "createindustry:small_bauxite_bricks"
|
||||
}
|
||||
},
|
||||
"pattern": [
|
||||
"X ",
|
||||
"XX ",
|
||||
"XXX"
|
||||
],
|
||||
"result": {
|
||||
"count": 4,
|
||||
"item": "createindustry:small_bauxite_brick_stairs"
|
||||
}
|
||||
}
|
||||
@@ -65,6 +65,7 @@ public class CreateTFMG
|
||||
modEventBus.addListener(this::clientSetup);
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
@SuppressWarnings("removal")
|
||||
public static void gatherData(GatherDataEvent event) {
|
||||
DataGenerator gen = event.getGenerator();
|
||||
gen.addProvider(true, new LangMerger(gen, MOD_ID, NAME, TFMGLangPartials.values()));
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.drmangotea.createindustry;
|
||||
|
||||
|
||||
import com.drmangotea.createindustry.items.gadgets.quad_potato_cannon.QuadPotatoCannonRenderHandler;
|
||||
import com.drmangotea.createindustry.ponder.TFMGPonderIndex;
|
||||
import com.drmangotea.createindustry.registry.TFMGPartialModels;
|
||||
import net.minecraftforge.eventbus.api.IEventBus;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
@@ -19,8 +20,8 @@ public class CreateTFMGClient {
|
||||
|
||||
@SubscribeEvent
|
||||
public void setup(final FMLClientSetupEvent event) {
|
||||
// CIPonderIndex.register();
|
||||
//CIPonderIndex.registerTags();
|
||||
TFMGPonderIndex.register();
|
||||
TFMGPonderIndex.registerTags();
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,8 @@ import com.simibubi.create.foundation.utility.FilesHelper;
|
||||
import com.simibubi.create.foundation.utility.Lang;
|
||||
|
||||
public enum TFMGLangPartials implements LangPartial {
|
||||
INTERFACE("UI & Messages");
|
||||
INTERFACE("UI & Messages"),
|
||||
PONDERS("Ponders");
|
||||
|
||||
;
|
||||
|
||||
|
||||
@@ -35,6 +35,12 @@ public class TFMGSpriteShifts {
|
||||
ALUMINUM_SCAFFOLD_INSIDE = horizontal("scaffold/aluminum_scaffold_inside");
|
||||
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
COKE_OVEN_TOP = getCT(AllCTTypes.RECTANGLE, "coke_oven_top"),
|
||||
COKE_OVEN_BOTTOM = getCT(AllCTTypes.RECTANGLE, "coke_oven_bottom"),
|
||||
COKE_OVEN_BACK = getCT(AllCTTypes.RECTANGLE, "coke_oven_back"),
|
||||
COKE_OVEN_SIDE = getCT(AllCTTypes.RECTANGLE, "coke_oven_side");
|
||||
|
||||
|
||||
public static final CTSpriteShiftEntry
|
||||
STEEL_ENCASED_COGWHEEL_SIDE = vertical("steel_encased_cogwheel_side"),
|
||||
|
||||
@@ -23,7 +23,7 @@ import net.minecraft.world.level.material.Fluids;
|
||||
|
||||
import java.util.Random;
|
||||
|
||||
public class ExhaustBlock extends RodBlock implements IBE<ExhaustTileEntity>, IWrenchable {
|
||||
public class ExhaustBlock extends RodBlock implements IBE<ExhaustBlockEntity>, IWrenchable {
|
||||
public static final BooleanProperty WATERLOGGED = BlockStateProperties.WATERLOGGED;
|
||||
//Direction facing = this.defaultBlockState().getValue(FACING);
|
||||
public ExhaustBlock(Properties p_55926_) {
|
||||
@@ -80,12 +80,12 @@ public class ExhaustBlock extends RodBlock implements IBE<ExhaustTileEntity>, IW
|
||||
p_153746_.add(FACING, WATERLOGGED);
|
||||
}
|
||||
@Override
|
||||
public Class<ExhaustTileEntity> getBlockEntityClass() {
|
||||
return ExhaustTileEntity.class;
|
||||
public Class<ExhaustBlockEntity> getBlockEntityClass() {
|
||||
return ExhaustBlockEntity.class;
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockEntityType<? extends ExhaustTileEntity> getBlockEntityType() {
|
||||
public BlockEntityType<? extends ExhaustBlockEntity> getBlockEntityType() {
|
||||
return TFMGBlockEntities.EXHAUST.get();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@SuppressWarnings("removal")
|
||||
public class ExhaustTileEntity extends SmartBlockEntity implements IHaveGoggleInformation {
|
||||
public class ExhaustBlockEntity extends SmartBlockEntity implements IHaveGoggleInformation {
|
||||
|
||||
|
||||
|
||||
@@ -46,7 +46,7 @@ public class ExhaustTileEntity extends SmartBlockEntity implements IHaveGoggleIn
|
||||
|
||||
|
||||
|
||||
public ExhaustTileEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
public ExhaustBlockEntity(BlockEntityType<?> type, BlockPos pos, BlockState state) {
|
||||
super(type, pos, state);
|
||||
tankInventory = createInventory();
|
||||
fluidCapability = LazyOptional.of(() -> tankInventory);
|
||||
@@ -171,7 +171,7 @@ public class ExhaustTileEntity extends SmartBlockEntity implements IHaveGoggleIn
|
||||
|
||||
int random = Create.RANDOM.nextInt(5);
|
||||
if(random==0)
|
||||
tankInventory.drain(20, IFluidHandler.FluidAction.EXECUTE);
|
||||
tankInventory.drain(35, IFluidHandler.FluidAction.EXECUTE);
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,76 @@
|
||||
package com.drmangotea.createindustry.blocks.machines.metal_processing.coke_oven;
|
||||
|
||||
import com.drmangotea.createindustry.base.TFMGSpriteShifts;
|
||||
import com.simibubi.create.AllSpriteShifts;
|
||||
import com.simibubi.create.api.connectivity.ConnectivityHandler;
|
||||
import com.simibubi.create.content.logistics.vault.ItemVaultBlock;
|
||||
import com.simibubi.create.foundation.block.connected.CTSpriteShiftEntry;
|
||||
import com.simibubi.create.foundation.block.connected.ConnectedTextureBehaviour;
|
||||
import net.minecraft.client.renderer.texture.TextureAtlasSprite;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.core.Direction.Axis;
|
||||
import net.minecraft.core.Direction.AxisDirection;
|
||||
import net.minecraft.world.level.BlockAndTintGetter;
|
||||
import net.minecraft.world.level.block.state.BlockState;
|
||||
import org.jetbrains.annotations.Nullable;
|
||||
|
||||
import static net.minecraft.world.level.block.HorizontalDirectionalBlock.FACING;
|
||||
|
||||
public class CokeOvenCTBehavior extends ConnectedTextureBehaviour.Base {
|
||||
|
||||
@Override
|
||||
public CTSpriteShiftEntry getShift(BlockState state, Direction direction, @Nullable TextureAtlasSprite sprite) {
|
||||
Direction cokeOvenDirection = state.getValue(FACING);
|
||||
boolean small = !ItemVaultBlock.isLarge(state);
|
||||
if (cokeOvenDirection == null)
|
||||
return null;
|
||||
|
||||
if (direction == cokeOvenDirection.getOpposite())
|
||||
return TFMGSpriteShifts.COKE_OVEN_BACK;
|
||||
if (direction == Direction.UP)
|
||||
return TFMGSpriteShifts.COKE_OVEN_TOP;
|
||||
if (direction == Direction.DOWN)
|
||||
return TFMGSpriteShifts.COKE_OVEN_BOTTOM;
|
||||
|
||||
return TFMGSpriteShifts.COKE_OVEN_SIDE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Direction getUpDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) {
|
||||
Direction cokeOvenDirection =state.getValue(FACING);
|
||||
boolean alongX = cokeOvenDirection.getAxis() == Axis.X;
|
||||
if (face.getAxis()
|
||||
.isVertical() && alongX)
|
||||
return super.getUpDirection(reader, pos, state, face).getClockWise();
|
||||
if (face.getAxis() == cokeOvenDirection.getAxis() || face.getAxis()
|
||||
.isVertical())
|
||||
return super.getUpDirection(reader, pos, state, face);
|
||||
return Direction.fromAxisAndDirection(cokeOvenDirection.getAxis(), alongX ? AxisDirection.POSITIVE : AxisDirection.NEGATIVE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@Override
|
||||
protected Direction getRightDirection(BlockAndTintGetter reader, BlockPos pos, BlockState state, Direction face) {
|
||||
Direction cokeOvenDirection =state.getValue(FACING);
|
||||
if (face.getAxis()
|
||||
.isVertical() && cokeOvenDirection.getAxis() == Axis.X)
|
||||
return super.getRightDirection(reader, pos, state, face).getClockWise();
|
||||
if (face.getAxis() == cokeOvenDirection.getAxis() || face.getAxis()
|
||||
.isVertical())
|
||||
return super.getRightDirection(reader, pos, state, face);
|
||||
return Direction.fromAxisAndDirection(Axis.Y, face.getAxisDirection());
|
||||
}
|
||||
|
||||
public boolean buildContextForOccludedDirections() {
|
||||
return super.buildContextForOccludedDirections();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean connectsTo(BlockState state, BlockState other, BlockAndTintGetter reader, BlockPos pos,
|
||||
BlockPos otherPos, Direction face) {
|
||||
return state == other && ConnectivityHandler.isConnected(reader, pos, otherPos); //ItemVaultConnectivityHandler.isConnected(reader, pos, otherPos);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package com.drmangotea.createindustry.ponder;
|
||||
|
||||
|
||||
import com.drmangotea.createindustry.CreateTFMG;
|
||||
import com.drmangotea.createindustry.ponder.scenes.MetallurgyScenes;
|
||||
import com.drmangotea.createindustry.ponder.scenes.OilScenes;
|
||||
import com.drmangotea.createindustry.registry.TFMGBlocks;
|
||||
import com.simibubi.create.foundation.ponder.PonderRegistrationHelper;
|
||||
import com.simibubi.create.foundation.ponder.PonderRegistry;
|
||||
|
||||
|
||||
public class TFMGPonderIndex {
|
||||
static final PonderRegistrationHelper HELPER = new PonderRegistrationHelper(CreateTFMG.MOD_ID);
|
||||
|
||||
public static void register() {
|
||||
HELPER.forComponents(TFMGBlocks.GASOLINE_ENGINE, TFMGBlocks.GASOLINE_ENGINE_BACK,
|
||||
TFMGBlocks.LPG_ENGINE, TFMGBlocks.LPG_ENGINE_BACK,
|
||||
TFMGBlocks.TURBINE_ENGINE, TFMGBlocks.TURBINE_ENGINE_BACK)
|
||||
|
||||
.addStoryBoard("small_engines", OilScenes::small_engines, TFMGPonderTag.OIL);
|
||||
|
||||
|
||||
HELPER.forComponents(TFMGBlocks.DIESEL_ENGINE)
|
||||
|
||||
.addStoryBoard("diesel_engine", OilScenes::diesel_engine, TFMGPonderTag.OIL)
|
||||
.addStoryBoard("diesel_engine_expansion", OilScenes::diesel_engine_expansion, TFMGPonderTag.OIL);
|
||||
|
||||
HELPER.forComponents(TFMGBlocks.SURFACE_SCANNER)
|
||||
|
||||
.addStoryBoard("surface_scanner", OilScenes::surface_scanner, TFMGPonderTag.OIL);
|
||||
|
||||
HELPER.forComponents(TFMGBlocks.PUMPJACK_BASE,TFMGBlocks.PUMPJACK_CRANK,TFMGBlocks.PUMPJACK_HAMMER_HOLDER)
|
||||
.addStoryBoard("pumpjack", OilScenes::pumpjack, TFMGPonderTag.OIL);
|
||||
HELPER.forComponents(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER,TFMGBlocks.STEEL_DISTILLATION_OUTPUT)
|
||||
|
||||
.addStoryBoard("distillation_tower", OilScenes::distillation_tower, TFMGPonderTag.OIL);
|
||||
/////////////////////////////////////////
|
||||
|
||||
HELPER.forComponents(TFMGBlocks.BLAST_FURNACE_OUTPUT)
|
||||
|
||||
.addStoryBoard("blast_furnace", MetallurgyScenes::blast_furnace, TFMGPonderTag.METALLURGY);
|
||||
|
||||
|
||||
HELPER.forComponents(TFMGBlocks.COKE_OVEN)
|
||||
|
||||
.addStoryBoard("coke_oven", MetallurgyScenes::coke_oven, TFMGPonderTag.METALLURGY);
|
||||
|
||||
|
||||
HELPER.forComponents(TFMGBlocks.CASTING_BASIN,TFMGBlocks.CASTING_SPOUT)
|
||||
|
||||
.addStoryBoard("casting", MetallurgyScenes::casting, TFMGPonderTag.METALLURGY);
|
||||
|
||||
|
||||
}
|
||||
public static void registerTags() {
|
||||
PonderRegistry.TAGS.forTag(TFMGPonderTag.OIL)
|
||||
.add(TFMGBlocks.GASOLINE_ENGINE)
|
||||
.add(TFMGBlocks.GASOLINE_ENGINE_BACK)
|
||||
.add(TFMGBlocks.LPG_ENGINE)
|
||||
.add(TFMGBlocks.LPG_ENGINE_BACK)
|
||||
.add(TFMGBlocks.TURBINE_ENGINE)
|
||||
.add(TFMGBlocks.TURBINE_ENGINE_BACK)
|
||||
.add(TFMGBlocks.STEEL_DISTILLATION_OUTPUT)
|
||||
.add(TFMGBlocks.STEEL_DISTILLATION_CONTROLLER)
|
||||
.add(TFMGBlocks.PUMPJACK_BASE)
|
||||
.add(TFMGBlocks.PUMPJACK_HAMMER_HOLDER)
|
||||
.add(TFMGBlocks.PUMPJACK_CRANK);
|
||||
|
||||
PonderRegistry.TAGS.forTag(TFMGPonderTag.METALLURGY)
|
||||
.add(TFMGBlocks.COKE_OVEN)
|
||||
.add(TFMGBlocks.CASTING_BASIN)
|
||||
.add(TFMGBlocks.CASTING_SPOUT)
|
||||
.add(TFMGBlocks.FIREPROOF_BRICKS)
|
||||
.add(TFMGBlocks.FIREPROOF_BRICK_REINFORCEMENT)
|
||||
.add(TFMGBlocks.BLAST_FURNACE_OUTPUT);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
package com.drmangotea.createindustry.ponder;
|
||||
|
||||
|
||||
|
||||
import com.drmangotea.createindustry.CreateTFMG;
|
||||
import com.drmangotea.createindustry.registry.TFMGFluids;
|
||||
import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
import com.simibubi.create.foundation.ponder.PonderTag;
|
||||
import net.minecraft.resources.ResourceLocation;
|
||||
|
||||
public class TFMGPonderTag extends PonderTag {
|
||||
|
||||
public static final PonderTag OIL = create("oil")
|
||||
.defaultLang("Oil Related Machines", "Machines used to get, refine and use oil")
|
||||
.item(TFMGFluids.CRUDE_OIL.getBucket().get(), true, false).addToIndex();
|
||||
|
||||
public static final PonderTag METALLURGY = create("metallurgy")
|
||||
.defaultLang("Metal processing", "Machines related to metal")
|
||||
.item(TFMGItems.STEEL_INGOT.get(), true, false).addToIndex();
|
||||
|
||||
public TFMGPonderTag(ResourceLocation id) {
|
||||
super(id);
|
||||
}
|
||||
|
||||
private static PonderTag create(String id) {
|
||||
return new PonderTag(CreateTFMG.asResource(id));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,261 @@
|
||||
package com.drmangotea.createindustry.ponder.scenes;
|
||||
|
||||
import com.drmangotea.createindustry.registry.TFMGItems;
|
||||
import com.simibubi.create.foundation.ponder.*;
|
||||
import com.simibubi.create.foundation.ponder.element.EntityElement;
|
||||
import com.simibubi.create.foundation.ponder.element.InputWindowElement;
|
||||
import com.simibubi.create.foundation.ponder.element.WorldSectionElement;
|
||||
import com.simibubi.create.foundation.utility.Pointing;
|
||||
import net.minecraft.core.BlockPos;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.entity.Entity;
|
||||
import net.minecraft.world.item.ItemStack;
|
||||
import net.minecraft.world.item.Items;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public class MetallurgyScenes {
|
||||
|
||||
public static void blast_furnace(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("blast_furnace", "");
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.scaleSceneView(.7f);
|
||||
scene.showBasePlate();
|
||||
//
|
||||
Selection output = util.select.fromTo(2, 1, 2, 2, 1, 2);
|
||||
|
||||
Selection furnace1 = util.select.fromTo(1, 1, 3, 3, 1, 3);
|
||||
Selection furnace2 = util.select.fromTo(2, 1, 4, 2, 1, 4);
|
||||
|
||||
Selection reinforcement1 = util.select.fromTo(3, 1, 2, 3, 2, 2);
|
||||
Selection reinforcement2 = util.select.fromTo(3, 1, 4, 3, 2, 4);
|
||||
Selection reinforcement3 = util.select.fromTo(1, 1, 4, 1, 2, 4);
|
||||
Selection reinforcement4 = util.select.fromTo(1, 1, 2, 1, 2, 2);
|
||||
|
||||
Selection furnace3 = util.select.fromTo(1, 2, 3, 3, 2, 3);
|
||||
Selection furnace4 = util.select.fromTo(2, 2, 2, 2, 2, 4);
|
||||
|
||||
Selection furnace5 = util.select.fromTo(0, 3, 0, 4, 4, 4);
|
||||
|
||||
|
||||
Selection pipez = util.select.fromTo(0, 1, 0, 4, 2, 1);
|
||||
scene.world.setKineticSpeed(pipez, 80);
|
||||
|
||||
//
|
||||
|
||||
scene.world.showIndependentSection(output, Direction.DOWN);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Main part of a blast furnace is a blast furnace output")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("To make a blast furnace, make a cylinder of fireproof bricks around it");
|
||||
|
||||
|
||||
scene.world.showIndependentSection(furnace1, Direction.DOWN);
|
||||
scene.world.showIndependentSection(furnace2, Direction.DOWN);
|
||||
scene.idle(10);
|
||||
scene.world.showIndependentSection(furnace3, Direction.DOWN);
|
||||
scene.world.showIndependentSection(furnace4, Direction.DOWN);
|
||||
scene.idle(10);
|
||||
scene.world.showIndependentSection(furnace5, Direction.DOWN);
|
||||
|
||||
scene.idle(70);
|
||||
|
||||
scene.world.showIndependentSection(reinforcement1, Direction.DOWN);
|
||||
scene.world.showIndependentSection(reinforcement2, Direction.DOWN);
|
||||
scene.world.showIndependentSection(reinforcement3, Direction.DOWN);
|
||||
scene.world.showIndependentSection(reinforcement4, Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(100)
|
||||
.attachKeyFrame()
|
||||
.text("Blast furnaces need reinforcements that are at least half the total height")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(1, 2, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
scene.world.showIndependentSection(pipez, Direction.DOWN);
|
||||
|
||||
scene.idle(20);
|
||||
scene.overlay.showText(100)
|
||||
.attachKeyFrame()
|
||||
.text("Everything is inserted to through a hole at the top");
|
||||
|
||||
|
||||
ItemStack stack1 = new ItemStack(TFMGItems.COAL_COKE_DUST.get());
|
||||
ItemStack stack2 = new ItemStack(TFMGItems.BLASTING_MIXTURE.get());
|
||||
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 6, 3), util.vector.of(0, 0, 0), stack1);
|
||||
scene.idle(10);
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 6, 3), util.vector.of(0, 0, 0), stack1);
|
||||
scene.idle(10);
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 6, 3), util.vector.of(0, 0, 0), stack1);
|
||||
scene.idle(10);
|
||||
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 6, 3), util.vector.of(0, 0, 0), stack2);
|
||||
scene.idle(10);
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 6, 3), util.vector.of(0, 0, 0), stack2);
|
||||
scene.idle(10);
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 6, 3), util.vector.of(0, 0, 0), stack2);
|
||||
scene.idle(10);
|
||||
|
||||
}
|
||||
|
||||
public static void coke_oven(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("coke_oven", "");
|
||||
scene.configureBasePlate(0, 0, 7);
|
||||
scene.scaleSceneView(.7f);
|
||||
|
||||
scene.showBasePlate();
|
||||
|
||||
|
||||
Selection coke_oven_middle = util.select.fromTo(3, 1, 2, 3, 3, 4);
|
||||
|
||||
Selection coke_oven_right = util.select.fromTo(4, 1, 2, 5, 3, 4);
|
||||
Selection coke_oven_left = util.select.fromTo(2, 1, 2, 1, 3, 4);
|
||||
|
||||
Selection chutes = util.select.fromTo(1, 4, 4, 5, 4, 4);
|
||||
Selection exhaust = util.select.fromTo(0, 4, 2, 5, 6, 2);
|
||||
Selection output = util.select.fromTo(1, 4, 3, 5, 5, 3);
|
||||
|
||||
Selection tank = util.select.fromTo(6, 1, 3, 6, 5, 3);
|
||||
|
||||
ItemStack coal = new ItemStack(Items.COAL, 3);
|
||||
ItemStack coal_coke = new ItemStack(TFMGItems.COAL_COKE.get(), 10);
|
||||
|
||||
scene.world.setKineticSpeed(output, 80);
|
||||
scene.world.setKineticSpeed(exhaust, 80);
|
||||
|
||||
|
||||
scene.world.showIndependentSection(coke_oven_middle, Direction.DOWN);
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Coke Oven is created by placing coke oven block as shown and clicking the front block with a wrench")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(3, 2, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.idle(90);
|
||||
|
||||
scene.world.showIndependentSection(coke_oven_right, Direction.DOWN);
|
||||
scene.world.showIndependentSection(coke_oven_left, Direction.DOWN);
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Coke Ovens are slow so it is beneficial to have long arrays of them")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(1, 2, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
|
||||
scene.idle(30);
|
||||
|
||||
|
||||
scene.world.showIndependentSection(chutes, Direction.DOWN);
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Coal can be inserted from anywhere");
|
||||
scene.idle(10);
|
||||
ElementLink<EntityElement> item = null;
|
||||
for (int i = 0; i < 3; i++) {
|
||||
scene.idle(10);
|
||||
|
||||
for (int y = 0; y < 5; y++) {
|
||||
|
||||
item = scene.world.createItemEntity(util.vector.centerOf(1 + y, 6, 4), util.vector.of(0, 0, 0), coal);
|
||||
}
|
||||
}
|
||||
if (item != null)
|
||||
scene.world.modifyEntity(item, Entity::discard);
|
||||
scene.idle(40);
|
||||
|
||||
scene.world.showIndependentSection(exhaust, Direction.DOWN);
|
||||
scene.world.showIndependentSection(tank, Direction.DOWN);
|
||||
scene.world.showIndependentSection(output, Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Creosote and Carbon Dioxide have to be pumped out of the machine")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(3, 4, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
|
||||
scene.idle(50);
|
||||
|
||||
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("After some time, coal coke will fall out of the machine at the front");
|
||||
|
||||
|
||||
for (int y = 0; y < 5; y++) {
|
||||
scene.world.createItemEntity(util.vector.centerOf(1 + y, 2, 1), util.vector.of(0, 0, 0), coal_coke);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void casting(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("casting", "");
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showBasePlate();
|
||||
|
||||
Selection spout = util.select.fromTo(2, 3, 2, 2, 3, 2);
|
||||
Selection basin_empty = util.select.fromTo(2, 1, 2, 2, 1, 2);
|
||||
Selection basin_with_mold = util.select.fromTo(2, 1, 4, 2, 1, 4);
|
||||
|
||||
Selection chain_drives = util.select.fromTo(5, 0, 3, 5, 3, 3);
|
||||
|
||||
Selection pipez = util.select.fromTo(3, 1, 2, 4, 3, 3);
|
||||
|
||||
Selection funnel = util.select.fromTo(2, 1, 1, 2, 1, 1);
|
||||
|
||||
ItemStack steel_ingot = new ItemStack(TFMGItems.STEEL_INGOT.get());
|
||||
|
||||
scene.world.setKineticSpeed(chain_drives, 80);
|
||||
scene.world.setKineticSpeed(pipez, 80);
|
||||
|
||||
ElementLink<WorldSectionElement> emptyBasinElement = scene.world.showIndependentSection(basin_empty,Direction.DOWN);
|
||||
scene.idle(20);
|
||||
scene.world.showIndependentSection(spout, Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Casting is done by pouring liquid metal into a casting basin with a casting spout")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(20);
|
||||
scene.world.showIndependentSection(pipez, Direction.DOWN);
|
||||
scene.world.showIndependentSection(chain_drives, Direction.DOWN);
|
||||
|
||||
scene.idle(50);
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> basinElement = scene.world.showIndependentSection(basin_with_mold,null);
|
||||
scene.world.hideIndependentSection(emptyBasinElement,null);
|
||||
|
||||
scene.world.moveSection(basinElement,new Vec3(0d,0d,-2d),0);
|
||||
|
||||
|
||||
BlockPos basinPos = util.grid.at(2, 1, 2);
|
||||
Vec3 topOf = util.vector.topOf(basinPos);
|
||||
scene.overlay.showControls(new InputWindowElement(topOf, Pointing.DOWN).rightClick()
|
||||
.withItem(new ItemStack(TFMGItems.INGOT_MOLD.get())), 20);
|
||||
|
||||
|
||||
scene.idle(10);
|
||||
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Casting basin needs a mold to function")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.idle(20);
|
||||
scene.world.showIndependentSection(funnel,Direction.SOUTH);
|
||||
scene.idle(20);
|
||||
|
||||
scene.world.createItemEntity(util.vector.centerOf(2, 1, 1), util.vector.of(0, 0, 0), steel_ingot);
|
||||
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,434 @@
|
||||
package com.drmangotea.createindustry.ponder.scenes;
|
||||
|
||||
import com.simibubi.create.foundation.ponder.*;
|
||||
import com.simibubi.create.foundation.ponder.element.WorldSectionElement;
|
||||
import net.minecraft.core.Direction;
|
||||
import net.minecraft.world.phys.Vec3;
|
||||
|
||||
public class OilScenes {
|
||||
|
||||
public static void small_engines(SceneBuilder scene, SceneBuildingUtil util){
|
||||
scene.title("small_engines", "");
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.setSceneOffsetY(-2);
|
||||
scene.idle(10);
|
||||
|
||||
scene.showBasePlate();
|
||||
|
||||
|
||||
Selection gasoline_engine = util.select.fromTo(2, 1, 1, 2, 1, 2);
|
||||
|
||||
Selection lpg_engine = util.select.fromTo(2, 3, 1, 2, 3, 2);
|
||||
|
||||
Selection turbine_engine = util.select.fromTo(2, 5, 1, 2, 5, 2);
|
||||
|
||||
Selection engine_lever = util.select.fromTo(1, 1, 1, 1, 1, 1);
|
||||
|
||||
Selection exhaust = util.select.fromTo(1, 1, 2, 0, 2, 2);
|
||||
|
||||
Selection input_pump = util.select.fromTo(3, 1, 1, 3, 1, 1);
|
||||
|
||||
Selection tank_1 = util.select.fromTo(4, 1, 1, 4, 1, 1);
|
||||
|
||||
Selection tank_2 = util.select.fromTo(4, 3, 1, 4, 3, 1);
|
||||
|
||||
Selection tank_3 = util.select.fromTo(4, 5, 1, 4, 5, 1);
|
||||
|
||||
scene.world.setKineticSpeed(gasoline_engine,0);
|
||||
//scene.world.showSection(util.select.fromTo(0, 2, 0, 4, 2, 4), Direction.UP);
|
||||
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> gasolineEngineElement = scene.world.showIndependentSectionImmediately(gasoline_engine);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("To create a small engine, place a front part and a back part behind it")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(4, 0, 4), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(100);
|
||||
|
||||
|
||||
scene.world.setKineticSpeed(exhaust,80);
|
||||
scene.world.setKineticSpeed(input_pump,80);
|
||||
ElementLink<WorldSectionElement> exhaustElement = scene.world.showIndependentSection(exhaust,Direction.DOWN);
|
||||
ElementLink<WorldSectionElement> inputPumpElement = scene.world.showIndependentSection(input_pump,Direction.DOWN);
|
||||
ElementLink<WorldSectionElement> tankElement1 = scene.world.showIndependentSection(tank_1,Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Fuel is inputted to the front part and exhaust is removed from the back part using pipes and an exhaust block")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(4, 0, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(80);
|
||||
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> leverElement = scene.world.showIndependentSection(engine_lever,Direction.DOWN);
|
||||
scene.world.setKineticSpeed(gasoline_engine,225);
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Engine will start when redstone signal is applied to the front part")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(1, 1, 1), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(100);
|
||||
|
||||
|
||||
|
||||
scene.world.hideIndependentSection(gasolineEngineElement,Direction.SOUTH);
|
||||
scene.world.hideIndependentSection(tankElement1,Direction.SOUTH);
|
||||
|
||||
scene.idle(50);
|
||||
|
||||
ElementLink<WorldSectionElement> lpgEngineElement = scene.world.showIndependentSection(lpg_engine,Direction.DOWN);
|
||||
ElementLink<WorldSectionElement> tankElement2 = scene.world.showIndependentSection(tank_2,Direction.DOWN);
|
||||
scene.world.moveSection(lpgEngineElement,new Vec3(0d,-2d,0d),0);
|
||||
scene.world.moveSection(tankElement2,new Vec3(0d,-2d,0d),0);
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("There are engines with Gasoline, LPG and Kerosene as a fuel");
|
||||
scene.idle(50);
|
||||
scene.world.hideIndependentSection(lpgEngineElement,Direction.SOUTH);
|
||||
scene.world.hideIndependentSection(tankElement2,Direction.SOUTH);
|
||||
scene.idle(30);
|
||||
ElementLink<WorldSectionElement> turbineEngineElement = scene.world.showIndependentSection(turbine_engine,Direction.DOWN);
|
||||
ElementLink<WorldSectionElement> tankElement3 = scene.world.showIndependentSection(tank_3,Direction.DOWN);
|
||||
scene.world.moveSection(turbineEngineElement,new Vec3(0d,-4d,0d),0);
|
||||
scene.world.moveSection(tankElement3,new Vec3(0d,-4d,0d),0);
|
||||
|
||||
scene.idle(50);
|
||||
|
||||
}
|
||||
public static void pumpjack(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("pumpjack", "");
|
||||
scene.configureBasePlate(0, 0, 7);
|
||||
////
|
||||
Selection pipez = util.select.fromTo(0, 2, 0, 0, 4, 0);
|
||||
Selection hammer = util.select.fromTo(3, 1, 2, 3, 3, 2);
|
||||
Selection base = util.select.fromTo(1, 1, 2, 1, 1, 2);
|
||||
Selection crank = util.select.fromTo(5, 2, 2, 5, 2, 2);
|
||||
Selection input = util.select.fromTo(5, 1, 1, 5, 1, 2);
|
||||
Selection base1 = util.select.fromTo(2, 0, 0, 6, 0, 4);
|
||||
Selection base2 = util.select.fromTo(0, 0, 0, 1, 0, 4);
|
||||
Selection deposit = util.select.fromTo(0, 1, 0, 0, 1, 0);
|
||||
Selection tank = util.select.fromTo(0, 0, 3, 1, 0, 4);
|
||||
|
||||
|
||||
////
|
||||
// scene.scaleSceneView(.4f);
|
||||
//scene.removeShadow();
|
||||
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> baseElement1 = scene.world.showIndependentSection(base1,Direction.UP);
|
||||
ElementLink<WorldSectionElement> baseElement2 = scene.world.showIndependentSection(base2,Direction.UP);
|
||||
|
||||
scene.idle(20);
|
||||
scene.world.hideIndependentSection(baseElement2,Direction.UP);
|
||||
scene.idle(25);
|
||||
ElementLink<WorldSectionElement> depositElement = scene.world.showIndependentSection(deposit,Direction.UP);
|
||||
scene.world.moveSection(depositElement,new Vec3(0d,-4d,2d),0);
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("First step of mining oil is building industrial pipes from deposit to surface");
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> pipeElement = scene.world.showIndependentSection(pipez,Direction.SOUTH);
|
||||
scene.world.moveSection(pipeElement,new Vec3(0d,-4d,2d),0);
|
||||
scene.idle(25);
|
||||
scene.world.hideIndependentSection(pipeElement,Direction.DOWN);
|
||||
scene.world.hideIndependentSection(depositElement,Direction.DOWN);
|
||||
scene.idle(25);
|
||||
scene.world.showIndependentSection(base2,Direction.SOUTH);
|
||||
scene.idle(25);
|
||||
ElementLink<WorldSectionElement> pumpjackBaseElement = scene.world.showIndependentSection(base,Direction.SOUTH);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Pumpjack base has to be placed on the top of the pipe")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(1, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(40);
|
||||
ElementLink<WorldSectionElement> hammerElement1 = scene.world.showIndependentSection(hammer,Direction.UP);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Pumpjack hammer needs to be placed behind it")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(3, 3, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(40);
|
||||
scene.world.setKineticSpeed(input,70);
|
||||
scene.world.setKineticSpeed(base1,-140);
|
||||
scene.world.showIndependentSection(input,Direction.SOUTH);
|
||||
scene.idle(10);
|
||||
scene.world.showIndependentSection(crank,Direction.SOUTH);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("The last step is placing a machine input (which is a power input for the pumpjack) with a pumpjack crank above it")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(5, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(40);
|
||||
|
||||
|
||||
|
||||
}
|
||||
public static void diesel_engine(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("diesel_engine", "");
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showBasePlate();
|
||||
|
||||
Selection engine = util.select.fromTo(2, 1, 0, 2, 1, 2);
|
||||
Selection exhaust = util.select.fromTo(2, 1, 3, 2, 2, 4);
|
||||
Selection air = util.select.fromTo(0, 1, 0, 1, 1, 2);
|
||||
Selection input = util.select.fromTo(3, 1, 0, 4, 1, 2);
|
||||
|
||||
|
||||
|
||||
scene.idle(30);
|
||||
|
||||
ElementLink<WorldSectionElement> engineElement = scene.world.showIndependentSection(engine,Direction.DOWN);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Diesel Engine is assembled by placing a shaft in the front of a diesel engine block");
|
||||
|
||||
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> inputElement = scene.world.showIndependentSection(input,Direction.DOWN);
|
||||
ElementLink<WorldSectionElement> exhaustElement = scene.world.showIndependentSection(exhaust,Direction.DOWN);
|
||||
scene.world.setKineticSpeed(input,80);
|
||||
scene.world.setKineticSpeed(exhaust,80);
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Carbon Dioxide has to be outputted by pipes and exhaust block")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 2, 4), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(40);
|
||||
|
||||
ElementLink<WorldSectionElement> airElement = scene.world.showIndependentSection(air,Direction.DOWN);
|
||||
scene.world.setKineticSpeed(air,80);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Diesel engines need air that can be collected with air intakes")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(0, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(10);
|
||||
scene.world.setKineticSpeed(engine,128);
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
public static void diesel_engine_expansion(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("diesel_engine_expansion", "");
|
||||
scene.configureBasePlate(0, 0, 6);
|
||||
scene.showBasePlate();
|
||||
|
||||
Selection engine = util.select.fromTo(2, 1, 0, 2, 1, 2);
|
||||
Selection input = util.select.fromTo(0, 1, 0, 1, 1, 2);
|
||||
Selection exhaust = util.select.fromTo(3, 1, 0, 4, 2, 2);
|
||||
|
||||
Selection expansion = util.select.fromTo(2, 1, 3, 2, 1, 3);
|
||||
Selection air = util.select.fromTo(2, 1, 4, 2, 1, 5);
|
||||
Selection coolant = util.select.fromTo(0, 1, 3, 1, 1, 3);
|
||||
Selection oil = util.select.fromTo(3, 1, 3, 4, 1, 3);
|
||||
|
||||
scene.world.setKineticSpeed(input,80);
|
||||
scene.world.setKineticSpeed(exhaust,80);
|
||||
scene.world.setKineticSpeed(air,80);
|
||||
scene.world.setKineticSpeed(coolant,80);
|
||||
scene.world.setKineticSpeed(oil,80);
|
||||
scene.world.setKineticSpeed(engine,128);
|
||||
|
||||
|
||||
|
||||
scene.world.showIndependentSection(engine,Direction.DOWN);
|
||||
scene.world.showIndependentSection(input,Direction.DOWN);
|
||||
scene.world.showIndependentSection(exhaust,Direction.DOWN);
|
||||
ElementLink<WorldSectionElement> airElement = scene.world.showIndependentSection(air,Direction.DOWN);
|
||||
|
||||
|
||||
scene.world.moveSection(airElement,new Vec3(0d,0d,-1d),0);
|
||||
|
||||
scene.idle(30);
|
||||
|
||||
scene.world.moveSection(airElement,new Vec3(0d,0d,1d),10);
|
||||
|
||||
scene.idle(30);
|
||||
|
||||
scene.world.showIndependentSection(expansion,Direction.DOWN);
|
||||
|
||||
scene.idle(20);
|
||||
|
||||
scene.world.showIndependentSection(coolant,Direction.DOWN);
|
||||
scene.world.showIndependentSection(oil,Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(100)
|
||||
.attachKeyFrame()
|
||||
.text("Diesel engine expansions give diesel engines 2 new fluid slots, for cooling and lubrication")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
|
||||
|
||||
scene.idle(50);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void surface_scanner(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("surface_scanner", "");
|
||||
scene.configureBasePlate(0, 0, 5);
|
||||
scene.showBasePlate();
|
||||
Selection scanner = util.select.fromTo(0, 1, 0, 5, 1, 5);
|
||||
|
||||
scene.world.showSection(util.select.fromTo(0, 1, 0, 5, 1, 5), Direction.UP);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Surface Scanner is used for finding crude oil deposits")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
scene.world.setKineticSpeed(scanner,30);
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("When rotation is applied, the machine starts to find the nearest oil deposit")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("When a deposit is found, compass at the top will show the direction")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
}
|
||||
|
||||
public static void distillation_tower(SceneBuilder scene, SceneBuildingUtil util) {
|
||||
scene.title("distillation_tower", "");
|
||||
scene.configureBasePlate(0, 0, 6);
|
||||
scene.showBasePlate();
|
||||
scene.scaleSceneView(.4f);
|
||||
Selection burners = util.select.fromTo(3, 1, 2, 4, 1, 3);
|
||||
Selection tank = util.select.fromTo(3, 2, 2, 4, 14, 3);
|
||||
Selection controller = util.select.fromTo(2, 1, 3, 2, 2, 3);
|
||||
Selection output = util.select.fromTo(2, 3, 3, 2, 13, 3);
|
||||
Selection oil_tank = util.select.fromTo(0, 1, 4, 2, 3, 4);
|
||||
scene.world.setKineticSpeed(oil_tank,80);
|
||||
|
||||
ElementLink<WorldSectionElement> tankElement = scene.world.showIndependentSection(tank,Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(70)
|
||||
.attachKeyFrame()
|
||||
.text("Base of a distillation tower are steel tanks")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(4, 6, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(80);
|
||||
ElementLink<WorldSectionElement> controllerElement = scene.world.showIndependentSection(controller,Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(50)
|
||||
.attachKeyFrame()
|
||||
.text("Tower is assembled by placing Steel Distillation Controller next to the tanks")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 2, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.idle(70);
|
||||
ElementLink<WorldSectionElement> outputElement = scene.world.showIndependentSection(output,Direction.DOWN);
|
||||
scene.overlay.showText(60)
|
||||
.attachKeyFrame()
|
||||
.text("To finish the multiblock place up to 6 Distillation outputs and Industrial Pipes between them")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 7, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
|
||||
ElementLink<WorldSectionElement> burnerElement = scene.world.showIndependentSection(burners,Direction.DOWN);
|
||||
scene.overlay.showText(60)
|
||||
.attachKeyFrame()
|
||||
.text("Place Blaze Burners under the tanks to power it, dial on the tower shows the power level of the structure ")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(3, 1, 2), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
ElementLink<WorldSectionElement> oilTankElement = scene.world.showIndependentSection(oil_tank,Direction.DOWN);
|
||||
|
||||
scene.overlay.showText(60)
|
||||
.attachKeyFrame()
|
||||
.text("Oil is inputted into the controller block")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 2, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
scene.idle(70);
|
||||
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("Every output block outputs one of the oil products")
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 1, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
///
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("LPG")
|
||||
.colored(PonderPalette.BLUE)
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 13, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("Gasoline")
|
||||
.colored(PonderPalette.BLUE)
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 11, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
|
||||
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("Naphtha")
|
||||
.colored(PonderPalette.BLUE)
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 9, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("Kerosene")
|
||||
.colored(PonderPalette.BLUE)
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 7, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("Diesel")
|
||||
.colored(PonderPalette.BLUE)
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 5, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
scene.overlay.showText(120)
|
||||
.attachKeyFrame()
|
||||
.text("Heavy Oil")
|
||||
.colored(PonderPalette.BLUE)
|
||||
.pointAt(util.vector.blockSurface(util.grid.at(2, 3, 3), Direction.WEST))
|
||||
.placeNearTarget();
|
||||
|
||||
|
||||
|
||||
scene.idle(150);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -24,7 +24,7 @@ import com.drmangotea.createindustry.blocks.engines.small.lpg.LPGEngineBackTileE
|
||||
import com.drmangotea.createindustry.blocks.engines.small.lpg.LPGEngineTileEntity;
|
||||
import com.drmangotea.createindustry.blocks.engines.small.turbine.TurbineEngineBackTileEntity;
|
||||
import com.drmangotea.createindustry.blocks.engines.small.turbine.TurbineEngineTileEntity;
|
||||
import com.drmangotea.createindustry.blocks.machines.exhaust.ExhaustTileEntity;
|
||||
import com.drmangotea.createindustry.blocks.machines.exhaust.ExhaustBlockEntity;
|
||||
import com.drmangotea.createindustry.blocks.machines.flarestack.FlarestackBlockEntity;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.BlastFurnaceOutputBlockEntity;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.blast_furnace.BlastFurnaceRenderer;
|
||||
@@ -51,7 +51,6 @@ import com.drmangotea.createindustry.blocks.pipes.normal.LockablePipeBlockEntity
|
||||
import com.drmangotea.createindustry.blocks.tanks.SteelFluidTankRenderer;
|
||||
import com.drmangotea.createindustry.blocks.tanks.SteelTankBlockEntity;
|
||||
import com.drmangotea.createindustry.blocks.engines.small.UniversalEngineRenderer;
|
||||
import com.simibubi.create.Create;
|
||||
import com.simibubi.create.content.fluids.pipes.FluidPipeBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.SmartFluidPipeBlockEntity;
|
||||
import com.simibubi.create.content.fluids.pipes.StraightPipeBlockEntity;
|
||||
@@ -242,8 +241,8 @@ public class TFMGBlockEntities {
|
||||
.validBlocks(TFMGBlocks.TURBINE_ENGINE_BACK)
|
||||
.register();
|
||||
|
||||
public static final BlockEntityEntry<ExhaustTileEntity> EXHAUST = REGISTRATE
|
||||
.blockEntity("exhaust", ExhaustTileEntity::new)
|
||||
public static final BlockEntityEntry<ExhaustBlockEntity> EXHAUST = REGISTRATE
|
||||
.blockEntity("exhaust", ExhaustBlockEntity::new)
|
||||
.validBlocks(TFMGBlocks.EXHAUST)
|
||||
.register();
|
||||
|
||||
|
||||
@@ -27,6 +27,7 @@ import com.drmangotea.createindustry.blocks.engines.small.turbine.TurbineEngineB
|
||||
import com.drmangotea.createindustry.blocks.machines.exhaust.ExhaustBlock;
|
||||
import com.drmangotea.createindustry.blocks.machines.flarestack.FlarestackBlock;
|
||||
import com.drmangotea.createindustry.blocks.machines.flarestack.FlarestackGenerator;
|
||||
import com.drmangotea.createindustry.blocks.machines.metal_processing.coke_oven.CokeOvenCTBehavior;
|
||||
import com.drmangotea.createindustry.blocks.machines.oil_processing.distillation.distillation_tower.IndustrialPipeBlock;
|
||||
import com.drmangotea.createindustry.blocks.pipes.normal.aluminum.AluminumPipeAttachmentModel;
|
||||
import com.drmangotea.createindustry.blocks.pipes.normal.aluminum.AluminumPipeBlock;
|
||||
@@ -83,6 +84,7 @@ import com.simibubi.create.content.decoration.encasing.EncasingRegistry;
|
||||
import com.simibubi.create.content.fluids.pipes.SmartFluidPipeGenerator;
|
||||
import com.simibubi.create.content.fluids.pipes.valve.FluidValveBlock;
|
||||
import com.simibubi.create.content.kinetics.BlockStressDefaults;
|
||||
import com.simibubi.create.content.logistics.vault.ItemVaultCTBehaviour;
|
||||
import com.simibubi.create.content.processing.AssemblyOperatorBlockItem;
|
||||
import com.simibubi.create.foundation.data.*;
|
||||
import com.simibubi.create.foundation.utility.Couple;
|
||||
@@ -489,7 +491,7 @@ public static final BlockEntry<DistillationOutputBlock> STEEL_DISTILLATION_OUTPU
|
||||
REGISTRATE.block("steel_distillation_output", DistillationOutputBlock::new)
|
||||
.initialProperties(SharedProperties::copperMetal)
|
||||
.properties(p -> p.color(MaterialColor.STONE))
|
||||
.blockstate(BlockStateGen.horizontalBlockProvider(true))
|
||||
.blockstate((ctx, prov) -> prov.simpleBlock(ctx.getEntry(), AssetLookup.partialBaseModel(ctx, prov)))
|
||||
.properties(BlockBehaviour.Properties::noOcclusion)
|
||||
.transform(pickaxeOnly())
|
||||
.item()
|
||||
@@ -639,6 +641,7 @@ public static final BlockEntry<DistillationOutputBlock> STEEL_DISTILLATION_OUTPU
|
||||
.properties(p -> p.requiresCorrectToolForDrops())
|
||||
.blockstate(new CokeOvenGenerator()::generate)
|
||||
.transform(pickaxeOnly())
|
||||
.onRegister(connectedTextures(CokeOvenCTBehavior::new))
|
||||
.item()
|
||||
.transform(customItemModel())
|
||||
.lang("Coke Oven")
|
||||
|
||||
@@ -0,0 +1,71 @@
|
||||
{
|
||||
|
||||
"createindustry.ponder.small_engines.text_1": "To create a small engine, place a front part and a back part behind it",
|
||||
"createindustry.ponder.small_engines.text_2": "Fuel is inputted to the front part and exhaust is removed from the back part using pipes and an exhaust block",
|
||||
"createindustry.ponder.small_engines.text_3": "Engine will start when redstone signal is applied to the front part",
|
||||
"createindustry.ponder.small_engines.text_4": "There are engines with Gasoline, LPG and Kerosene as a fuel",
|
||||
|
||||
"createindustry.ponder.diesel_engine.text_1": "Diesel Engine is assembled by placing a shaft in the front of a diesel engine block",
|
||||
"createindustry.ponder.diesel_engine.text_2": "Carbon Dioxide has to be outputted by pipes and exhaust block",
|
||||
"createindustry.ponder.diesel_engine.text_3": "Diesel engines need air that can be collected with air intakes",
|
||||
|
||||
"createindustry.ponder.diesel_engine_expansion.text_1": "Diesel engine expansions give diesel engines 2 new fluid slots, for cooling and lubrication",
|
||||
|
||||
|
||||
"createindustry.ponder.surface_scanner.text_1": "Surface Scanner is used for finding crude oil deposits",
|
||||
"createindustry.ponder.surface_scanner.text_2": "When rotation is applied, the machine starts to find the nearest oil deposit",
|
||||
"createindustry.ponder.surface_scanner.text_3": "When a deposit is found, compass at the top will show the direction",
|
||||
|
||||
|
||||
"createindustry.ponder.pumpjack.text_1": "First step of mining oil is building industrial pipes from deposit to surface",
|
||||
"createindustry.ponder.pumpjack.text_2": "Pumpjack base has to be placed on the top of the pipe",
|
||||
"createindustry.ponder.pumpjack.text_3": "Pumpjack hammer needs to be placed behind it",
|
||||
"createindustry.ponder.pumpjack.text_4": "The last step is placing a machine input (which is a power input for the pumpjack) with a pumpjack crank above it",
|
||||
|
||||
"createindustry.ponder.distillation_tower.text_1": "Base of a distillation tower are steel tanks",
|
||||
"createindustry.ponder.distillation_tower.text_2": "Tower is assembled by placing Steel Distillation Controller next to the tanks",
|
||||
"createindustry.ponder.distillation_tower.text_3": "To finish the multiblock place up to 6 Distillation outputs and Industrial Pipes between them",
|
||||
"createindustry.ponder.distillation_tower.text_4": "Place Blaze Burners under the tanks to power it, dial on the tower shows the power level of the structure",
|
||||
"createindustry.ponder.distillation_tower.text_5": "Oil is inserted into the controller block",
|
||||
"createindustry.ponder.distillation_tower.text_6": "Every output block outputs one of the oil products",
|
||||
"createindustry.ponder.distillation_tower.text_7": "LPG",
|
||||
"createindustry.ponder.distillation_tower.text_8": "Gasoline",
|
||||
"createindustry.ponder.distillation_tower.text_9": "Naphtha",
|
||||
"createindustry.ponder.distillation_tower.text_10": "Kerosene",
|
||||
"createindustry.ponder.distillation_tower.text_11": "Diesel",
|
||||
"createindustry.ponder.distillation_tower.text_12": "Heavy Oil",
|
||||
|
||||
|
||||
"createindustry.ponder.blast_furnace.text_1": "Main part of a blast furnace is a blast furnace output",
|
||||
"createindustry.ponder.blast_furnace.text_2": "To make a blast furnace, make a cylinder of fireproof bricks around it",
|
||||
"createindustry.ponder.blast_furnace.text_3": "Blast furnaces need reinforcements that are at least half the total height",
|
||||
"createindustry.ponder.blast_furnace.text_4": "Everything is inserted through a hole at the top",
|
||||
|
||||
"createindustry.ponder.coke_oven.text_1": "Coke Oven is created by placing coke oven block as shown and clicking the front block with a wrench",
|
||||
"createindustry.ponder.coke_oven.text_2": "Coke Ovens are slow so it is beneficial to have long arrays of them",
|
||||
"createindustry.ponder.coke_oven.text_3": "Coal can be inserted from anywhere",
|
||||
"createindustry.ponder.coke_oven.text_4": "Creosote and Carbon Dioxide have to be pumped out of the machine",
|
||||
"createindustry.ponder.coke_oven.text_5": "After some time, coal coke will fall out of the machine at the front",
|
||||
|
||||
"createindustry.ponder.casting.text_1": "Casting is done by pouring liquid metal into a casting basin with a casting spout",
|
||||
"createindustry.ponder.casting.text_2": "Casting basin needs a mold to function",
|
||||
|
||||
"createindustry.ponder.distillation_tower.header": "Distillation Tower Setup",
|
||||
"createindustry.ponder.pumpjack.header": "Building Pumpjack",
|
||||
"createindustry.ponder.surface_scanner.header": "Finding Oil",
|
||||
"createindustry.ponder.diesel_engine.header": "Building Diesel Engine",
|
||||
"createindustry.ponder.diesel_engine_expansion.header": "Expanding Diesel Engines",
|
||||
"createindustry.ponder.small_engines.header": "Building Small Engines",
|
||||
|
||||
"createindustry.ponder.coke_oven.header": "Building Coke Oven",
|
||||
"createindustry.ponder.blast_furnace": "Building Blast Furnace",
|
||||
"createindustry.ponder.casting.header": "Casting Metal",
|
||||
|
||||
"createindustry.ponder.tag.oil": "Oil Related Machines",
|
||||
|
||||
"createindustry.ponder.tag.metallurgy": "Metal Processing Related Machines",
|
||||
|
||||
"createindustry.ponder.tag.oil.description": "Machines that mine, process or use crude oil and fluids created from it",
|
||||
|
||||
"createindustry.ponder.tag.metallurgy.description": "Machines that mine, process or use crude oil and fluids created from it"
|
||||
}
|
||||
Binary file not shown.
BIN
src/main/resources/assets/createindustry/ponder/casting.nbt
Normal file
BIN
src/main/resources/assets/createindustry/ponder/casting.nbt
Normal file
Binary file not shown.
BIN
src/main/resources/assets/createindustry/ponder/coke_oven.nbt
Normal file
BIN
src/main/resources/assets/createindustry/ponder/coke_oven.nbt
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
src/main/resources/assets/createindustry/ponder/pumpjack.nbt
Normal file
BIN
src/main/resources/assets/createindustry/ponder/pumpjack.nbt
Normal file
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -21,6 +21,10 @@
|
||||
"fluid": "createindustry:kerosene",
|
||||
"amount": 1
|
||||
},
|
||||
{
|
||||
"fluid": "createindustry:naphtha",
|
||||
"amount": 1
|
||||
},
|
||||
{
|
||||
"fluid": "createindustry:gasoline",
|
||||
"amount": 3
|
||||
|
||||
Reference in New Issue
Block a user