Skip to content

Commit 67ffc32

Browse files
committed
Prismatic Crucible now forms, but doesn't accept energy/item busses/hatches as part of structure (maintenance hatch is accepted)
1 parent 20e6df9 commit 67ffc32

File tree

3 files changed

+26
-12
lines changed

3 files changed

+26
-12
lines changed

src/main/java/net/neganote/monilabs/common/machine/multiblock/PrismaticCrucibleMachine.java

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

33
import com.gregtechceu.gtceu.api.machine.IMachineBlockEntity;
44
import com.gregtechceu.gtceu.api.machine.multiblock.WorkableElectricMultiblockMachine;
5-
import net.minecraft.network.chat.Component;
65

76
import javax.annotation.ParametersAreNonnullByDefault;
8-
import java.util.List;
97

108
@ParametersAreNonnullByDefault
119
@SuppressWarnings("unused")
@@ -14,13 +12,8 @@ public class PrismaticCrucibleMachine extends WorkableElectricMultiblockMachine
1412
private PrismaticMode mode;
1513
public PrismaticCrucibleMachine(IMachineBlockEntity holder, Object... args) {
1614
super(holder, args);
17-
}
18-
19-
@Override
20-
public void addDisplayText(List<Component> textList) {
21-
super.addDisplayText(textList);
22-
textList.add(Component.translatable("monilabs.prismatic.current_color", Component.translatable(color.nameKey)));
23-
textList.add(Component.translatable("monilabs.prismatic.current_mode", Component.translatable(mode.nameKey)));
15+
color = Color.RED;
16+
mode = PrismaticMode.DETERMINISTIC;
2417
}
2518

2619
@Override

src/main/java/net/neganote/monilabs/data/MoniMachines.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.gregtechceu.gtceu.api.data.RotationState;
44
import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition;
55
import com.gregtechceu.gtceu.api.pattern.FactoryBlockPattern;
6+
import net.minecraft.network.chat.Component;
67
import net.neganote.monilabs.MoniLabs;
78
import net.neganote.monilabs.common.machine.multiblock.PrismaticCrucibleMachine;
89
import net.neganote.monilabs.gtbridge.MoniRecipeTypes;
@@ -25,13 +26,19 @@ public class MoniMachines {
2526
.pattern(definition -> FactoryBlockPattern.start()
2627
.aisle("CCC", "CCC", "CCC")
2728
.aisle("CCC", "C#C", "C#C")
28-
.aisle("CPC", "CCC", "CCC")
29-
.where('C', blocks(MoniBlocks.PRISMATIC_CASING.get())
29+
.aisle("CCC", "CPC", "CCC")
30+
.where('C', blocks(MoniBlocks.PRISMATIC_CASING.get()).setMinGlobalLimited(9)
3031
.or(autoAbilities(definition.getRecipeTypes()))
3132
.or(autoAbilities(true, false, false)))
3233
.where('P', controller(blocks(definition.getBlock())))
3334
.where('#', any())
3435
.build())
36+
.additionalDisplay((controller, components) -> {
37+
if (controller instanceof PrismaticCrucibleMachine prismMachine && controller.isFormed()) {
38+
components.add(Component.translatable("monilabs.prismatic.current_color", Component.translatable(prismMachine.getColorState().nameKey)));
39+
components.add(Component.translatable("monilabs.prismatic.current_mode", Component.translatable(prismMachine.getCurrentMode().nameKey)));
40+
}
41+
})
3542
.register();
3643

3744
public static void init() {}
Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,26 @@
11
package net.neganote.monilabs.gtbridge;
22

3+
import com.gregtechceu.gtceu.api.GTValues;
34
import net.minecraft.data.recipes.FinishedRecipe;
5+
import net.neganote.monilabs.common.machine.multiblock.PrismaticCrucibleMachine.Color;
46

57
import java.util.function.Consumer;
68

9+
import static net.minecraft.world.item.Items.*;
10+
import static net.neganote.monilabs.capability.recipe.MoniRecipeCapabilities.COLOR;
11+
import static net.neganote.monilabs.gtbridge.MoniRecipeTypes.PRISMATIC_CRUCIBLE_RECIPES;
12+
713
public class MoniRecipes {
814
@SuppressWarnings("unused")
915
public static void init(Consumer<FinishedRecipe> provider) {
10-
16+
// Used to test prismatic crucible functionality
17+
PRISMATIC_CRUCIBLE_RECIPES.recipeBuilder("prismatic_crucible_test_recipe")
18+
.input(COLOR, Color.RED.modulus)
19+
.output(COLOR, Color.GREEN.modulus)
20+
.inputItems(RED_DYE, 32)
21+
.outputItems(GREEN_DYE, 32)
22+
.EUt(GTValues.VEX[GTValues.HV])
23+
.duration(200)
24+
.save(provider);
1125
}
1226
}

0 commit comments

Comments
 (0)