Skip to content

Commit 89b889f

Browse files
authored
Allow for custom hatch types (#1159)
1 parent c856b00 commit 89b889f

File tree

15 files changed

+141
-53
lines changed

15 files changed

+141
-53
lines changed

src/main/java/aztech/modern_industrialization/compat/kubejs/machine/ShapeTemplateHelper.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525

2626
import aztech.modern_industrialization.machines.models.MachineCasings;
2727
import aztech.modern_industrialization.machines.multiblocks.HatchFlags;
28-
import aztech.modern_industrialization.machines.multiblocks.HatchType;
28+
import aztech.modern_industrialization.machines.multiblocks.HatchTypes;
2929
import aztech.modern_industrialization.machines.multiblocks.ShapeTemplate;
3030
import aztech.modern_industrialization.machines.multiblocks.SimpleMember;
3131
import net.minecraft.resources.ResourceLocation;
@@ -50,15 +50,7 @@ default HatchFlags noHatch() {
5050
default HatchFlags hatchOf(String... hatches) {
5151
var builder = new HatchFlags.Builder();
5252
for (String hatch : hatches) {
53-
switch (hatch) {
54-
case "item_input" -> builder.with(HatchType.ITEM_INPUT);
55-
case "item_output" -> builder.with(HatchType.ITEM_OUTPUT);
56-
case "fluid_input" -> builder.with(HatchType.FLUID_INPUT);
57-
case "fluid_output" -> builder.with(HatchType.FLUID_OUTPUT);
58-
case "energy_input" -> builder.with(HatchType.ENERGY_INPUT);
59-
case "energy_output" -> builder.with(HatchType.ENERGY_OUTPUT);
60-
default -> throw new IllegalArgumentException("Unsupported hatch type: " + hatch);
61-
}
53+
builder.with(HatchTypes.get(hatch));
6254
}
6355
return builder.build();
6456
}

src/main/java/aztech/modern_industrialization/guidebook/MultiblockShapeCompiler.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,6 @@
2525

2626
import aztech.modern_industrialization.MIText;
2727
import aztech.modern_industrialization.machines.MachineBlock;
28-
import aztech.modern_industrialization.machines.multiblocks.HatchType;
2928
import aztech.modern_industrialization.machines.multiblocks.MultiblockMachineBlockEntity;
3029
import guideme.color.SymbolicColor;
3130
import guideme.compiler.PageCompiler;
@@ -83,10 +82,8 @@ public void compile(GuidebookScene scene, PageCompiler compiler, LytErrorSink er
8382

8483
tooltipLines.add(MIText.AcceptsHatches.text());
8584
var flags = entry.getValue();
86-
for (var type : HatchType.values()) {
87-
if (flags.allows(type)) {
88-
tooltipLines.add(Component.literal("- ").append(type.description()));
89-
}
85+
for (var type : flags.values()) {
86+
tooltipLines.add(Component.literal("- ").append(type.description()));
9087
}
9188
annotation.setTooltip(new TextTooltip(tooltipLines));
9289
scene.addAnnotation(annotation);

src/main/java/aztech/modern_industrialization/machines/blockentities/hatches/EnergyHatch.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import aztech.modern_industrialization.machines.helper.EnergyHelper;
3939
import aztech.modern_industrialization.machines.multiblocks.HatchBlockEntity;
4040
import aztech.modern_industrialization.machines.multiblocks.HatchType;
41+
import aztech.modern_industrialization.machines.multiblocks.HatchTypes;
4142
import java.util.List;
4243
import net.minecraft.world.level.block.entity.BlockEntityType;
4344

@@ -67,7 +68,7 @@ public EnergyHatch(BEP bep, MachineGuiParameters guiParams, boolean input, Cable
6768

6869
@Override
6970
public HatchType getHatchType() {
70-
return input ? HatchType.ENERGY_INPUT : HatchType.ENERGY_OUTPUT;
71+
return input ? HatchTypes.ENERGY_INPUT : HatchTypes.ENERGY_OUTPUT;
7172
}
7273

7374
@Override

src/main/java/aztech/modern_industrialization/machines/blockentities/hatches/FluidHatch.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import aztech.modern_industrialization.machines.guicomponents.AutoExtract;
3232
import aztech.modern_industrialization.machines.multiblocks.HatchBlockEntity;
3333
import aztech.modern_industrialization.machines.multiblocks.HatchType;
34+
import aztech.modern_industrialization.machines.multiblocks.HatchTypes;
3435
import java.util.List;
3536

3637
public class FluidHatch extends HatchBlockEntity {
@@ -51,7 +52,7 @@ public FluidHatch(BEP bep, MachineGuiParameters guiParams, boolean input, boolea
5152

5253
@Override
5354
public HatchType getHatchType() {
54-
return input ? HatchType.FLUID_INPUT : HatchType.FLUID_OUTPUT;
55+
return input ? HatchTypes.FLUID_INPUT : HatchTypes.FLUID_OUTPUT;
5556
}
5657

5758
@Override

src/main/java/aztech/modern_industrialization/machines/blockentities/hatches/ItemHatch.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
import aztech.modern_industrialization.machines.guicomponents.AutoExtract;
3232
import aztech.modern_industrialization.machines.multiblocks.HatchBlockEntity;
3333
import aztech.modern_industrialization.machines.multiblocks.HatchType;
34+
import aztech.modern_industrialization.machines.multiblocks.HatchTypes;
3435
import java.util.List;
3536

3637
public class ItemHatch extends HatchBlockEntity {
@@ -51,7 +52,7 @@ public ItemHatch(BEP bep, MachineGuiParameters guiParams, boolean input, boolean
5152

5253
@Override
5354
public HatchType getHatchType() {
54-
return input ? HatchType.ITEM_INPUT : HatchType.ITEM_OUTPUT;
55+
return input ? HatchTypes.ITEM_INPUT : HatchTypes.ITEM_OUTPUT;
5556
}
5657

5758
@Override

src/main/java/aztech/modern_industrialization/machines/blockentities/hatches/LargeTankHatch.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@
3535
import aztech.modern_industrialization.machines.gui.MachineGuiParameters;
3636
import aztech.modern_industrialization.machines.multiblocks.HatchBlockEntity;
3737
import aztech.modern_industrialization.machines.multiblocks.HatchType;
38+
import aztech.modern_industrialization.machines.multiblocks.HatchTypes;
3839
import java.util.List;
3940
import net.minecraft.ChatFormatting;
4041
import net.minecraft.server.level.ServerPlayer;
@@ -70,7 +71,7 @@ public void openMenu(ServerPlayer player) {
7071

7172
@Override
7273
public HatchType getHatchType() {
73-
return HatchType.LARGE_TANK;
74+
return HatchTypes.LARGE_TANK;
7475
}
7576

7677
@Override

src/main/java/aztech/modern_industrialization/machines/blockentities/hatches/NuclearHatch.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
import aztech.modern_industrialization.machines.guicomponents.TemperatureBar;
3838
import aztech.modern_industrialization.machines.multiblocks.HatchBlockEntity;
3939
import aztech.modern_industrialization.machines.multiblocks.HatchType;
40+
import aztech.modern_industrialization.machines.multiblocks.HatchTypes;
4041
import aztech.modern_industrialization.nuclear.*;
4142
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.fluid.FluidVariant;
4243
import aztech.modern_industrialization.thirdparty.fabrictransfer.api.item.ItemVariant;
@@ -98,7 +99,7 @@ public NuclearHatch(BEP bep, boolean isFluid) {
9899

99100
@Override
100101
public HatchType getHatchType() {
101-
return isFluid ? HatchType.NUCLEAR_FLUID : HatchType.NUCLEAR_ITEM;
102+
return isFluid ? HatchTypes.NUCLEAR_FLUID : HatchTypes.NUCLEAR_ITEM;
102103
}
103104

104105
@Override

src/main/java/aztech/modern_industrialization/machines/blockentities/multiblocks/DistillationTowerBlockEntity.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ public static void registerReiShapes() {
114114

115115
SimpleMember casing = SimpleMember.forBlock(MIBlock.BLOCK_DEFINITIONS.get(MI.id("clean_stainless_steel_machine_casing")));
116116
SimpleMember pipe = SimpleMember.forBlock(MIBlock.BLOCK_DEFINITIONS.get(MI.id("stainless_steel_machine_casing_pipe")));
117-
HatchFlags bottom = new HatchFlags.Builder().with(HatchType.ENERGY_INPUT, HatchType.FLUID_INPUT).build();
118-
HatchFlags layer = new HatchFlags.Builder().with(HatchType.FLUID_OUTPUT).build();
117+
HatchFlags bottom = new HatchFlags.Builder().with(HatchTypes.ENERGY_INPUT, HatchTypes.FLUID_INPUT).build();
118+
HatchFlags layer = new HatchFlags.Builder().with(HatchTypes.FLUID_OUTPUT).build();
119119
for (int i = 0; i < MAX_HEIGHT; ++i) {
120120
ShapeTemplate.Builder builder = new ShapeTemplate.Builder(MachineCasings.CLEAN_STAINLESS_STEEL);
121121
for (int y = 0; y <= i + 1; ++y) {

src/main/java/aztech/modern_industrialization/machines/blockentities/multiblocks/ElectricBlastFurnaceBlockEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
*/
2424
package aztech.modern_industrialization.machines.blockentities.multiblocks;
2525

26-
import static aztech.modern_industrialization.machines.multiblocks.HatchType.*;
26+
import static aztech.modern_industrialization.machines.multiblocks.HatchTypes.*;
2727

2828
import aztech.modern_industrialization.MI;
2929
import aztech.modern_industrialization.MIBlock;

src/main/java/aztech/modern_industrialization/machines/blockentities/multiblocks/LargeTankMultiblockBlockEntity.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@ private static ShapeTemplate buildShape(int index) {
109109
ShapeTemplate.Builder templateBuilder = new ShapeTemplate.Builder(MachineCasings.STEEL);
110110
SimpleMember steelCasing = SimpleMember.forBlock(MIBlock.BLOCK_DEFINITIONS.get(MI.id("steel_machine_casing")));
111111
SimpleMember glass = SimpleMember.forBlock(() -> Blocks.GLASS);
112-
HatchFlags hatchFlags = new HatchFlags.Builder().with(HatchType.LARGE_TANK).build();
112+
HatchFlags hatchFlags = new HatchFlags.Builder().with(HatchTypes.LARGE_TANK).build();
113113

114114
for (int x = -sizeX / 2; x <= sizeX / 2; x++) {
115115
for (int y = -1; y < sizeY - 1; y++) {

0 commit comments

Comments
 (0)