Skip to content

Commit 1247c63

Browse files
authored
add Factory Tech compat (#272)
* add Factory Tech compat * apply getMaxItemInput to relevant RecipeBuilders
1 parent 66ec7ac commit 1247c63

25 files changed

+2122
-0
lines changed

dependencies.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ final def mod_dependencies = [
7474
'extended-crafting-nomifactory-edition-398267:3613140': [project.debug_extended_crafting],
7575
'extrabotany-299086:3112313' : [project.debug_extra_botany],
7676
'extra-utilities-2-225561:2678374' : [project.debug_extra_utilities_2],
77+
'factory-tech-278822:3845293' : [project.debug_factory_tech],
7778
'forestry-59751:2918418' : [project.debug_forestry],
7879
'future-mc-310059:5626387' : [project.debug_future_mc],
7980
'horse-power-270466:2705433' : [project.debug_horse_power],

examples/postInit/factorytech.groovy

Lines changed: 388 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,388 @@
1+
2+
// Auto generated groovyscript example file
3+
// MODS_LOADED: factorytech
4+
5+
log.info 'mod \'factorytech\' detected, running script'
6+
7+
// Fluid Agitator:
8+
// Converts either one or two input fluidstacks and up to one input itemstack into an output itemstack, output fluidstack,
9+
// or both.
10+
11+
mods.factorytech.agitator.removeByInput(fluid('lava'))
12+
mods.factorytech.agitator.removeByInput(fluid('ftglowstone'))
13+
mods.factorytech.agitator.removeByInput(item('minecraft:sand'))
14+
mods.factorytech.agitator.removeByOutput(fluid('h2so4'))
15+
mods.factorytech.agitator.removeByOutput(item('minecraft:stone'))
16+
// mods.factorytech.agitator.removeAll()
17+
18+
mods.factorytech.agitator.recipeBuilder()
19+
.input(item('minecraft:clay'))
20+
.fluidInput(fluid('water') * 100)
21+
.output(item('minecraft:diamond'))
22+
.register()
23+
24+
mods.factorytech.agitator.recipeBuilder()
25+
.fluidInput(fluid('ftglowstone') * 100)
26+
.output(item('minecraft:clay'))
27+
.register()
28+
29+
mods.factorytech.agitator.recipeBuilder()
30+
.fluidInput(fluid('lava') * 100, fluid('water') * 100)
31+
.output(item('minecraft:clay'))
32+
.register()
33+
34+
mods.factorytech.agitator.recipeBuilder()
35+
.fluidInput(fluid('lava') * 100, fluid('ftglowstone') * 100)
36+
.fluidOutput(fluid('ftglowstone') * 100)
37+
.register()
38+
39+
mods.factorytech.agitator.recipeBuilder()
40+
.input(item('minecraft:gold_ingot'))
41+
.fluidInput(fluid('water') * 100)
42+
.output(item('minecraft:diamond') * 5)
43+
.register()
44+
45+
46+
// Centrifuge:
47+
// Converts an input itemstack into up to 3 output itemstacks, with the ability to control if stone parts are allowed.
48+
49+
mods.factorytech.centrifuge.removeByInput(item('minecraft:gravel'))
50+
mods.factorytech.centrifuge.removeByOutput(item('minecraft:iron_nugget'))
51+
// mods.factorytech.centrifuge.removeAll()
52+
53+
mods.factorytech.centrifuge.recipeBuilder()
54+
.input(item('minecraft:clay'))
55+
.output(item('minecraft:obsidian'), item('minecraft:gold_ingot') * 2, item('minecraft:diamond'))
56+
.register()
57+
58+
mods.factorytech.centrifuge.recipeBuilder()
59+
.input(item('minecraft:gold_ingot'))
60+
.output(item('minecraft:clay'))
61+
.register()
62+
63+
64+
// Circuit Scribe:
65+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
66+
67+
mods.factorytech.circuit_scribe.removeByInput(item('factorytech:circuit_intermediate:8'))
68+
// mods.factorytech.circuit_scribe.removeByOutput(item('factorytech:circuit_intermediate:8'))
69+
// mods.factorytech.circuit_scribe.removeAll()
70+
71+
mods.factorytech.circuit_scribe.recipeBuilder()
72+
.input(item('minecraft:clay'))
73+
.output(item('minecraft:diamond'))
74+
.register()
75+
76+
mods.factorytech.circuit_scribe.recipeBuilder()
77+
.input(item('minecraft:gold_ingot'))
78+
.output(item('minecraft:clay'))
79+
.allowStoneParts()
80+
.register()
81+
82+
83+
// Compression Chamber:
84+
// Converts an input itemstack and input fluidstack into an output itemstack.
85+
86+
mods.factorytech.compressor.removeByInput(fluid('water'))
87+
mods.factorytech.compressor.removeByInput(item('factorytech:machinepart:60'))
88+
mods.factorytech.compressor.removeByOutput(item('factorytech:machinepart:141'))
89+
// mods.factorytech.compressor.removeAll()
90+
91+
mods.factorytech.compressor.recipeBuilder()
92+
.input(item('minecraft:clay'))
93+
.output(item('minecraft:diamond'))
94+
.register()
95+
96+
mods.factorytech.compressor.recipeBuilder()
97+
.input(item('minecraft:diamond'))
98+
.fluidInput(fluid('lava') * 100)
99+
.output(item('minecraft:clay'))
100+
.register()
101+
102+
mods.factorytech.compressor.recipeBuilder()
103+
.input(item('minecraft:gold_ingot'))
104+
.fluidInput(fluid('water') * 100)
105+
.output(item('minecraft:diamond') * 5)
106+
.register()
107+
108+
109+
// Crucible:
110+
// Converts an input itemstack into an output fluidstack.
111+
112+
mods.factorytech.crucible.removeByInput(item('minecraft:ice'))
113+
mods.factorytech.crucible.removeByOutput(fluid('lava'))
114+
// mods.factorytech.crucible.removeAll()
115+
116+
mods.factorytech.crucible.recipeBuilder()
117+
.input(item('minecraft:clay'))
118+
.fluidOutput(fluid('water'))
119+
.register()
120+
121+
mods.factorytech.crucible.recipeBuilder()
122+
.input(item('minecraft:gold_ingot'))
123+
.fluidOutput(fluid('lava') * 30)
124+
.register()
125+
126+
127+
// Terraneous Extractor:
128+
// Passively generates resources when placed at or below y 8 and.
129+
130+
mods.factorytech.deep_drill.removeByInput(item('minecraft:gold_ore'))
131+
// mods.factorytech.deep_drill.removeAll()
132+
133+
mods.factorytech.deep_drill.recipeBuilder()
134+
.output(item('minecraft:diamond'))
135+
.weight(10)
136+
.register()
137+
138+
mods.factorytech.deep_drill.recipeBuilder()
139+
.output(item('minecraft:clay'))
140+
.weight(30)
141+
.register()
142+
143+
144+
// Mob Disassembler:
145+
// Kills an entity in-world, dropping the mob's normal loot in addition to custom loot.
146+
147+
mods.factorytech.disassembler.removeByEntity(entity('minecraft:creeper'))
148+
mods.factorytech.disassembler.removeByOutput(item('minecraft:rotten_flesh'))
149+
// mods.factorytech.disassembler.removeAll()
150+
151+
mods.factorytech.disassembler.recipeBuilder()
152+
.entity(entity('minecraft:chicken'))
153+
.output(item('minecraft:obsidian'), item('minecraft:gold_ingot') * 2, item('minecraft:clay'), item('minecraft:diamond'))
154+
.register()
155+
156+
mods.factorytech.disassembler.recipeBuilder()
157+
.entity(entity('minecraft:rabbit'))
158+
.output(item('minecraft:clay'), item('minecraft:diamond') * 2)
159+
.register()
160+
161+
162+
// Electroplater:
163+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
164+
165+
mods.factorytech.electroplater.removeByInput(item('minecraft:sand'))
166+
mods.factorytech.electroplater.removeByOutput(item('minecraft:gold_ingot'))
167+
// mods.factorytech.electroplater.removeAll()
168+
169+
mods.factorytech.electroplater.recipeBuilder()
170+
.input(item('minecraft:clay'))
171+
.output(item('minecraft:diamond'))
172+
.register()
173+
174+
mods.factorytech.electroplater.recipeBuilder()
175+
.input(item('minecraft:gold_ingot'))
176+
.output(item('minecraft:clay'))
177+
.allowStoneParts()
178+
.register()
179+
180+
181+
// Grindstone:
182+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
183+
184+
mods.factorytech.grindstone.removeByInput(item('minecraft:stone'))
185+
mods.factorytech.grindstone.removeByOutput(item('factorytech:machinepart:1'))
186+
// mods.factorytech.grindstone.removeAll()
187+
188+
mods.factorytech.grindstone.recipeBuilder()
189+
.input(item('minecraft:clay'))
190+
.output(item('minecraft:diamond'))
191+
.register()
192+
193+
mods.factorytech.grindstone.recipeBuilder()
194+
.input(item('minecraft:gold_ingot'))
195+
.output(item('minecraft:clay'))
196+
.allowStoneParts()
197+
.register()
198+
199+
200+
// Electric Furnace:
201+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
202+
203+
mods.factorytech.high_tech_furnace.removeByInput(item('minecraft:cactus'))
204+
mods.factorytech.high_tech_furnace.removeByOutput(item('minecraft:iron_ingot'))
205+
// mods.factorytech.high_tech_furnace.removeAll()
206+
207+
mods.factorytech.high_tech_furnace.recipeBuilder()
208+
.input(item('minecraft:clay'))
209+
.output(item('minecraft:diamond'))
210+
.register()
211+
212+
mods.factorytech.high_tech_furnace.recipeBuilder()
213+
.input(item('minecraft:gold_ingot'))
214+
.output(item('minecraft:clay'))
215+
.allowStoneParts()
216+
.register()
217+
218+
219+
// Magnet Centrifuge:
220+
// Converts an input itemstack into up to 3 output itemstacks, with the ability to control if stone parts are allowed.
221+
222+
mods.factorytech.magnet_centrifuge.removeByInput(item('minecraft:gravel'))
223+
mods.factorytech.magnet_centrifuge.removeByOutput(item('minecraft:redstone'))
224+
// mods.factorytech.magnet_centrifuge.removeAll()
225+
226+
mods.factorytech.magnet_centrifuge.recipeBuilder()
227+
.input(item('minecraft:clay'))
228+
.output(item('minecraft:obsidian'), item('minecraft:gold_ingot') * 2, item('minecraft:diamond'))
229+
.register()
230+
231+
mods.factorytech.magnet_centrifuge.recipeBuilder()
232+
.input(item('minecraft:gold_ingot'))
233+
.output(item('minecraft:clay'))
234+
.allowStoneParts()
235+
.register()
236+
237+
238+
// Magnetizer:
239+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
240+
241+
mods.factorytech.magnetizer.removeByInput(item('minecraft:iron_ingot'))
242+
// mods.factorytech.magnetizer.removeByOutput(item('factorytech:machinepart:130'))
243+
// mods.factorytech.magnetizer.removeAll()
244+
245+
mods.factorytech.magnetizer.recipeBuilder()
246+
.input(item('minecraft:clay'))
247+
.output(item('minecraft:diamond'))
248+
.register()
249+
250+
mods.factorytech.magnetizer.recipeBuilder()
251+
.input(item('minecraft:gold_ingot'))
252+
.output(item('minecraft:clay'))
253+
.allowStoneParts()
254+
.register()
255+
256+
257+
// Metal Cutter:
258+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
259+
260+
mods.factorytech.metal_cutter.removeByInput(item('minecraft:gold_ingot'))
261+
mods.factorytech.metal_cutter.removeByOutput(item('factorytech:machinepart:20'))
262+
// mods.factorytech.metal_cutter.removeAll()
263+
264+
mods.factorytech.metal_cutter.recipeBuilder()
265+
.input(item('minecraft:clay'))
266+
.output(item('minecraft:diamond'))
267+
.register()
268+
269+
mods.factorytech.metal_cutter.recipeBuilder()
270+
.input(item('minecraft:gold_ingot'))
271+
.output(item('minecraft:clay'))
272+
.allowStoneParts()
273+
.register()
274+
275+
276+
// Drill Grinder:
277+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
278+
279+
mods.factorytech.ore_drill.removeByInput(item('minecraft:gold_ore'))
280+
mods.factorytech.ore_drill.removeByOutput(item('minecraft:sand'))
281+
// mods.factorytech.ore_drill.removeAll()
282+
283+
mods.factorytech.ore_drill.recipeBuilder()
284+
.input(item('minecraft:clay'))
285+
.output(item('minecraft:diamond'))
286+
.register()
287+
288+
mods.factorytech.ore_drill.recipeBuilder()
289+
.input(item('minecraft:gold_ingot'))
290+
.output(item('minecraft:clay'))
291+
.allowStoneParts()
292+
.register()
293+
294+
295+
// Scrap Furnace:
296+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
297+
298+
mods.factorytech.reclaimer.removeByInput(item('factorytech:salvagepart:22'))
299+
mods.factorytech.reclaimer.removeByOutput(item('minecraft:iron_nugget'))
300+
// mods.factorytech.reclaimer.removeAll()
301+
302+
mods.factorytech.reclaimer.recipeBuilder()
303+
.input(item('minecraft:clay'))
304+
.output(item('minecraft:diamond'))
305+
.register()
306+
307+
mods.factorytech.reclaimer.recipeBuilder()
308+
.input(item('minecraft:gold_ingot'))
309+
.output(item('minecraft:clay'))
310+
.allowStoneParts()
311+
.register()
312+
313+
314+
// Refrigerator:
315+
// Converts an input fluidstack into an output itemstack.
316+
317+
mods.factorytech.refrigerator.removeByInput(fluid('water'))
318+
mods.factorytech.refrigerator.removeByOutput(item('minecraft:obsidian'))
319+
// mods.factorytech.refrigerator.removeAll()
320+
321+
mods.factorytech.refrigerator.recipeBuilder()
322+
.fluidInput(fluid('water') * 100)
323+
.output(item('minecraft:diamond'))
324+
.register()
325+
326+
mods.factorytech.refrigerator.recipeBuilder()
327+
.fluidInput(fluid('lava') * 30)
328+
.output(item('minecraft:clay'))
329+
.register()
330+
331+
332+
// River Grate:
333+
// Slowly produces the output entries while in a river biome surrounded by water, and between y 60 and 70.
334+
335+
mods.factorytech.river_grate.removeByOutput(item('minecraft:fish'))
336+
// mods.factorytech.river_grate.removeAll()
337+
338+
mods.factorytech.river_grate.recipeBuilder()
339+
.output(item('minecraft:diamond'))
340+
.weight(10)
341+
.register()
342+
343+
mods.factorytech.river_grate.recipeBuilder()
344+
.output(item('minecraft:clay'))
345+
.allowStoneParts()
346+
.weight(30)
347+
.register()
348+
349+
350+
// Chop Saw:
351+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed.
352+
353+
mods.factorytech.saw.removeByInput(item('minecraft:log'))
354+
mods.factorytech.saw.removeByOutput(item('minecraft:stick'))
355+
// mods.factorytech.saw.removeAll()
356+
357+
mods.factorytech.saw.recipeBuilder()
358+
.input(item('minecraft:clay'))
359+
.output(item('minecraft:diamond'))
360+
.register()
361+
362+
mods.factorytech.saw.recipeBuilder()
363+
.input(item('minecraft:gold_ingot'))
364+
.output(item('minecraft:clay'))
365+
.allowStoneParts()
366+
.register()
367+
368+
369+
// Tempering Oven:
370+
// Converts an input itemstack into an output itemstack, with the ability to control if stone parts are allowed and how
371+
// long the recipe takes.
372+
373+
mods.factorytech.temperer.removeByInput(item('minecraft:iron_ingot'))
374+
mods.factorytech.temperer.removeByOutput(item('factorytech:machinepart:4'))
375+
// mods.factorytech.temperer.removeAll()
376+
377+
mods.factorytech.temperer.recipeBuilder()
378+
.input(item('minecraft:clay'))
379+
.output(item('minecraft:diamond'))
380+
.register()
381+
382+
mods.factorytech.temperer.recipeBuilder()
383+
.input(item('minecraft:gold_ingot'))
384+
.output(item('minecraft:clay'))
385+
.time(30)
386+
.register()
387+
388+

0 commit comments

Comments
 (0)