Artisan Table (#2857)
* artisan table merging (#2766) * these should be good * Update recipes.miscellaneous.js * little typo Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> * fix typo, my bad gang * fix charnia * fixed recycling issues from the material rewrite, updated everything to the new recycling helper method * I'll move these eventually --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: Pyritie <pyritie@gmail.com> * artisan table assets * asset update * Update recipes.artisan_table.js * asset update * lang * tag refactor * waiter! more assets please * recipes * done? * I forgor --------- Signed-off-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: GameStar <56610486+BlueBoat29@users.noreply.github.com> Co-authored-by: Pyritie <pyritie@gmail.com>
|
|
@ -695,14 +695,21 @@
|
|||
shape: "square"
|
||||
size: 1.0d
|
||||
subtitle: "{quests.steam_age.circuit_boards.subtitle}"
|
||||
tasks: [{
|
||||
id: "2B8B038789480789"
|
||||
item: "gtceu:resin_printed_circuit_board"
|
||||
type: "item"
|
||||
}]
|
||||
tasks: [
|
||||
{
|
||||
id: "2B8B038789480789"
|
||||
item: "gtceu:resin_printed_circuit_board"
|
||||
type: "item"
|
||||
}
|
||||
{
|
||||
id: "171A20DD9F208437"
|
||||
item: "tfg:artisan_table"
|
||||
type: "item"
|
||||
}
|
||||
]
|
||||
title: "{quests.steam_age.circuit_boards.title}"
|
||||
x: -9.5d
|
||||
y: 10.5d
|
||||
x: -10.0d
|
||||
y: 10.0d
|
||||
}
|
||||
{
|
||||
dependencies: ["46FA9DD4755A5548"]
|
||||
|
|
|
|||
19
kubejs/assets/tfg/blockstates/artisan_table.json
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
{
|
||||
"variants": {
|
||||
"facing=east": {
|
||||
"model": "tfg:block/artisan_table",
|
||||
"y": 90
|
||||
},
|
||||
"facing=north": {
|
||||
"model": "tfg:block/artisan_table"
|
||||
},
|
||||
"facing=south": {
|
||||
"model": "tfg:block/artisan_table",
|
||||
"y": 180
|
||||
},
|
||||
"facing=west": {
|
||||
"model": "tfg:block/artisan_table",
|
||||
"y": 270
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -810,6 +810,8 @@
|
|||
"block.tfg.impure_moderate_core": "Impure Moderate Core",
|
||||
"block.tfg.moderate_core_frame": "Moderate Core Frame",
|
||||
"block.tfg.impure_moderate_core_frame": "Impure Moderate Core Frame",
|
||||
"tfg.block_entity.artisan_table": "Artisan Table",
|
||||
"block.tfg.artisan_table": "Artisan Table",
|
||||
"fluid.tfg.heavy_ammoniacal_water": "Heavy Ammoniacal Water",
|
||||
"fluid.tfg.semiheavy_ammoniacal_water": "Semiheavy Ammoniacal Water",
|
||||
"fluid.tfg.sulfur_fumes": "Dense Sulfuric Fumes",
|
||||
|
|
@ -1746,6 +1748,8 @@
|
|||
"tfg.tooltip.component.nuclear_turbine_2": "Each Rotor Holder above §5EV§r §7adds§r 10% efficiency and multiplies EU/t by 2.",
|
||||
"tfg.tooltip.component.smr_generator_1": "§eBase Production:§r 4096 EU/t",
|
||||
"tfg.tooltip.component.smr_generator_2": "Dedicated to produce power from sCO2 and the Small Modular Reactor.\n Use Lubricant and Booster to increase its efficiency and manage the cooling loop of the SMR.",
|
||||
"tfg.tooltip.show_recipes": "Show Recipes",
|
||||
"emi.category.tfg.artisan_table": "Artisan Table",
|
||||
"tfg.gui.refrigerator.unify_dates.enabled": "Expiration Date Unification is: §aOn",
|
||||
"tfg.gui.refrigerator.unify_dates.disabled": "Expiration Date Unification is: §cOff",
|
||||
"tfg.machine.food_refrigerator_power_usage": "§7Consumes§r %s EU/t §7while active to keep your food fresh.§r",
|
||||
|
|
@ -4017,7 +4021,7 @@
|
|||
"quests.steam_age.resin_boards.desc": "Did you know tree taps can drip directly into GregTech pipes and drums? Now you do!",
|
||||
"quests.steam_age.circuit_boards.title": "Electronics #2: Circuit Boards",
|
||||
"quests.steam_age.circuit_boards.subtitle": "The easier component for circuits",
|
||||
"quests.steam_age.circuit_boards.desc": "Combine those Resin Circuit Boards with some Copper Wires and you've got the base for your first &aCircuit&r!",
|
||||
"quests.steam_age.circuit_boards.desc": "Some delicate craftsmanship in an &3Artisan Table&r will allow you to combine those Resin Circuit Boards with some Copper Wires to create your first &aCircuit&r!\n\nThe Artisan Table works on the same principal as Knapping, but this time with additional item and tool inputs.",
|
||||
"quests.steam_age.vacuum_chamber.title": "Vacuum Chamber",
|
||||
"quests.steam_age.vacuum_chamber.subtitle": "Putting the Vacuum in Vacuum Tubes",
|
||||
"quests.steam_age.vacuum_chamber.desc": "This machine is the final step in making your first Vacuum Tubes. Place it above a Basin and give it some power, and make sure the machine is set to Vacuumizing mode.\n\nThis machine can also help liquefy glue and rubber while being heated by either a Charcoal Forge or a Blaze Burner.",
|
||||
|
|
|
|||
468
kubejs/assets/tfg/models/block/artisan_table.json
Normal file
|
|
@ -0,0 +1,468 @@
|
|||
{
|
||||
"format_version": "1.9.0",
|
||||
"credit": "Made with Blockbench",
|
||||
"texture_size": [32, 32],
|
||||
"textures": {
|
||||
"0": "tfg:block/artisan_table",
|
||||
"particle": "#0"
|
||||
},
|
||||
"elements": [
|
||||
{
|
||||
"from": [0.98, 0, 1],
|
||||
"to": [2.98, 17, 3],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3, 1, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"east": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"south": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"west": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1, 0, 12],
|
||||
"to": [3, 13, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3, 1, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"east": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"south": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"west": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13, 0, 12],
|
||||
"to": [15, 13, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [15, 1, 14]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"east": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"south": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"west": {"uv": [15, 1.5, 16, 8], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13.02, 0, 1],
|
||||
"to": [15.02, 17, 3],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [15.1, 1, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"east": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"south": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"west": {"uv": [15, 0, 16, 8], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 2.5, 2.5, 1.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.5, 3, 14],
|
||||
"to": [3.5, 15, 16],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 3, 16]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 0, 1.5, 6], "texture": "#0"},
|
||||
"east": {"uv": [1.5, 0, 2.5, 6], "texture": "#0"},
|
||||
"south": {"uv": [0, 0, 1.5, 6], "texture": "#0"},
|
||||
"west": {"uv": [2.5, 0, 1.5, 6], "texture": "#0"},
|
||||
"up": {"uv": [2.5, 0, 4, 1], "texture": "#0"},
|
||||
"down": {"uv": [2.5, 1, 4, 0], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.4, 13.1, 14.5],
|
||||
"to": [3.6, 15.1, 15.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [3.5, 14.1, 15.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [14.5, 15, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [3.5, 1, 4, 1.5], "texture": "#0"},
|
||||
"south": {"uv": [14.5, 15, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [2.5, 1, 3.5, 1.5], "texture": "#0"},
|
||||
"up": {"uv": [4, 1.5, 2.5, 1], "texture": "#0"},
|
||||
"down": {"uv": [16, 16, 14.5, 15.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1.5, 7.5, 11],
|
||||
"to": [2.5, 8.5, 17],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 7.5, 17]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 0.5, 6.5], "texture": "#0"},
|
||||
"east": {"uv": [3, 6, 0, 6.5], "texture": "#0"},
|
||||
"south": {"uv": [2.5, 6, 3, 6.5], "texture": "#0"},
|
||||
"west": {"uv": [0, 6, 3, 6.5], "texture": "#0"},
|
||||
"up": {"uv": [0, 6.5, 3, 6], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [3, 6.5, 0, 6], "rotation": 90, "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [0.6, 5.7, 16.5],
|
||||
"to": [1.6, 9.7, 16.5],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [1.6, 5.7, 16.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6, 2, 6.5], "rotation": 90, "texture": "#0"},
|
||||
"east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"south": {"uv": [0, 6, 2, 6.5], "rotation": 90, "texture": "#0"},
|
||||
"west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [16, 16, 15.5, 15.5], "texture": "#0"},
|
||||
"down": {"uv": [16, 15.5, 15.5, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [13.5, 9, 3],
|
||||
"to": [14.5, 13, 12],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [14.5, 11, 11]},
|
||||
"faces": {
|
||||
"north": {"uv": [9.5, 0, 10, 2], "texture": "#0"},
|
||||
"east": {"uv": [5.5, 0, 10, 2], "texture": "#0"},
|
||||
"south": {"uv": [5.5, 0, 6, 2], "texture": "#0"},
|
||||
"west": {"uv": [5.5, 0, 10, 2], "texture": "#0"},
|
||||
"up": {"uv": [10, 0.5, 5.5, 0], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [5.5, 2, 10, 1.5], "rotation": 90, "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [1.5, 9, 3],
|
||||
"to": [2.5, 13, 12],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2.5, 11, 11]},
|
||||
"faces": {
|
||||
"north": {"uv": [9.5, 0, 10, 2], "texture": "#0"},
|
||||
"east": {"uv": [5.5, 0, 10, 2], "texture": "#0"},
|
||||
"south": {"uv": [5.5, 0, 6, 2], "texture": "#0"},
|
||||
"west": {"uv": [5.5, 0, 10, 2], "texture": "#0"},
|
||||
"up": {"uv": [10, 0.5, 5.5, 0], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [5.5, 2, 10, 1.5], "rotation": 90, "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 9, 12.5],
|
||||
"to": [7, 13, 13.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [4, 11, 13.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [6, 0, 8, 2], "texture": "#0"},
|
||||
"east": {"uv": [7.5, 0, 8, 2], "texture": "#0"},
|
||||
"south": {"uv": [6, 0, 8, 2], "texture": "#0"},
|
||||
"west": {"uv": [6, 0, 6.5, 2], "texture": "#0"},
|
||||
"up": {"uv": [8, 0.5, 6, 0], "rotation": 180, "texture": "#0"},
|
||||
"down": {"uv": [6, 2, 8, 1.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 9, 1.5],
|
||||
"to": [13, 18, 2.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 9, 3.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [10, 0, 15, 4.5], "texture": "#0"},
|
||||
"east": {"uv": [10, 0, 10.5, 4.5], "texture": "#0"},
|
||||
"south": {"uv": [15, 0, 10, 4.5], "texture": "#0"},
|
||||
"west": {"uv": [14.5, 0, 15, 4.5], "texture": "#0"},
|
||||
"up": {"uv": [15, 0.5, 10, 0], "texture": "#0"},
|
||||
"down": {"uv": [15, 4.5, 10, 4], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [3, 7, 1],
|
||||
"to": [13, 9, 3],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 7, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 2.5, 16, 7.5], "rotation": 90, "texture": "#0"},
|
||||
"east": {"uv": [2.5, 1.5, 3.5, 2.5], "texture": "#0"},
|
||||
"south": {"uv": [15, 2.5, 16, 7.5], "rotation": 90, "texture": "#0"},
|
||||
"west": {"uv": [2.5, 1.5, 3.5, 2.5], "texture": "#0"},
|
||||
"up": {"uv": [16, 7.5, 15, 2.5], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [16, 7.5, 15, 2.5], "rotation": 90, "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [7, 9, 5.5],
|
||||
"to": [13, 13, 14.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [13, 11, 14.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 6.5, 3, 8.5], "texture": "#0"},
|
||||
"east": {"uv": [0.5, 12.5, 2.5, 8], "rotation": 90, "texture": "#0"},
|
||||
"south": {"uv": [0, 6.5, 3, 8.5], "texture": "#0"},
|
||||
"west": {"uv": [2.5, 8, 0.5, 12.5], "rotation": 90, "texture": "#0"},
|
||||
"up": {"uv": [0, 8, 3, 12.5], "texture": "#0"},
|
||||
"down": {"uv": [0, 8, 3, 12.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8.5, 9.5, 14.5],
|
||||
"to": [11.5, 11.5, 14.5],
|
||||
"rotation": {"angle": -22.5, "axis": "x", "origin": [11.5, 11.5, 14.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [2.5, 2.5, 4, 3.5], "texture": "#0"},
|
||||
"east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"south": {"uv": [2.5, 2.5, 4, 3.5], "texture": "#0"},
|
||||
"west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [16, 16, 15.5, 15.5], "texture": "#0"},
|
||||
"down": {"uv": [16, 15.5, 15.5, 16], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "mold",
|
||||
"from": [6, 14.2, 5.5],
|
||||
"to": [11, 14.2, 10.5],
|
||||
"rotation": {"angle": 22.5, "axis": "y", "origin": [11, 14.2, 10.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [0, 1, 2.5, 1], "texture": "#0"},
|
||||
"east": {"uv": [0, 1, 2.5, 1], "texture": "#0"},
|
||||
"south": {"uv": [0, 1, 2.5, 1], "texture": "#0"},
|
||||
"west": {"uv": [0, 1, 2.5, 1], "texture": "#0"},
|
||||
"up": {"uv": [7, 15, 4.5, 12.5], "texture": "#0"},
|
||||
"down": {"uv": [2.5, 2.5, 0, 0], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "top",
|
||||
"from": [1, 13, 2],
|
||||
"to": [15, 14, 14],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [14, 13, 6]},
|
||||
"faces": {
|
||||
"north": {"uv": [15, 4.5, 8, 5], "texture": "#0"},
|
||||
"east": {"uv": [14.5, 4.5, 15, 10.5], "rotation": 90, "texture": "#0"},
|
||||
"south": {"uv": [8, 10, 15, 10.5], "texture": "#0"},
|
||||
"west": {"uv": [8.5, 10.5, 8, 4.5], "rotation": 90, "texture": "#0"},
|
||||
"up": {"uv": [8, 4.5, 15, 10.5], "texture": "#0"},
|
||||
"down": {"uv": [8, 10.5, 15, 4.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "paper",
|
||||
"from": [1.8, 14.1, 5.8],
|
||||
"to": [10.8, 14.1, 12.8],
|
||||
"rotation": {"angle": -22.5, "axis": "y", "origin": [8.8, 14.1, 12.8]},
|
||||
"faces": {
|
||||
"north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [15.5, 16, 16, 15.5], "texture": "#0"},
|
||||
"south": {"uv": [15.5, 16, 16, 15.5], "texture": "#0"},
|
||||
"west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [0, 12.5, 4.5, 16], "texture": "#0"},
|
||||
"down": {"uv": [4.5, 16, 0, 12.5], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [11, 14, 2.5],
|
||||
"to": [12, 17, 3.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [12, 14, 3.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [10.9, 17, 2.6],
|
||||
"to": [11.9, 21, 2.6],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [11.9, 17, 2.6]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.5, 4, 4, 6], "texture": "#0"},
|
||||
"east": {"uv": [0, 1.5, 0, 3], "texture": "#0"},
|
||||
"south": {"uv": [3.5, 4, 4, 6], "texture": "#0"},
|
||||
"west": {"uv": [1, 1.5, 1, 3], "texture": "#0"},
|
||||
"up": {"uv": [0.5, 0, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0.5, 1, 0, 1], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 14, 2.5],
|
||||
"to": [10.5, 17, 3.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [10.5, 14, 3.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [9.5, 17, 3],
|
||||
"to": [10.5, 20, 3],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [10, 17, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"},
|
||||
"east": {"uv": [0, 1.5, 0, 3], "texture": "#0"},
|
||||
"south": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"},
|
||||
"west": {"uv": [1, 1.5, 1, 3], "texture": "#0"},
|
||||
"up": {"uv": [0.5, 0, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0.5, 1, 0, 1], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 14, 2.5],
|
||||
"to": [9, 17, 3.5],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [9, 14, 3.5]},
|
||||
"faces": {
|
||||
"north": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"east": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"south": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"west": {"uv": [3, 6, 3.5, 7.5], "texture": "#0"},
|
||||
"up": {"uv": [3.5, 6.5, 3, 6], "texture": "#0"},
|
||||
"down": {"uv": [3.5, 7.5, 3, 7], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [8, 17, 3],
|
||||
"to": [9, 20, 3],
|
||||
"rotation": {"angle": 45, "axis": "y", "origin": [8.5, 17, 3]},
|
||||
"faces": {
|
||||
"north": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"},
|
||||
"east": {"uv": [0, 1.5, 0, 3], "texture": "#0"},
|
||||
"south": {"uv": [3.5, 6, 4, 7.5], "texture": "#0"},
|
||||
"west": {"uv": [1, 1.5, 1, 3], "texture": "#0"},
|
||||
"up": {"uv": [0.5, 0, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0.5, 1, 0, 1], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "cutter",
|
||||
"from": [15, 9, 5.7],
|
||||
"to": [15, 15, 11.7],
|
||||
"rotation": {"angle": -45, "axis": "x", "origin": [15, 9, 11.7]},
|
||||
"faces": {
|
||||
"north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [5, 2, 8, 5], "texture": "#0"},
|
||||
"south": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [8, 2, 5, 5], "texture": "#0"},
|
||||
"up": {"uv": [0, 2, 0, 0], "texture": "#0"},
|
||||
"down": {"uv": [0, 2, 0, 0], "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [2.84814, 14.2, 5.84814],
|
||||
"to": [7.84814, 15.2, 7.84814],
|
||||
"rotation": {"angle": 0, "axis": "y", "origin": [2.84814, 14.2, 7.84814]},
|
||||
"faces": {
|
||||
"north": {"uv": [5.5, 5, 6, 7.5], "rotation": 90, "texture": "#0"},
|
||||
"east": {"uv": [5, 5, 6, 5.5], "texture": "#0"},
|
||||
"south": {"uv": [5.5, 7.5, 5, 5], "rotation": 90, "texture": "#0"},
|
||||
"west": {"uv": [6, 7, 5, 7.5], "texture": "#0"},
|
||||
"up": {"uv": [6, 7.5, 5, 5], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [3.5, 6, 2.5, 3.5], "rotation": 270, "texture": "#0"}
|
||||
}
|
||||
},
|
||||
{
|
||||
"from": [4, 15.96444, 5.84814],
|
||||
"to": [5, 15.96444, 7.84814],
|
||||
"rotation": {"angle": -22.5, "axis": "z", "origin": [3, 15.96444, 7.84814]},
|
||||
"faces": {
|
||||
"north": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"east": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"south": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"west": {"uv": [15.5, 15.5, 16, 16], "texture": "#0"},
|
||||
"up": {"uv": [7, 7.5, 6, 6.5], "rotation": 90, "texture": "#0"},
|
||||
"down": {"uv": [7, 7.5, 6, 6.5], "rotation": 270, "texture": "#0"}
|
||||
}
|
||||
}
|
||||
],
|
||||
"display": {
|
||||
"thirdperson_righthand": {
|
||||
"rotation": [75, 153, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"thirdperson_lefthand": {
|
||||
"rotation": [75, -149, 0],
|
||||
"translation": [0, 2.5, 0],
|
||||
"scale": [0.375, 0.375, 0.375]
|
||||
},
|
||||
"firstperson_righthand": {
|
||||
"rotation": [0, -45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"firstperson_lefthand": {
|
||||
"rotation": [0, -45, 0],
|
||||
"scale": [0.4, 0.4, 0.4]
|
||||
},
|
||||
"ground": {
|
||||
"translation": [0, 3, 0],
|
||||
"scale": [0.25, 0.25, 0.25]
|
||||
},
|
||||
"gui": {
|
||||
"rotation": [30, 45, 0],
|
||||
"scale": [0.625, 0.625, 0.625]
|
||||
},
|
||||
"head": {
|
||||
"rotation": [0, -180, 0],
|
||||
"translation": [0, 6.75, 0],
|
||||
"scale": [1.5, 1.5, 1.5]
|
||||
},
|
||||
"fixed": {
|
||||
"rotation": [0, 180, 0],
|
||||
"translation": [0, 0, -2],
|
||||
"scale": [0.5, 0.5, 0.5]
|
||||
}
|
||||
},
|
||||
"groups": [
|
||||
{
|
||||
"name": "legs",
|
||||
"origin": [12, 0, 12],
|
||||
"color": 0,
|
||||
"children": [0, 1, 2, 3]
|
||||
},
|
||||
{
|
||||
"name": "vise",
|
||||
"origin": [12.5, 1, 1],
|
||||
"color": 0,
|
||||
"children": [4, 5, 6, 7]
|
||||
},
|
||||
{
|
||||
"name": "sides",
|
||||
"origin": [2.5, 10, 5],
|
||||
"color": 0,
|
||||
"children": [8, 9, 10, 11, 12]
|
||||
},
|
||||
{
|
||||
"name": "drawer",
|
||||
"origin": [4, 10, 2.5],
|
||||
"color": 0,
|
||||
"children": [13, 14]
|
||||
},
|
||||
{
|
||||
"name": "table_top",
|
||||
"origin": [5, 13.2, 5.5],
|
||||
"color": 0,
|
||||
"children": [15, 16, 17]
|
||||
},
|
||||
{
|
||||
"name": "tool_rack",
|
||||
"origin": [4, 13, 11.5],
|
||||
"color": 0,
|
||||
"children": [
|
||||
{
|
||||
"name": "tool1",
|
||||
"origin": [4, 13, 11.5],
|
||||
"color": 0,
|
||||
"children": [18, 19]
|
||||
},
|
||||
{
|
||||
"name": "tool2",
|
||||
"origin": [4, 13, 11.5],
|
||||
"color": 0,
|
||||
"children": [20, 21]
|
||||
},
|
||||
{
|
||||
"name": "tool3",
|
||||
"origin": [4, 13, 11.5],
|
||||
"color": 0,
|
||||
"children": [22, 23]
|
||||
},
|
||||
24,
|
||||
{
|
||||
"name": "plane",
|
||||
"origin": [13.15186, 13, 8.15186],
|
||||
"color": 0,
|
||||
"children": [25, 26]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
3
kubejs/assets/tfg/models/item/artisan_table.json
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
{
|
||||
"parent": "tfg:block/artisan_table"
|
||||
}
|
||||
BIN
kubejs/assets/tfg/textures/block/artisan_table.png
Normal file
|
After Width: | Height: | Size: 1.1 KiB |
BIN
kubejs/assets/tfg/textures/block/artisan_table_n.png
Normal file
|
After Width: | Height: | Size: 104 B |
BIN
kubejs/assets/tfg/textures/block/artisan_table_s.png
Normal file
|
After Width: | Height: | Size: 330 B |
BIN
kubejs/assets/tfg/textures/gui/artisan_table/artisan_table.png
Normal file
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 220 B |
|
After Width: | Height: | Size: 230 B |
|
After Width: | Height: | Size: 204 B |
|
After Width: | Height: | Size: 1.6 KiB |
|
After Width: | Height: | Size: 212 B |
|
After Width: | Height: | Size: 208 B |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 451 B |
|
After Width: | Height: | Size: 439 B |
|
After Width: | Height: | Size: 1 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
20
kubejs/data/tfg/loot_tables/blocks/artisan_table.json
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
{
|
||||
"type": "minecraft:block",
|
||||
"pools": [
|
||||
{
|
||||
"name": "loot_pool",
|
||||
"rolls": 1,
|
||||
"entries": [
|
||||
{
|
||||
"type": "minecraft:item",
|
||||
"name": "tfg:artisan_table"
|
||||
}
|
||||
],
|
||||
"conditions": [
|
||||
{
|
||||
"condition": "minecraft:survives_explosion"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -26,38 +26,6 @@ function registerTACZMiscRecipes(event) {
|
|||
['tacz:target', 'minecraft:minecart']
|
||||
).id('tfg_tacz:target_minecart');
|
||||
|
||||
|
||||
//Molds
|
||||
event.shaped('tfg:small_casing_extruder_mold',[
|
||||
' A ',
|
||||
'B ',
|
||||
' C'
|
||||
],{
|
||||
A: '#forge:tools/wire_cutters',
|
||||
B: 'gtceu:empty_mold',
|
||||
C: '#forge:tools/files'
|
||||
}).id('tfg:small_casing_extruder_mold');
|
||||
|
||||
event.shaped('tfg:large_casing_extruder_mold',[
|
||||
' ',
|
||||
'AB ',
|
||||
' C'
|
||||
],{
|
||||
A: '#forge:tools/wire_cutters',
|
||||
B: 'gtceu:empty_mold',
|
||||
C: '#forge:tools/files'
|
||||
}).id('tfg:large_casing_extruder_mold');
|
||||
|
||||
event.shaped('tfg:shell_casing_extruder_mold',[
|
||||
' C',
|
||||
'AB ',
|
||||
' '
|
||||
],{
|
||||
A: '#forge:tools/wire_cutters',
|
||||
B: 'gtceu:empty_mold',
|
||||
C: '#forge:tools/files'
|
||||
}).id('tfg:shell_casing_extruder_mold');
|
||||
|
||||
//Mechanisms
|
||||
event.shaped('tfg:flintlock_mechanism', [
|
||||
'ABC',
|
||||
|
|
|
|||
|
|
@ -6,278 +6,57 @@
|
|||
*/
|
||||
function registerTFGMoldRecipes(event) {
|
||||
|
||||
event.shaped('tfg:mining_hammer_head_extruder_mold', [
|
||||
'Sfh',
|
||||
' ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:sword_head_extruder_mold', [
|
||||
'Shf',
|
||||
' ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:pickaxe_head_extruder_mold', [
|
||||
'S ',
|
||||
'hf ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:axe_head_extruder_mold', [
|
||||
'S ',
|
||||
' fh',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:hoe_head_extruder_mold', [
|
||||
'S ',
|
||||
' hf',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:scythe_head_extruder_mold', [
|
||||
'S ',
|
||||
' ',
|
||||
'fh '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:file_head_extruder_mold', [
|
||||
'S ',
|
||||
' ',
|
||||
'hf '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:hammer_head_extruder_mold', [
|
||||
'Sf ',
|
||||
' h ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:saw_head_extruder_mold', [
|
||||
'Sh ',
|
||||
' f ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:knife_head_extruder_mold', [
|
||||
'S f',
|
||||
' ',
|
||||
' h'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:butchery_knife_head_extruder_mold', [
|
||||
'S h',
|
||||
' ',
|
||||
' f'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:shovel_head_extruder_mold', [
|
||||
'S ',
|
||||
'f ',
|
||||
'h '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:spade_head_extruder_mold', [
|
||||
'S ',
|
||||
'f ',
|
||||
' h'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:propick_head_extruder_mold', [
|
||||
'Sxf',
|
||||
' ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:javelin_head_extruder_mold', [
|
||||
'S x',
|
||||
'f ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:chisel_head_extruder_mold', [
|
||||
'S ',
|
||||
'xf ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:mace_head_extruder_mold', [
|
||||
'S ',
|
||||
' xf',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
x: '#forge:tools/wire_cutters'
|
||||
})
|
||||
|
||||
event.shaped('tfg:lamp_casting_mold', [
|
||||
'Sh ',
|
||||
' ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:trapdoor_casting_mold', [
|
||||
'S h',
|
||||
' ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:chain_casting_mold', [
|
||||
'S ',
|
||||
'h ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:bell_casting_mold', [
|
||||
'S ',
|
||||
' h ',
|
||||
' m'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
h: '#forge:tools/hammers',
|
||||
m: '#forge:tools/mallets'
|
||||
})
|
||||
|
||||
event.shaped('tfg:mattock_head_extruder_mold', [
|
||||
' h',
|
||||
'fS ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:fish_hook_extruder_mold', [
|
||||
'f ',
|
||||
' S ',
|
||||
' h'
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
event.shaped('tfg:whisk_extruder_mold', [
|
||||
'f h',
|
||||
' S ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
/** @type {['huge'|'large'|'normal'|'small'|'tiny']}*/
|
||||
const pipe_sizes = [
|
||||
'huge',
|
||||
'large',
|
||||
'normal',
|
||||
'small',
|
||||
'tiny'
|
||||
];
|
||||
|
||||
event.shaped('tfg:screwdriver_tip_extruder_mold', [
|
||||
'f ',
|
||||
' S ',
|
||||
' h '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
let prev_size;
|
||||
pipe_sizes.forEach((size) => {
|
||||
if (size !== 'huge'){
|
||||
event.shaped(`gtceu:${size}_pipe_casting_mold`, [
|
||||
'ABC'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: `gtceu:${prev_size}_pipe_casting_mold`,
|
||||
C: '#forge:tools/mallets'
|
||||
}).id(`tfg:shaped/${prev_size}_${size}_casting_mold`)
|
||||
|
||||
event.shaped(`gtceu:${size}_pipe_extruder_mold`, [
|
||||
'ABC'
|
||||
], {
|
||||
A: '#forge:tools/hammers',
|
||||
B: `gtceu:${prev_size}_pipe_extruder_mold`,
|
||||
C: '#forge:tools/mallets'
|
||||
}).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`)
|
||||
}
|
||||
prev_size = size;
|
||||
});
|
||||
|
||||
event.shaped('tfg:wrench_tip_extruder_mold', [
|
||||
'f ',
|
||||
'hS ',
|
||||
' '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
pipe_sizes.reverse().forEach((size) => {
|
||||
if (size !== 'tiny'){
|
||||
event.shaped(`gtceu:${size}_pipe_casting_mold`, [
|
||||
'ABC'
|
||||
], {
|
||||
A: '#forge:tools/mallets',
|
||||
B: `gtceu:${prev_size}_pipe_casting_mold`,
|
||||
C: '#forge:tools/hammers'
|
||||
}).id(`tfg:shaped/${prev_size}_${size}_casting_mold`)
|
||||
|
||||
event.shaped('tfg:wire_cutter_head_extruder_mold', [
|
||||
'hS ',
|
||||
' ',
|
||||
' f '
|
||||
], {
|
||||
S: 'gtceu:empty_mold',
|
||||
f: '#forge:tools/files',
|
||||
h: '#forge:tools/hammers'
|
||||
})
|
||||
|
||||
let steelIngots = ChemicalHelper.get(TagPrefix.ingot, GTMaterials.Steel, 4);
|
||||
let steelDusts = ChemicalHelper.get(TagPrefix.dust, GTMaterials.Steel, 4);
|
||||
event.shaped(`gtceu:${size}_pipe_extruder_mold`, [
|
||||
'ABC'
|
||||
], {
|
||||
A: '#forge:tools/mallets',
|
||||
B: `gtceu:${prev_size}_pipe_extruder_mold`,
|
||||
C: '#forge:tools/hammers'
|
||||
}).id(`tfg:shaped/${prev_size}_${size}_extruder_mold`)
|
||||
}
|
||||
prev_size = size;
|
||||
});
|
||||
|
||||
global.TFG_EXTRUDER_MOLDS.forEach(mold => {
|
||||
|
||||
|
|
@ -289,7 +68,7 @@ function registerTFGMoldRecipes(event) {
|
|||
.itemOutputs(mold)
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
});
|
||||
|
||||
global.TFG_CASTING_MOLDS.forEach(mold => {
|
||||
|
||||
|
|
@ -301,23 +80,6 @@ function registerTFGMoldRecipes(event) {
|
|||
.itemOutputs(mold)
|
||||
.duration(120)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
})
|
||||
});
|
||||
|
||||
//TODO: Fix this code to respect full molds
|
||||
// //craft mold to scrub nbt
|
||||
// const molds = Ingredient.of('#tfc:fired_molds').itemIds;
|
||||
|
||||
// molds.forEach(mold => {
|
||||
// event.shapeless(Item.of(mold), [mold])
|
||||
// .id(`tfg:shapeless/mold_cleaning/${mold.replace(":", "/")}`);
|
||||
// });
|
||||
|
||||
// //craft vessel to scrub nbt
|
||||
// const vessels = Ingredient.of('#tfc:fired_vessels').itemIds;
|
||||
|
||||
// vessels.forEach(vessel => {
|
||||
// event.shapeless(Item.of(vessel), [vessel])
|
||||
// .id(`tfg:shapeless/vessel_cleaning/${vessel.replace(":", "/")}`);
|
||||
// });
|
||||
|
||||
}
|
||||
};
|
||||
|
|
|
|||
572
kubejs/server_scripts/tfg/primitive/recipes.artisan_table.js
Normal file
|
|
@ -0,0 +1,572 @@
|
|||
// priority: 0
|
||||
"use strict";
|
||||
|
||||
function registerTFGArtisanTableRecipes(event) {
|
||||
|
||||
// Removals (`type` didnt want to work here).
|
||||
event.remove({ id: /gtceu:shaped\/shape_.*/, input: 'gtceu:empty_mold'});
|
||||
event.remove({ id: /gtceu:shaped\/shape_.*/, input: /gtceu:.*_extruder_mold/});
|
||||
event.remove({ id: 'gtceu:shaped/basic_circuit_board'});
|
||||
event.remove({ id: 'gtceu:shaped/good_circuit_board'});
|
||||
|
||||
//Table Recipe
|
||||
TFGHelpers.registerMaterialInfo('tfg:artisan_table', [GTMaterials.WroughtIron, 6, GTMaterials.Wood, 3, GTMaterials.Copper, 1/9])
|
||||
|
||||
event.shaped('tfg:artisan_table', [
|
||||
'CBC',
|
||||
'AAA',
|
||||
'B B'
|
||||
], {
|
||||
A: ChemicalHelper.get(TagPrefix.plateDouble, GTMaterials.WroughtIron, 1),
|
||||
B: 'firmalife:treated_wood',
|
||||
C: '#forge:screws/any_bronze'
|
||||
}).id('tfg:shaped/artisan_table');
|
||||
|
||||
//#region Molds
|
||||
|
||||
/**
|
||||
* Mold pattern definitions.
|
||||
* @param {string} name - Base id of the mold item.
|
||||
* @param {boolean} genCast - Whether to generate a casting mold recipe.
|
||||
* @param {boolean} genExtrude - Whether to generate an extruder mold recipe.
|
||||
* @param {string[]} pattern - 6x6 pattern for the mold. 'X' for solid, ' ' for empty.
|
||||
* @type {{name: string, genCast: boolean, genExtrude: boolean, pattern: string[]}[]} moldPatterns
|
||||
*/
|
||||
const moldPatterns = [
|
||||
{ name: 'tfg:lamp', genCast: true, genExtrude: false, pattern: [
|
||||
"XX XX",
|
||||
"X X",
|
||||
"X XX X",
|
||||
"X XX X",
|
||||
"X XX X",
|
||||
"X X"
|
||||
]},
|
||||
{ name: 'tfg:trapdoor', genCast: true, genExtrude: false, pattern: [
|
||||
" ",
|
||||
" XXXX ",
|
||||
" ",
|
||||
" ",
|
||||
" XXXX ",
|
||||
" "
|
||||
]},
|
||||
{ name: 'tfg:chain', genCast: true, genExtrude: false, pattern: [
|
||||
"X X",
|
||||
"X XX X",
|
||||
"X X",
|
||||
"XX XX",
|
||||
"X X",
|
||||
"X XX X"
|
||||
]},
|
||||
{ name: 'tfg:bell', genCast: true, genExtrude: false, pattern: [
|
||||
"XX XX",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
" ",
|
||||
" "
|
||||
]},
|
||||
{ name: 'gtceu:plate', genCast: true, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:gear', genCast: true, genExtrude: true, pattern: [
|
||||
"XX XX",
|
||||
"X X",
|
||||
" XX ",
|
||||
" XX ",
|
||||
"X X",
|
||||
"XX XX"
|
||||
]},
|
||||
{ name: 'gtceu:bottle', genCast: true, genExtrude: true, pattern: [
|
||||
"X X",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X"
|
||||
]},
|
||||
{ name: 'gtceu:ingot', genCast: true, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:ball', genCast: true, genExtrude: false, pattern: [
|
||||
"XXXXXX",
|
||||
"XX XX",
|
||||
"X X",
|
||||
"X X",
|
||||
"XX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:cylinder', genCast: true, genExtrude: false, pattern: [
|
||||
"XX XX",
|
||||
"X X",
|
||||
" ",
|
||||
" ",
|
||||
"X X",
|
||||
"XX XX"
|
||||
]},
|
||||
{ name: 'gtceu:block', genCast: true, genExtrude: true, pattern: [
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" ",
|
||||
" "
|
||||
]},
|
||||
{ name: 'gtceu:nugget', genCast: true, genExtrude: false, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:anvil', genCast: true, genExtrude: false, pattern: [
|
||||
" ",
|
||||
" ",
|
||||
"X X",
|
||||
"XX XX",
|
||||
"X X",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:name', genCast: true, genExtrude: false, pattern: [
|
||||
"XXXXXX",
|
||||
"X X X ",
|
||||
" X X X",
|
||||
"X X X ",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:small_gear', genCast: true, genExtrude: true, pattern: [
|
||||
"XXX XX",
|
||||
"XX X",
|
||||
"X X ",
|
||||
"XX X",
|
||||
"XXX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:rotor', genCast: true, genExtrude: true, pattern: [
|
||||
" XXXX ",
|
||||
"X XX X",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"X XX X",
|
||||
" XXXX "
|
||||
]},
|
||||
{ name: 'gtceu:pill', genCast: true, genExtrude: false, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XX XX",
|
||||
"X XX",
|
||||
"X XXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:huge_pipe', genCast: true, genExtrude: true, pattern: [
|
||||
" ",
|
||||
" XXXX ",
|
||||
" XXXX ",
|
||||
" XXXX ",
|
||||
" XXXX ",
|
||||
" "
|
||||
]},
|
||||
|
||||
{ name: 'gtceu:rod', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:bolt', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XX X",
|
||||
"XXX XX",
|
||||
"XXX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:ring', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX XX",
|
||||
"X XX X",
|
||||
"X XX X",
|
||||
"XX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:cell', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX X",
|
||||
"X XX X",
|
||||
"X XX X",
|
||||
"X XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:wire', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX XXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'gtceu:foil', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
" ",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:small_casing', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"X X X ",
|
||||
"XXXXXX",
|
||||
"X X X ",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:shell_casing', genCast: false, genExtrude: true, pattern: [
|
||||
" XXXX",
|
||||
" XXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXX ",
|
||||
"XXXX "
|
||||
]},
|
||||
{ name: 'tfg:large_casing', genCast: false, genExtrude: true, pattern: [
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
" XXXX",
|
||||
" XXXX",
|
||||
"XXXX ",
|
||||
"XXXX "
|
||||
]},
|
||||
|
||||
//Tools
|
||||
{ name: 'tfg:mining_hammer_head', genCast: false, genExtrude: true, pattern: [
|
||||
" XXXXX",
|
||||
" X",
|
||||
" ",
|
||||
" X",
|
||||
" XXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:sword_head', genCast: false, genExtrude: true, pattern: [
|
||||
" XXXX",
|
||||
" XXX",
|
||||
"X XX",
|
||||
"XX X",
|
||||
"XXX X",
|
||||
"XXXXX "
|
||||
]},
|
||||
{ name: 'tfg:pickaxe_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"X X",
|
||||
" XXXX ",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:shovel_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"XX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:axe_head', genCast: false, genExtrude: true, pattern: [
|
||||
"X XXXX",
|
||||
" X",
|
||||
" ",
|
||||
" X",
|
||||
"X XXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:hoe_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
" ",
|
||||
" XXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:scythe_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"X ",
|
||||
" XX",
|
||||
" XXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:file_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"XX XXX"
|
||||
]},
|
||||
{ name: 'tfg:hammer_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
" ",
|
||||
" ",
|
||||
"XX XX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:saw_head', genCast: false, genExtrude: true, pattern: [
|
||||
" XXXX",
|
||||
" XXX",
|
||||
"X XX",
|
||||
"X X",
|
||||
"XX ",
|
||||
"XXXX "
|
||||
]},
|
||||
{ name: 'tfg:knife_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:butchery_knife_head', genCast: false, genExtrude: true, pattern: [
|
||||
"X XXXX",
|
||||
"X XXXX",
|
||||
"X XX",
|
||||
"X X",
|
||||
"X X X",
|
||||
"X X"
|
||||
]},
|
||||
{ name: 'tfg:spade_head', genCast: false, genExtrude: true, pattern: [
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"XX XX",
|
||||
"XX XX"
|
||||
]},
|
||||
{ name: 'tfg:propick_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
" X",
|
||||
" XXXX ",
|
||||
" XXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:javelin_head', genCast: false, genExtrude: true, pattern: [
|
||||
" XXX",
|
||||
" XX",
|
||||
" X",
|
||||
"X ",
|
||||
"XX X",
|
||||
"XXX XX"
|
||||
]},
|
||||
{ name: 'tfg:chisel_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXX XX",
|
||||
"XXX XX",
|
||||
"XXX XX",
|
||||
"XXX XX",
|
||||
"XXX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:mace_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XX XX",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"X X",
|
||||
"XX XX"
|
||||
]},
|
||||
{ name: 'tfg:mattock_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
" X",
|
||||
" XX ",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:fish_hook', genCast: false, genExtrude: true, pattern: [
|
||||
"XXX XX",
|
||||
"XXXX X",
|
||||
"X XX X",
|
||||
"X XX X",
|
||||
"XX XX",
|
||||
"XXXXXX"
|
||||
]},
|
||||
{ name: 'tfg:whisk', genCast: false, genExtrude: true, pattern: [
|
||||
" X X ",
|
||||
"XX XX",
|
||||
" XX ",
|
||||
" XX ",
|
||||
"XX XX",
|
||||
" X X "
|
||||
]},
|
||||
{ name: 'tfg:screwdriver_tip', genCast: false, genExtrude: true, pattern: [
|
||||
"XX X",
|
||||
"XXX XX",
|
||||
"XX X",
|
||||
"XXX XX",
|
||||
"XXX XX",
|
||||
"XXX XX"
|
||||
]},
|
||||
{ name: 'tfg:wrench_tip', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"XX XXX",
|
||||
"X XX"
|
||||
]},
|
||||
{ name: 'tfg:wire_cutter_head', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XX X",
|
||||
"X X X",
|
||||
"X XXX",
|
||||
"X XXX",
|
||||
"XXXXXX"
|
||||
]}
|
||||
|
||||
/*
|
||||
,
|
||||
{ name: 'tfg:', genCast: false, genExtrude: true, pattern: [
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX",
|
||||
"XXXXXX"
|
||||
]}
|
||||
*/
|
||||
];
|
||||
|
||||
/** Checks for duplicate patterns for the same mold type. */
|
||||
function patternsEqual(p1, p2) {
|
||||
for (let i = 0; i < p1.length; i++) {
|
||||
if (p1[i] !== p2[i]) return false;
|
||||
};
|
||||
return true;
|
||||
};
|
||||
/** Checks for duplicate mirrored patterns for the same mold type. */
|
||||
function patternsMirrorEqual(p1, p2) {
|
||||
for (let i = 0; i < p1.length; i++) {
|
||||
if (p1[i] !== p2[i].split('').reverse().join('')) return false;
|
||||
};
|
||||
return true;
|
||||
};
|
||||
// Error logging for duplicate patterns.
|
||||
let patternsChecked = [];
|
||||
for (let i = 0; i < moldPatterns.length; i++) {
|
||||
for (let j = i + 1; j < moldPatterns.length; j++) {
|
||||
|
||||
let a = moldPatterns[i];
|
||||
let b = moldPatterns[j];
|
||||
let shareCast = a.genCast && b.genCast;
|
||||
let shareExtrude = a.genExtrude && b.genExtrude;
|
||||
|
||||
if (shareCast || shareExtrude) {
|
||||
if (patternsEqual(a.pattern, b.pattern) || patternsMirrorEqual(a.pattern, b.pattern)) {
|
||||
patternsChecked.push({a: a.name, b: b.name});
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
if (patternsChecked.length !== 0) {
|
||||
throw new Error(
|
||||
`Duplicate artisan table mold patterns detected between: ${patternsChecked.map(pair => `\n${pair.a} and ${pair.b}`).join(', ')}`
|
||||
);
|
||||
};
|
||||
|
||||
// Create Artisan Table recipes for molds.
|
||||
moldPatterns.forEach((mold) => {
|
||||
if (mold.genCast){
|
||||
event.custom({
|
||||
"result": {"item": `${mold.name}_casting_mold`},
|
||||
"pattern": mold.pattern,
|
||||
"artisanType": "tfg:casting_mold",
|
||||
"type": "tfg:artisan"
|
||||
}).id(`tfg:artisan_table/${linuxUnfucker(mold.name)}_casting_mold`);
|
||||
};
|
||||
if (mold.genExtrude){
|
||||
event.custom({
|
||||
"result": {"item": `${mold.name}_extruder_mold`},
|
||||
"pattern": mold.pattern,
|
||||
"artisanType": "tfg:extruder_mold",
|
||||
"type": "tfg:artisan"
|
||||
}).id(`tfg:artisan_table/${linuxUnfucker(mold.name)}_extruder_mold`);
|
||||
};
|
||||
});
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Circuits
|
||||
|
||||
event.custom({
|
||||
"result": {"item": "gtceu:resin_printed_circuit_board"},
|
||||
"pattern": [
|
||||
"X XXXX",
|
||||
" XX X",
|
||||
"X X X",
|
||||
"X XX X",
|
||||
" XXX X",
|
||||
"XXX X"
|
||||
],
|
||||
"artisanType": "tfg:resin_board",
|
||||
"type": "tfg:artisan"
|
||||
}).id(`tfg:artisan_table/resin_printed_circuit_board`);
|
||||
|
||||
event.custom({
|
||||
"result": {"item": "gtceu:resin_printed_circuit_board", "count": 4},
|
||||
"pattern": [
|
||||
"X XXXX",
|
||||
" XX X",
|
||||
"X X X",
|
||||
"X XX X",
|
||||
" XXX X",
|
||||
"XXX X"
|
||||
],
|
||||
"artisanType": "tfg:resin_board_4x",
|
||||
"type": "tfg:artisan"
|
||||
}).id(`tfg:artisan_table/resin_printed_circuit_board_4x`);
|
||||
|
||||
event.custom({
|
||||
"result": {"item": "gtceu:phenolic_printed_circuit_board"},
|
||||
"pattern": [
|
||||
"X XX ",
|
||||
" XXXX ",
|
||||
"XX X ",
|
||||
"XX XXX",
|
||||
"XX XX ",
|
||||
" XX "
|
||||
],
|
||||
"artisanType": "tfg:phenolic_board",
|
||||
"type": "tfg:artisan"
|
||||
}).id(`tfg:artisan_table/phenolic_printed_circuit_board`);
|
||||
|
||||
event.custom({
|
||||
"result": {"item": "gtceu:phenolic_printed_circuit_board", "count": 4},
|
||||
"pattern": [
|
||||
"X XX ",
|
||||
" XXXX ",
|
||||
"XX X ",
|
||||
"XX XXX",
|
||||
"XX XX ",
|
||||
" XX "
|
||||
],
|
||||
"artisanType": "tfg:phenolic_board_4x",
|
||||
"type": "tfg:artisan"
|
||||
}).id(`tfg:artisan_table/phenolic_printed_circuit_board_4x`);
|
||||
//#endregion
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -72,6 +72,20 @@ function registerTFGPrimitiveItemTags(event) {
|
|||
event.add('forge:string', 'tfg:phantom_thread')
|
||||
event.add('forge:string', 'tfg:polycaprolactam_string')
|
||||
event.add('forge:string', 'firmalife:pineapple_yarn')
|
||||
|
||||
// Artisan Table
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:empty_mold')
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:resin_circuit_board')
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:copper_single_wire')
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:copper_quadruple_wire')
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:phenolic_circuit_board')
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:silver_single_wire')
|
||||
event.add('tfg:artisan_table_inputs', 'gtceu:silver_quadruple_wire')
|
||||
event.add('tfg:artisan_table_tools', '#forge:tools/hammers')
|
||||
event.add('tfg:artisan_table_tools', '#forge:tools/mallets')
|
||||
event.add('tfg:artisan_table_tools', '#forge:tools/files')
|
||||
event.add('tfg:artisan_table_tools', '#forge:tools/wire_cutters')
|
||||
event.add('tfg:artisan_table_tools', '#forge:tools/screwdrivers')
|
||||
}
|
||||
|
||||
function registerTFGPrimitiveBlockTags(event) {
|
||||
|
|
@ -90,8 +104,7 @@ function registerTFGPrimitiveBlockTags(event) {
|
|||
function registerTFGPrimitiveFluidTags(event) {
|
||||
forEachMaterial(material => {
|
||||
let tfcProperty = material.getProperty(TFGPropertyKey.TFC_PROPERTY)
|
||||
if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED))
|
||||
return;
|
||||
if (tfcProperty === null || !material.hasFlag(TFGMaterialFlags.CAN_BE_UNMOLDED)) return;
|
||||
|
||||
if (!ChemicalHelper.get(TagPrefix.gearSmall, material, 1).isEmpty()) {
|
||||
event.add('tfg:usable_in_small_gear_mold', material.getFluid().getFluidType().toString())
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ const registerTFGRecipes = (event) => {
|
|||
registerTFGClayRecipes(event)
|
||||
registerTFGEquipmentRecipes(event)
|
||||
registerTFGDyeRecipes(event)
|
||||
registerTFGArtisanTableRecipes(event)
|
||||
|
||||
registerTFGCasingRecipes(event)
|
||||
registerTFGEnderPearlRecipes(event)
|
||||
|
|
|
|||
|
|
@ -177,4 +177,5 @@ function registerTFGMiscellaneousRecipes(event) {
|
|||
.duration(5*20)
|
||||
.EUt(GTValues.VA[GTValues.LV])
|
||||
.addMaterialInfo(true);
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ const registerTFGItemTags = (event) => {
|
|||
event.add('tfg:empty_dna_syringes', 'tfg:clean_dna_syringe')
|
||||
|
||||
event.add('tfc:sewing_needles', 'tfg:stainless_steel_needle')
|
||||
|
||||
//#endregion
|
||||
|
||||
// Airplane Upgrades
|
||||
|
|
|
|||