Skip to content

Commit 807f9ee

Browse files
authored
add Immersive Technology compat (#199)
1 parent b7d0966 commit 807f9ee

File tree

18 files changed

+1933
-3
lines changed

18 files changed

+1933
-3
lines changed

dependencies.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,9 @@ final def mod_dependencies = [
6767
'extrabotany-299086:3112313' : [project.debug_extra_botany],
6868
'extra-utilities-2-225561:2678374' : [project.debug_extra_utilities_2],
6969
'forestry-59751:2918418' : [project.debug_forestry],
70-
'immersive_engineering-231951:2974106' : [project.debug_immersive_engineering, project.debug_immersive_petroleum],
70+
'immersive_engineering-231951:2974106' : [project.debug_immersive_engineering, project.debug_immersive_petroleum, project.debug_immersive_technology],
7171
'immersive-petroleum-268250:3382321' : [project.debug_immersive_petroleum],
72+
'mct-immersive-technology-359407:5108047' : [project.debug_immersive_technology],
7273
// WARNING: experimental must be placed before classic, otherwise you will crash when debugging either. Check FluidGenerator compat to confirm
7374
'industrialcraft_experimental-242638:3838713' : [project.debug_industrial_craft_2_experimental],
7475
'industrialcraft_classic-242942:3093607' : [project.debug_industrial_craft_2_classic],
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
2+
// Auto generated groovyscript example file
3+
// MODS_LOADED: immersivetech
4+
5+
println 'mod \'immersivetech\' detected, running script'
6+
7+
// Boiler:
8+
// Converts an input fluidstack into an output fluidstack after a given amount of time in a multiblock structure when the
9+
// multiblock has had its heat value increased enough by fuel.
10+
11+
mods.immersivetech.boiler.removeByInput(fluid('water'))
12+
mods.immersivetech.boiler.removeByOutput(fluid('steam'))
13+
// mods.immersivetech.boiler.removeAll()
14+
15+
mods.immersivetech.boiler.recipeBuilder()
16+
.fluidInput(fluid('lava') * 100)
17+
.fluidOutput(fluid('hot_spring_water') * 500)
18+
.time(100)
19+
.register()
20+
21+
mods.immersivetech.boiler.recipeBuilder()
22+
.fluidInput(fluid('water') * 50)
23+
.fluidOutput(fluid('lava') * 50)
24+
.time(50)
25+
.register()
26+
27+
28+
// Boiler Fuel:
29+
// Converts an input fluidstack into heat for the Boiler multiblock structure over a given amount of time.
30+
31+
mods.immersivetech.boiler_fuel.removeByInput(fluid('biodiesel'))
32+
// mods.immersivetech.boiler_fuel.removeAll()
33+
34+
mods.immersivetech.boiler_fuel.recipeBuilder()
35+
.fluidInput(fluid('lava') * 100)
36+
.time(100)
37+
.heat(10)
38+
.register()
39+
40+
mods.immersivetech.boiler_fuel.recipeBuilder()
41+
.fluidInput(fluid('water') * 50)
42+
.time(50)
43+
.heat(0.05)
44+
.register()
45+
46+
47+
// Cooling Tower:
48+
// Converts up to two input fluidstacks into up to three output fluidstacks after a given amount of time in a multiblock
49+
// structure.
50+
51+
mods.immersivetech.cooling_tower.removeByInput(fluid('hot_spring_water'))
52+
// mods.immersivetech.cooling_tower.removeByOutput(fluid('water'))
53+
// mods.immersivetech.cooling_tower.removeAll()
54+
55+
mods.immersivetech.cooling_tower.recipeBuilder()
56+
.fluidInput(fluid('lava') * 100)
57+
.fluidOutput(fluid('hot_spring_water') * 500)
58+
.time(100)
59+
.register()
60+
61+
mods.immersivetech.cooling_tower.recipeBuilder()
62+
.fluidInput(fluid('water') * 50, fluid('hot_spring_water') * 50)
63+
.fluidOutput(fluid('lava') * 50, fluid('water') * 50, fluid('lava') * 50)
64+
.time(50)
65+
.register()
66+
67+
68+
// Distiller:
69+
// Converts an input fluidstack into an output fluidstack and has a chance to output an itemstack after a given amount of
70+
// time in a multiblock structure.
71+
72+
// mods.immersivetech.distiller.removeByInput(fluid('water'))
73+
mods.immersivetech.distiller.removeByOutput(fluid('distwater'))
74+
// mods.immersivetech.distiller.removeByOutput(item('immersivetech:material'))
75+
// mods.immersivetech.distiller.removeAll()
76+
77+
mods.immersivetech.distiller.recipeBuilder()
78+
.fluidInput(fluid('lava') * 100)
79+
.fluidOutput(fluid('hot_spring_water') * 500)
80+
.time(100)
81+
.register()
82+
83+
mods.immersivetech.distiller.recipeBuilder()
84+
.fluidInput(fluid('water') * 50)
85+
.fluidOutput(fluid('lava') * 50)
86+
.output(item('minecraft:diamond'))
87+
.chance(0.5f)
88+
.time(50)
89+
.energy(5000)
90+
.register()
91+
92+
93+
// Electrolytic Crucible Battery:
94+
// Converts an input fluidstack into up to three output fluidstacks after a given amount of time and energy in a multiblock
95+
// structure.
96+
97+
mods.immersivetech.electrolytic_crucible_battery.removeByInput(fluid('moltensalt'))
98+
// mods.immersivetech.electrolytic_crucible_battery.removeByOutput(fluid('chlorine'))
99+
// mods.immersivetech.electrolytic_crucible_battery.removeAll()
100+
101+
mods.immersivetech.electrolytic_crucible_battery.recipeBuilder()
102+
.fluidInput(fluid('lava') * 100)
103+
.fluidOutput(fluid('hot_spring_water') * 500)
104+
.output(item('minecraft:clay'))
105+
.time(100)
106+
.register()
107+
108+
mods.immersivetech.electrolytic_crucible_battery.recipeBuilder()
109+
.fluidInput(fluid('water') * 500)
110+
.fluidOutput(fluid('lava') * 50, fluid('hot_spring_water') * 50, fluid('water') * 400)
111+
.output(item('minecraft:diamond'))
112+
.time(50)
113+
.energy(5000)
114+
.register()
115+
116+
117+
// Gas Turbine:
118+
// Converts an input fluidstack into an output fluidstack after a given amount of time in a multiblock structure, producing
119+
// power for an adjacent Alternator multiblock.
120+
121+
mods.immersivetech.gas_turbine.removeByInput(fluid('biodiesel'))
122+
// mods.immersivetech.gas_turbine.removeByOutput(fluid('fluegas'))
123+
// mods.immersivetech.gas_turbine.removeAll()
124+
125+
mods.immersivetech.gas_turbine.recipeBuilder()
126+
.fluidInput(fluid('lava') * 100)
127+
.fluidOutput(fluid('hot_spring_water') * 500)
128+
.time(100)
129+
.register()
130+
131+
mods.immersivetech.gas_turbine.recipeBuilder()
132+
.fluidInput(fluid('water') * 50)
133+
.fluidOutput(fluid('lava') * 50)
134+
.time(50)
135+
.register()
136+
137+
138+
// Heat Exchanger:
139+
// Converts up to two input fluidstacks into up to two output fluidstacks after a given amount of time in a multiblock
140+
// structure.
141+
142+
mods.immersivetech.heat_exchanger.removeByInput(fluid('fluegas'))
143+
mods.immersivetech.heat_exchanger.removeByOutput(fluid('hot_spring_water'))
144+
// mods.immersivetech.heat_exchanger.removeAll()
145+
146+
mods.immersivetech.heat_exchanger.recipeBuilder()
147+
.fluidInput(fluid('lava') * 100, fluid('lava') * 50)
148+
.fluidOutput(fluid('hot_spring_water') * 500)
149+
.time(100)
150+
.register()
151+
152+
mods.immersivetech.heat_exchanger.recipeBuilder()
153+
.fluidInput(fluid('water') * 50, fluid('hot_spring_water') * 50)
154+
.fluidOutput(fluid('lava') * 50, fluid('water') * 10)
155+
.time(50)
156+
.energy(5000)
157+
.register()
158+
159+
160+
// High-Pressure Steam Turbine:
161+
// Converts an input fluidstack into an output fluidstack after a given amount of time in a multiblock structure, producing
162+
// power for an adjacent Alternator multiblock.
163+
164+
mods.immersivetech.high_pressure_steam_turbine.removeByInput(fluid('highpressuresteam'))
165+
// mods.immersivetech.high_pressure_steam_turbine.removeByOutput(fluid('steam'))
166+
// mods.immersivetech.high_pressure_steam_turbine.removeAll()
167+
168+
mods.immersivetech.high_pressure_steam_turbine.recipeBuilder()
169+
.fluidInput(fluid('lava') * 100)
170+
.fluidOutput(fluid('hot_spring_water') * 500)
171+
.time(100)
172+
.register()
173+
174+
mods.immersivetech.high_pressure_steam_turbine.recipeBuilder()
175+
.fluidInput(fluid('water') * 50)
176+
.fluidOutput(fluid('lava') * 50)
177+
.time(50)
178+
.register()
179+
180+
181+
// Melting Crucible:
182+
// Converts an input itemstack into an output fluidstack after a given amount of time and energy in a multiblock structure.
183+
184+
mods.immersivetech.melting_crucible.removeByInput(item('minecraft:cobblestone'))
185+
mods.immersivetech.melting_crucible.removeByOutput(fluid('moltensalt'))
186+
// mods.immersivetech.melting_crucible.removeAll()
187+
188+
mods.immersivetech.melting_crucible.recipeBuilder()
189+
.input(item('minecraft:diamond'))
190+
.fluidOutput(fluid('hot_spring_water'))
191+
.time(100)
192+
.register()
193+
194+
mods.immersivetech.melting_crucible.recipeBuilder()
195+
.input(item('minecraft:clay') * 8)
196+
.fluidOutput(fluid('lava') * 50)
197+
.time(50)
198+
.energy(5000)
199+
.register()
200+
201+
202+
// Radiator:
203+
// Converts an input fluidstack into an output fluidstack after a given amount of time in a multiblock structure.
204+
205+
mods.immersivetech.radiator.removeByInput(fluid('exhauststeam'))
206+
// mods.immersivetech.radiator.removeByOutput(fluid('distwater'))
207+
// mods.immersivetech.radiator.removeAll()
208+
209+
mods.immersivetech.radiator.recipeBuilder()
210+
.fluidInput(fluid('lava') * 100)
211+
.fluidOutput(fluid('hot_spring_water') * 500)
212+
.time(100)
213+
.register()
214+
215+
mods.immersivetech.radiator.recipeBuilder()
216+
.fluidInput(fluid('water') * 50)
217+
.fluidOutput(fluid('lava') * 50)
218+
.time(50)
219+
.register()
220+
221+
222+
// Solar Tower:
223+
// Converts an input fluidstack into an output fluidstack after a given amount of time in a multiblock structure, with the
224+
// time being able to be sped up via Solar Reflector multiblocks.
225+
226+
mods.immersivetech.solar_tower.removeByInput(fluid('water'))
227+
mods.immersivetech.solar_tower.removeByOutput(fluid('superheatedmoltensodium'))
228+
// mods.immersivetech.solar_tower.removeAll()
229+
230+
mods.immersivetech.solar_tower.recipeBuilder()
231+
.fluidInput(fluid('lava') * 100)
232+
.fluidOutput(fluid('hot_spring_water') * 500)
233+
.time(100)
234+
.register()
235+
236+
mods.immersivetech.solar_tower.recipeBuilder()
237+
.fluidInput(fluid('water') * 50)
238+
.fluidOutput(fluid('lava') * 50)
239+
.time(50)
240+
.register()
241+
242+
243+
// Steam Turbine:
244+
// Converts an input fluidstack into an output fluidstack after a given amount of time in a multiblock structure, producing
245+
// power for an adjacent Alternator multiblock.
246+
247+
mods.immersivetech.steam_turbine.removeByInput(fluid('steam'))
248+
// mods.immersivetech.steam_turbine.removeByOutput(fluid('exhauststeam'))
249+
// mods.immersivetech.steam_turbine.removeAll()
250+
251+
mods.immersivetech.steam_turbine.recipeBuilder()
252+
.fluidInput(fluid('lava') * 100)
253+
.fluidOutput(fluid('hot_spring_water') * 500)
254+
.time(100)
255+
.register()
256+
257+
mods.immersivetech.steam_turbine.recipeBuilder()
258+
.fluidInput(fluid('water') * 50)
259+
.fluidOutput(fluid('lava') * 50)
260+
.time(50)
261+
.register()
262+
263+

gradle.properties

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@
44
debug_run_ls = false
55
debug_use_examples_folder = true
66
debug_log_missing_lang_keys = true
7-
debug_generate_examples = false
8-
debug_generate_wiki = false
7+
debug_generate_examples = true
8+
debug_generate_wiki = true
99
debug_generate_and_crash = false
1010

1111
# END SECTION: development environment settings
@@ -40,6 +40,7 @@ debug_extra_utilities_2 = false
4040
debug_forestry = false
4141
debug_immersive_engineering = false
4242
debug_immersive_petroleum = false
43+
debug_immersive_technology = true
4344
debug_industrial_craft_2_classic = false
4445
debug_industrial_craft_2_experimental = false
4546
debug_industrial_foregoing = false

src/main/java/com/cleanroommc/groovyscript/compat/mods/ModSupport.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.cleanroommc.groovyscript.compat.mods.ic2.IC2;
3333
import com.cleanroommc.groovyscript.compat.mods.immersiveengineering.ImmersiveEngineering;
3434
import com.cleanroommc.groovyscript.compat.mods.immersivepetroleum.ImmersivePetroleum;
35+
import com.cleanroommc.groovyscript.compat.mods.immersivetechnology.ImmersiveTechnology;
3536
import com.cleanroommc.groovyscript.compat.mods.industrialforegoing.IndustrialForegoing;
3637
import com.cleanroommc.groovyscript.compat.mods.inspirations.Inspirations;
3738
import com.cleanroommc.groovyscript.compat.mods.integrateddynamics.IntegratedDynamics;
@@ -101,6 +102,7 @@ public class ModSupport {
101102
public static final GroovyContainer<Forestry> FORESTRY = new InternalModContainer<>("forestry", "Forestry", Forestry::new);
102103
public static final GroovyContainer<ImmersiveEngineering> IMMERSIVE_ENGINEERING = new InternalModContainer<>("immersiveengineering", "Immersive Engineering", ImmersiveEngineering::new, "ie");
103104
public static final GroovyContainer<ImmersivePetroleum> IMMERSIVE_PETROLEUM = new InternalModContainer<>("immersivepetroleum", "Immersive Petroleum", ImmersivePetroleum::new);
105+
public static final GroovyContainer<ImmersiveTechnology> IMMERSIVE_TECHNOLOGY = new InternalModContainer<>("immersivetech", "Immersive Technology", ImmersiveTechnology::new);
104106
public static final GroovyContainer<IC2> INDUSTRIALCRAFT = new InternalModContainer<>("ic2", "Industrial Craft 2", IC2::new, "industrialcraft");
105107
public static final GroovyContainer<IndustrialForegoing> INDUSTRIAL_FOREGOING = new InternalModContainer<>("industrialforegoing", "Industrial Foregoing", IndustrialForegoing::new);
106108
public static final GroovyContainer<Inspirations> INSPIRATIONS = new InternalModContainer<>("inspirations", "Inspirations", Inspirations::new);

0 commit comments

Comments
 (0)