Skip to content

Commit cdd9e0e

Browse files
authored
Clean up code for the brewery gui (#231)
1 parent 0aafe17 commit cdd9e0e

File tree

5 files changed

+86
-171
lines changed

5 files changed

+86
-171
lines changed

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,8 @@ grandpower_version=3.0.0
4444
cloth_config_version=15.0.127
4545
emi_version=1.1.10+1.21
4646
emi_version_range=[1.1.10, 1.2-)
47-
tesseract_version=1.8.23-1.21.1
48-
tesseract_version_range=[1.8.23-, 1.9-)
47+
tesseract_version=1.8.24-1.21.1
48+
tesseract_version_range=[1.8.24-, 1.9-)
4949
mi_tweaks_version=1.8.2-1.21.1
5050
mixinextras_version=0.3.5
5151
accessories_version=1.0.0-beta.34+1.21

src/main/java/net/swedz/extended_industrialization/EIMachines.java

Lines changed: 64 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import aztech.modern_industrialization.MI;
44
import aztech.modern_industrialization.MIBlock;
5+
import aztech.modern_industrialization.MIFluids;
56
import aztech.modern_industrialization.api.energy.CableTier;
6-
import aztech.modern_industrialization.compat.rei.machines.ReiMachineRecipes;
77
import aztech.modern_industrialization.compat.rei.machines.SteamMode;
88
import aztech.modern_industrialization.machines.MachineBlockEntity;
99
import aztech.modern_industrialization.machines.components.OverclockComponent;
@@ -129,17 +129,17 @@ public static void multiblocks(MultiblockMachinesMIHookContext hook)
129129
hook.builder("steam_farmer", "Steam Farmer", SteamFarmerBlockEntity::new)
130130
.builtinModel(BRONZE_PLATED_BRICKS, "farmer", (model) -> model.front(true).top(true).active(true))
131131
.registrator((__) -> SteamFarmerBlockEntity.registerReiShapes())
132-
.build();
132+
.registerMachine();
133133

134134
hook.builder("electric_farmer", "Electric Farmer", ElectricFarmerBlockEntity::new)
135135
.builtinModel(STEEL, "farmer", (model) -> model.front(true).top(true).active(true))
136136
.registrator((__) -> ElectricFarmerBlockEntity.registerReiShapes())
137-
.build();
137+
.registerMachine();
138138

139139
hook.builder("processing_array", "Processing Array", ProcessingArrayBlockEntity::new)
140140
.builtinModel(CLEAN_STAINLESS_STEEL, "processing_array", (model) -> model.front(true).active(true))
141141
.registrator((__) -> ProcessingArrayBlockEntity.registerReiShapes())
142-
.build();
142+
.registerMachine();
143143

144144
{
145145
SimpleMember fireClayBricks = SimpleMember.forBlock(MIBlock.BLOCK_DEFINITIONS.get(MI.id("fire_clay_bricks")));
@@ -158,18 +158,18 @@ public static void multiblocks(MultiblockMachinesMIHookContext hook)
158158
EuCostTransformers.percentage(() -> (float) EI.config().batchingMachines().largeSteamFurnaceEU())
159159
))
160160
.builtinModel(BRONZE_PLATED_BRICKS, "large_furnace", (model) -> model.front(true).active(true))
161-
.build();
162-
ReiMachineRecipes.registerMultiblockShape(EI.id("large_steam_furnace"), shape);
163-
ReiMachineRecipes.registerWorkstation(MI.id("bronze_furnace"), EI.id("large_steam_furnace"));
164-
ReiMachineRecipes.registerWorkstation(MI.id("steel_furnace"), EI.id("large_steam_furnace"));
161+
.registerMachine()
162+
.registerMultiblockShape(shape)
163+
.registerAsWorkstationFor(MI.id("bronze_furnace"))
164+
.registerAsWorkstationFor(MI.id("steel_furnace"));
165165
}
166166

167167
hook.builder("large_electric_furnace", "Large Electric Furnace", LargeElectricFurnaceBlockEntity::new)
168168
.builtinModel(HEATPROOF, "large_furnace", (model) -> model.front(true).active(true))
169-
.build();
170-
ReiMachineRecipes.registerWorkstation(MI.id("bronze_furnace"), EI.id("large_electric_furnace"));
171-
ReiMachineRecipes.registerWorkstation(MI.id("steel_furnace"), EI.id("large_electric_furnace"));
172-
ReiMachineRecipes.registerWorkstation(MI.id("electric_furnace"), EI.id("large_electric_furnace"));
169+
.registerMachine()
170+
.registerAsWorkstationFor(MI.id("bronze_furnace"))
171+
.registerAsWorkstationFor(MI.id("steel_furnace"))
172+
.registerAsWorkstationFor(MI.id("electric_furnace"));
173173

174174
{
175175
SimpleMember bronzePlatedBricks = SimpleMember.forBlock(MIBlock.BLOCK_DEFINITIONS.get(MI.id("bronze_plated_bricks")));
@@ -183,10 +183,10 @@ public static void multiblocks(MultiblockMachinesMIHookContext hook)
183183
EuCostTransformers.percentage(() -> (float) EI.config().batchingMachines().largeSteamMaceratorEU())
184184
))
185185
.builtinModel(BRONZE_PLATED_BRICKS, "large_macerator", (model) -> model.front(true).active(true))
186-
.build();
187-
ReiMachineRecipes.registerMultiblockShape(EI.id("large_steam_macerator"), shape);
188-
ReiMachineRecipes.registerWorkstation(MI.id("bronze_macerator"), EI.id("large_steam_macerator"));
189-
ReiMachineRecipes.registerWorkstation(MI.id("steel_macerator"), EI.id("large_steam_macerator"));
186+
.registerMachine()
187+
.registerMultiblockShape(shape)
188+
.registerAsWorkstationFor(MI.id("bronze_macerator"))
189+
.registerAsWorkstationFor(MI.id("steel_macerator"));
190190
}
191191

192192
{
@@ -201,16 +201,16 @@ public static void multiblocks(MultiblockMachinesMIHookContext hook)
201201
EuCostTransformers.percentage(() -> (float) EI.config().batchingMachines().largeElectricMaceratorEU())
202202
))
203203
.builtinModel(Casings.STEEL_PLATED_BRICKS, "large_macerator", (model) -> model.front(true).active(true))
204-
.build();
205-
ReiMachineRecipes.registerMultiblockShape(EI.id("large_electric_macerator"), shape);
206-
ReiMachineRecipes.registerWorkstation(MI.id("bronze_macerator"), EI.id("large_electric_macerator"));
207-
ReiMachineRecipes.registerWorkstation(MI.id("steel_macerator"), EI.id("large_electric_macerator"));
208-
ReiMachineRecipes.registerWorkstation(MI.id("electric_macerator"), EI.id("large_electric_macerator"));
204+
.registerMachine()
205+
.registerMultiblockShape(shape)
206+
.registerAsWorkstationFor(MI.id("bronze_macerator"))
207+
.registerAsWorkstationFor(MI.id("steel_macerator"))
208+
.registerAsWorkstationFor(MI.id("electric_macerator"));
209209
}
210210

211211
hook.builder("tesla_tower", "Tesla Tower", TeslaTowerBlockEntity::new)
212212
.builtinModel(CLEAN_STAINLESS_STEEL, "tesla_tower", (model) -> model.front(true).active(true))
213-
.build();
213+
.registerMachine();
214214
}
215215

216216
public static void singleBlockCrafting(SingleBlockCraftingMachinesMIHookContext hook)
@@ -225,7 +225,7 @@ public static void singleBlockCrafting(SingleBlockCraftingMachinesMIHookContext
225225
.efficiencyBar(38, 62)
226226
.energyBar(14, 34))
227227
.builtinModel("bending_machine", (model) -> model.front(true))
228-
.build();
228+
.registerMachine();
229229

230230
hook.builder("alloy_smelter", "Alloy Smelter", RecipeTypes.ALLOY_SMELTER)
231231
.steel().electric()
@@ -237,7 +237,7 @@ public static void singleBlockCrafting(SingleBlockCraftingMachinesMIHookContext
237237
.efficiencyBar(38, 62)
238238
.energyBar(14, 34))
239239
.builtinModel("alloy_smelter", (model) -> model.front(true))
240-
.build();
240+
.registerMachine();
241241

242242
hook.builder("canning_machine", "Canning Machine", RecipeTypes.CANNING_MACHINE)
243243
.steel().electric()
@@ -251,7 +251,7 @@ public static void singleBlockCrafting(SingleBlockCraftingMachinesMIHookContext
251251
.efficiencyBar(38, 66)
252252
.energyBar(14, 35))
253253
.builtinModel("canning_machine", (model) -> model.front(true).side(true))
254-
.build();
254+
.registerMachine();
255255

256256
hook.builder("composter", "Composter", RecipeTypes.COMPOSTER)
257257
.bronze().steel().electric()
@@ -265,19 +265,19 @@ public static void singleBlockCrafting(SingleBlockCraftingMachinesMIHookContext
265265
.efficiencyBar(38, 66)
266266
.energyBar(14, 35))
267267
.builtinModel("composter", (model) -> model.front(true).top(true))
268-
.build();
268+
.registerMachine();
269269
}
270270

271271
public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext hook)
272272
{
273273
hook.builder("bronze_solar_boiler", "Bronze Solar Boiler", (bep) -> new SolarBoilerMachineBlockEntity(bep, true))
274274
.builtinModel(MachineCasings.BRICKED_BRONZE, "solar_boiler", (model) -> model.front(true).top(true).active(true))
275275
.registrator(MachineBlockEntity::registerFluidApi)
276-
.build();
276+
.registerMachine();
277277
hook.builder("steel_solar_boiler", "Steel Solar Boiler", (bep) -> new SolarBoilerMachineBlockEntity(bep, false))
278278
.builtinModel(MachineCasings.BRICKED_STEEL, "solar_boiler", (model) -> model.front(true).top(true).active(true))
279279
.registrator(MachineBlockEntity::registerFluidApi)
280-
.build();
280+
.registerMachine();
281281

282282
hook.builder("steel_honey_extractor", "Steel Honey Extractor", (bep) -> new SteamFluidHarvestingMachineBlockEntity(
283283
bep, "steel_honey_extractor",
@@ -286,7 +286,7 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
286286
))
287287
.builtinModel(MachineCasings.STEEL, "honey_extractor", (model) -> model.front(true).side(true).active(true))
288288
.registrator(MachineBlockEntity::registerFluidApi)
289-
.build();
289+
.registerMachine();
290290
hook.builder("electric_honey_extractor", "Electric Honey Extractor", (bep) -> new ElectricFluidHarvestingMachineBlockEntity(
291291
bep, "electric_honey_extractor",
292292
4, HoneyExtractorBehavior.ELECTRIC,
@@ -295,19 +295,38 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
295295
.builtinModel(CableTier.LV.casing, "honey_extractor", (model) -> model.front(true).side(true).active(true))
296296
.registrator(MachineBlockEntity::registerFluidApi)
297297
.registrator(ElectricFluidHarvestingMachineBlockEntity::registerEnergyApi)
298-
.build();
298+
.registerMachine();
299299

300-
hook.builder("steel_brewery", "Steel Brewery", (bep) -> new SteamBreweryMachineBlockEntity(bep, false))
300+
hook.builder("steel_brewery", "Steel Brewery", (bep, gui) -> new SteamBreweryMachineBlockEntity(bep, gui, false))
301301
.builtinModel(MachineCasings.STEEL, "brewery", (model) -> model.front(true).side(true).active(true))
302+
.gui((gui) -> gui
303+
.guiHeight(186)
304+
.inventoryOnlySlots((s) -> s
305+
.fluidInput(5, 45, MIFluids.STEAM::asFluid, 16)
306+
.fluidInput(24, 45, EIFluids.BLAZING_ESSENCE::asFluid, 16))
307+
.slots((s) -> s
308+
.itemInputs(43, 27, 3, 3)
309+
.itemOutputs(119, 27, 3, 3))
310+
.progressBar(97, 43, "triple_arrow"))
302311
.registrator(MachineBlockEntity::registerItemApi)
303312
.registrator(MachineBlockEntity::registerFluidApi)
304-
.build();
313+
.registerMachine();
305314
hook.builder("electric_brewery", "Electric Brewery", ElectricBreweryMachineBlockEntity::new)
306315
.builtinModel(CableTier.LV.casing, "brewery", (model) -> model.front(true).side(true).active(true))
316+
.gui((gui) -> gui
317+
.guiHeight(186)
318+
.inventoryOnlySlots((s) -> s
319+
.fluidInput(24, 45, EIFluids.BLAZING_ESSENCE::asFluid, 32))
320+
.slots((s) -> s
321+
.itemInputs(43, 27, 3, 3)
322+
.itemOutputs(119, 27, 3, 3))
323+
.progressBar(97, 43, "triple_arrow")
324+
.energyBar(7, 44)
325+
.efficiencyBar(57, 86))
307326
.registrator(MachineBlockEntity::registerItemApi)
308327
.registrator(MachineBlockEntity::registerFluidApi)
309328
.registrator(ElectricBreweryMachineBlockEntity::registerEnergyApi)
310-
.build();
329+
.registerMachine();
311330

312331

313332
hook.builder("bronze_waste_collector", "Bronze Waste Collector", (bep) -> new SteamFluidHarvestingMachineBlockEntity(
@@ -317,15 +336,15 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
317336
))
318337
.builtinModel(MachineCasings.BRONZE, "waste_collector", (model) -> model.top(true).active(true))
319338
.registrator(MachineBlockEntity::registerFluidApi)
320-
.build();
339+
.registerMachine();
321340
hook.builder("steel_waste_collector", "Steel Waste Collector", (bep) -> new SteamFluidHarvestingMachineBlockEntity(
322341
bep, "steel_waste_collector",
323342
2, WasteCollectorBehavior.STEEL,
324343
16 * FluidType.BUCKET_VOLUME, EIFluids.MANURE
325344
))
326345
.builtinModel(MachineCasings.STEEL, "waste_collector", (model) -> model.top(true).active(true))
327346
.registrator(MachineBlockEntity::registerFluidApi)
328-
.build();
347+
.registerMachine();
329348
hook.builder("electric_waste_collector", "Electric Waste Collector", (bep) -> new ElectricFluidHarvestingMachineBlockEntity(
330349
bep, "electric_waste_collector",
331350
4, WasteCollectorBehavior.ELECTRIC,
@@ -334,16 +353,16 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
334353
.builtinModel(CableTier.LV.casing, "waste_collector", (model) -> model.top(true).active(true))
335354
.registrator(MachineBlockEntity::registerFluidApi)
336355
.registrator(ElectricFluidHarvestingMachineBlockEntity::registerEnergyApi)
337-
.build();
356+
.registerMachine();
338357

339358
hook.builder("machine_chainer", "Machine Chainer", MachineChainerMachineBlockEntity::new)
340359
.registrator(MachineChainerMachineBlockEntity::registerCapabilities)
341-
.build();
360+
.registerMachine();
342361

343362
hook.builder("universal_transformer", "Universal Transformer", UniversalTransformerMachineBlockEntity::new)
344363
.builtinModel(CableTier.LV.casing, "universal_transformer", (model) -> model.top(true).side(true))
345364
.registrator(UniversalTransformerMachineBlockEntity::registerEnergyApi)
346-
.build();
365+
.registerMachine();
347366

348367
for(CableTier tier : new CableTier[]{CableTier.LV, CableTier.MV, CableTier.HV})
349368
{
@@ -355,30 +374,30 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
355374
.registrator(MachineBlockEntity::registerItemApi)
356375
.registrator(MachineBlockEntity::registerFluidApi)
357376
.registrator(SolarPanelMachineBlockEntity::registerEnergyApi)
358-
.build();
377+
.registerMachine();
359378
}
360379

361380
hook.builder("large_configurable_chest", "Large Configurable Chest", LargeConfigurableChestMachineBlockEntity::new)
362381
.builtinModel(Casings.LARGE_STEEL_CRATE, "large_configurable_chest")
363382
.registrator(MachineBlockEntity::registerItemApi)
364-
.build();
383+
.registerMachine();
365384

366385
hook.builder("tesla_coil", "Tesla Coil", TeslaCoilMachineBlockEntity::new)
367386
.builtinModel(CableTier.LV.casing, "tesla_coil", (model) -> model.front(true).top(true).side(true).active(true))
368387
.registrator(TeslaCoilMachineBlockEntity::registerEnergyApi)
369-
.build();
388+
.registerMachine();
370389

371390
hook.builder("tesla_receiver", "Tesla Receiver", TeslaReceiverMachineBlockEntity::new)
372391
.builtinModel(CableTier.LV.casing, "tesla_receiver", (model) -> model.front(true).top(true).side(true).active(true))
373392
.registrator(TeslaReceiverMachineBlockEntity::registerEnergyApi)
374-
.build();
393+
.registerMachine();
375394

376395
for(CableTier tier : CableTier.allTiers())
377396
{
378397
hook.builder("%s_tesla_receiver_hatch".formatted(tier.name), "%s Tesla Receiver Hatch".formatted(tier.shortEnglishName), (bep) -> new TeslaReceiverHatchBlockEntity(bep, tier))
379398
.builtinModel(tier.casing, "tesla_receiver_hatch", (model) -> model.front(true).side(true))
380399
.registrator(TeslaReceiverMachineBlockEntity::registerEnergyApi)
381-
.build();
400+
.registerMachine();
382401
}
383402

384403
hook.builder("lethal_tesla_coil", "Lethal Tesla Coil", LethalTeslaCoilMachineBlockEntity::new)
@@ -391,7 +410,7 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
391410
.explosionResistance(3600000))
392411
.builtinModel(CableTier.LV.casing, "lethal_tesla_coil", (model) -> model.front(true).top(true).side(true).active(true))
393412
.registrator(LethalTeslaCoilMachineBlockEntity::registerEnergyApi)
394-
.build();
413+
.registerMachine();
395414

396415
hook.builder("tesla_particle_generator", "Tesla Particle Generator", TeslaParticleGeneratorMachineBlockEntity::new)
397416
.modify((block) -> block.item().withoutModel())
@@ -402,6 +421,6 @@ public static void singleBlockSpecial(SingleBlockSpecialMachinesMIHookContext ho
402421
.noOcclusion()
403422
.instabreak())
404423
.excludeDefaultMineableTags()
405-
.build();
424+
.registerMachine();
406425
}
407426
}

src/main/java/net/swedz/extended_industrialization/machines/blockentity/brewery/BreweryMachineBlockEntity.java

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import aztech.modern_industrialization.machines.components.OrientationComponent;
1212
import aztech.modern_industrialization.machines.gui.MachineGuiParameters;
1313
import aztech.modern_industrialization.machines.guicomponents.AutoExtract;
14-
import aztech.modern_industrialization.machines.guicomponents.ProgressBar;
1514
import aztech.modern_industrialization.machines.init.MachineTier;
1615
import aztech.modern_industrialization.machines.models.MachineModelClientData;
1716
import aztech.modern_industrialization.machines.recipe.MachineRecipeType;
@@ -28,57 +27,29 @@
2827

2928
public abstract class BreweryMachineBlockEntity extends MachineBlockEntity implements Tickable, CrafterComponentHolder, CrafterComponent.Behavior
3029
{
31-
protected static final int STEAM_SLOT_X = 5;
32-
protected static final int STEAM_SLOT_Y = 45;
33-
34-
protected static final int BLAZING_ESSENCE_SLOT_X = 24;
35-
protected static final int BLAZING_ESSENCE_SLOT_Y = 45;
36-
37-
protected static final int INPUT_SLOTS_X = 43;
38-
protected static final int INPUT_SLOTS_Y = 27;
39-
40-
protected static final int OUTPUT_SLOTS_X = 119;
41-
protected static final int OUTPUT_SLOTS_Y = 27;
42-
43-
protected static final int PROGRESS_BAR_X = 97;
44-
protected static final int PROGRESS_BAR_Y = 43;
45-
4630
protected final MachineTier tier;
47-
protected final int capacity;
4831

4932
protected final MachineInventoryComponent inventory;
5033
protected final CrafterComponent crafter;
5134

5235
protected IsActiveComponent isActiveComponent;
5336

54-
public BreweryMachineBlockEntity(BEP bep, String blockName, MachineTier tier, int capacity)
37+
public BreweryMachineBlockEntity(BEP bep, MachineTier tier, MachineGuiParameters guiParams, MachineInventoryComponent inventory)
5538
{
56-
super(
57-
bep,
58-
new MachineGuiParameters.Builder(blockName, true).backgroundHeight(186).build(),
59-
new OrientationComponent.Params(true, true, false)
60-
);
39+
super(bep, guiParams, new OrientationComponent.Params(true, true, false));
6140

6241
this.tier = tier;
63-
this.capacity = capacity;
6442

65-
inventory = this.buildInventory();
66-
crafter = new CrafterComponent(this, inventory, this);
43+
this.inventory = inventory;
44+
this.crafter = new CrafterComponent(this, inventory, this);
6745

68-
isActiveComponent = new IsActiveComponent();
69-
70-
this.registerGuiComponent(new ProgressBar.Server(
71-
new ProgressBar.Parameters(PROGRESS_BAR_X, PROGRESS_BAR_Y, "triple_arrow"),
72-
crafter::getProgress
73-
));
46+
this.isActiveComponent = new IsActiveComponent();
7447

7548
this.registerComponents(isActiveComponent, inventory, crafter);
7649

7750
this.registerGuiComponent(new AutoExtract.Server(orientation));
7851
}
7952

80-
protected abstract MachineInventoryComponent buildInventory();
81-
8253
@Override
8354
public MIInventory getInventory()
8455
{

0 commit comments

Comments
 (0)