Skip to content

Commit 400b7bf

Browse files
committed
Designed the Aura Altar multiblock. Fixed several lang and display mistakes.
1 parent 3c3126f commit 400b7bf

14 files changed

Lines changed: 109 additions & 57 deletions

File tree

src/generated/resources/.cache/db205a33237d33346b5e77cb13e9d44444e87afe

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,11 +54,11 @@ b31ba98bcb1bb3709dd26b05cf28b4d683b9dbe7 assets/refactorycore/blockstates/vigoro
5454
1bd830de512778d7e87c3f2c229858af98a7d752 assets/refactorycore/blockstates/zpm_hydrator.json
5555
64b4702860b479e9b630ced9648d49f3494f2ca0 assets/refactorycore/blockstates/zpm_lp_input_hatch.json
5656
b0b09cb6e6bae4b50abab46ff017e6a12e945948 assets/refactorycore/blockstates/zpm_lp_output_hatch.json
57-
47f3f79c3281feb2387cc5b69ae48e295fa4815d assets/refactorycore/lang/en_ud.json
58-
dad1b4bcfcb43ecefa12816334adbc14707d7a54 assets/refactorycore/lang/en_us.json
57+
fb48b9aa9e4818c8bcc5a257e86eeb8b290d1781 assets/refactorycore/lang/en_ud.json
58+
e6237abde715071d95a79fae5ed21e8495d9e938 assets/refactorycore/lang/en_us.json
5959
28c2bd0521bcd107b69d75cd5a931145712eb15e assets/refactorycore/models/block/clean_mana_burner_casing.json
6060
86095f68e9654219610ed1a0d256fb0a1408441e assets/refactorycore/models/block/machine/advanced_primitive_blast_furnace.json
61-
1519e12624ed21de156ed28522e32a45c546e696 assets/refactorycore/models/block/machine/aura_altar.json
61+
533f88a1b282b10b1dd3752e27d7fc179c36de96 assets/refactorycore/models/block/machine/aura_altar.json
6262
009ce12acd6c9dc659ae4d05de8855874791ca69 assets/refactorycore/models/block/machine/bloodforge.json
6363
fc054434e27ff76245cdadf88009270704ed8661 assets/refactorycore/models/block/machine/bronze_multiblock_tank.json
6464
c20555cd9983642d430fcb6d3c60fb9e5c19a355 assets/refactorycore/models/block/machine/bronze_tank_valve.json

src/generated/resources/assets/refactorycore/lang/en_ud.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@
115115
"tooltip.gtceu.steam_large_extractor.0": "ɹoʇɔɐɹʇxǝ ʞɔoןqıʇןnɯ ɯɐǝʇS",
116116
"tooltip.gtceu.steam_large_extractor.1": "ןǝןןɐɹɐd uı sǝdıɔǝɹ 8 oʇ dn sǝssǝɔoɹԀㄥ§",
117117
"tooltip.gtceu.steam_separator.0": "ǝbnɟıɹʇuǝɔ ǝbɹɐꞀ",
118+
"tooltip.refactorycore.aura_altar.0": "sɯǝʇı ןɐɔıbɐɯ ǝzʎןɐʇɐɔ oʇ ɐɹnⱯ sǝs∩ㄥ§",
119+
"tooltip.refactorycore.aura_altar.1": "ǝdıɔǝɹ ǝɥʇ oʇ buıpɹoɔɔɐ pǝpǝǝu ɐɹnɐ ǝɥʇ sǝɯnsuoƆq§",
120+
"tooltip.refactorycore.aura_hatch.export.0": "ʇuǝɯuoɹıʌuǝ ǝɥʇ oʇuı ʇı sǝsɐǝןǝɹ puɐ ʞɔoןqıʇןnɯ ǝɥʇ ɯoɹɟ ɐɹnⱯ sʇɔɐɹʇxƎq§",
121+
"tooltip.refactorycore.aura_hatch.export.1": "snıpɐɹ ʞɔoןqᄅƐ ɐ uı ʇods ɐɹnⱯ ʇsǝʍoן ǝɥʇ oʇ ɐɹnⱯ sʇɔɐɹʇxƎǝ§",
122+
"tooltip.refactorycore.aura_hatch.import.0": "ʞɔoןqıʇןnɯ ǝɥʇ oʇ ʇı sǝpıʌoɹd puɐ ʇuǝɯuoɹıʌuǝ ǝɥʇ ɯoɹɟ ɐɹnⱯ sןןnԀq§",
123+
"tooltip.refactorycore.aura_hatch.import.1": "snıpɐɹ ʞɔoןqᄅƐ ɐ uı ʇods ɐɹnⱯ ʇsǝɥbıɥ ǝɥʇ ɯoɹɟ ɐɹnⱯ sןןnԀǝ§",
118124
"tooltip.refactorycore.lp_hatch.input": "%s :ʇnduI ǝdıɔǝᴚ xɐW",
119125
"tooltip.refactorycore.lp_hatch.output": "%s :ʎʇıɔɐdɐƆ ʞɹoʍʇǝN xɐW",
120126
"tooltip.refactorycore.taint_amount": "%s :ʇuıɐ⟘ ʇuǝɹɹnƆ"

src/generated/resources/assets/refactorycore/lang/en_us.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,12 @@
115115
"tooltip.gtceu.steam_large_extractor.0": "Steam multiblock extractor",
116116
"tooltip.gtceu.steam_large_extractor.1": "§7Processes up to 8 recipes in parallel",
117117
"tooltip.gtceu.steam_separator.0": "Large centrifuge",
118+
"tooltip.refactorycore.aura_altar.0": "§7Uses Aura to catalyze magical items",
119+
"tooltip.refactorycore.aura_altar.1": "§bConsumes the aura needed according to the recipe",
120+
"tooltip.refactorycore.aura_hatch.export.0": "§bExtracts Aura from the multiblock and releases it into the environment",
121+
"tooltip.refactorycore.aura_hatch.export.1": "§eExtracts Aura to the lowest Aura spot in a 32block radius",
122+
"tooltip.refactorycore.aura_hatch.import.0": "§bPulls Aura from the environment and provides it to the multiblock",
123+
"tooltip.refactorycore.aura_hatch.import.1": "§ePulls Aura from the highest Aura spot in a 32block radius",
118124
"tooltip.refactorycore.lp_hatch.input": "Max Recipe Input: %s",
119125
"tooltip.refactorycore.lp_hatch.output": "Max Network Capacity: %s",
120126
"tooltip.refactorycore.taint_amount": "Current Taint: %s"

src/generated/resources/assets/refactorycore/models/block/machine/aura_altar.json

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -3,82 +3,82 @@
33
"loader": "gtceu:machine",
44
"machine": "refactorycore:aura_altar",
55
"texture_overrides": {
6-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium"
6+
"all": "refactorycore:block/other/infused_brick"
77
},
88
"variants": {
99
"is_formed=false,recipe_logic_status=idle": {
1010
"model": {
1111
"parent": "gtceu:block/machine/template/cube_all/sided",
1212
"textures": {
13-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
14-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front"
13+
"all": "refactorycore:block/other/infused_brick",
14+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top"
1515
}
1616
}
1717
},
1818
"is_formed=false,recipe_logic_status=suspend": {
1919
"model": {
2020
"parent": "gtceu:block/machine/template/cube_all/sided",
2121
"textures": {
22-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
23-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front"
22+
"all": "refactorycore:block/other/infused_brick",
23+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top"
2424
}
2525
}
2626
},
2727
"is_formed=false,recipe_logic_status=waiting": {
2828
"model": {
2929
"parent": "gtceu:block/machine/template/cube_all/sided",
3030
"textures": {
31-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
32-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active",
33-
"overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive"
31+
"all": "refactorycore:block/other/infused_brick",
32+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top_active",
33+
"overlay_top_emissive": "refactorycore:block/multiblock/aura_altar/overlay_top_active_emissive"
3434
}
3535
}
3636
},
3737
"is_formed=false,recipe_logic_status=working": {
3838
"model": {
3939
"parent": "gtceu:block/machine/template/cube_all/sided",
4040
"textures": {
41-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
42-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active",
43-
"overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive"
41+
"all": "refactorycore:block/other/infused_brick",
42+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top_active",
43+
"overlay_top_emissive": "refactorycore:block/multiblock/aura_altar/overlay_top_active_emissive"
4444
}
4545
}
4646
},
4747
"is_formed=true,recipe_logic_status=idle": {
4848
"model": {
4949
"parent": "gtceu:block/machine/template/cube_all/sided",
5050
"textures": {
51-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
52-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front"
51+
"all": "refactorycore:block/other/infused_brick",
52+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top"
5353
}
5454
}
5555
},
5656
"is_formed=true,recipe_logic_status=suspend": {
5757
"model": {
5858
"parent": "gtceu:block/machine/template/cube_all/sided",
5959
"textures": {
60-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
61-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front"
60+
"all": "refactorycore:block/other/infused_brick",
61+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top"
6262
}
6363
}
6464
},
6565
"is_formed=true,recipe_logic_status=waiting": {
6666
"model": {
6767
"parent": "gtceu:block/machine/template/cube_all/sided",
6868
"textures": {
69-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
70-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active",
71-
"overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive"
69+
"all": "refactorycore:block/other/infused_brick",
70+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top_active",
71+
"overlay_top_emissive": "refactorycore:block/multiblock/aura_altar/overlay_top_active_emissive"
7272
}
7373
}
7474
},
7575
"is_formed=true,recipe_logic_status=working": {
7676
"model": {
7777
"parent": "gtceu:block/machine/template/cube_all/sided",
7878
"textures": {
79-
"all": "gtceu:block/casings/solid/machine_casing_stable_titanium",
80-
"overlay_front": "gtceu:block/multiblock/power_substation/overlay_front_active",
81-
"overlay_front_emissive": "gtceu:block/multiblock/power_substation/overlay_front_active_emissive"
79+
"all": "refactorycore:block/other/infused_brick",
80+
"overlay_top": "refactorycore:block/multiblock/aura_altar/overlay_top_active",
81+
"overlay_top_emissive": "refactorycore:block/multiblock/aura_altar/overlay_top_active_emissive"
8282
}
8383
}
8484
}

src/main/java/com/illuminatijoe/refactorycore/data/datagen/ReFactoryLangGen.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,6 @@ public static void init(RegistrateLangProvider provider) {
3333
replace(provider, "block.gtceu.steam_separator", "Steam Separator");
3434
replace(provider, "block.gtceu.steam_foundry", "Steam Foundry");
3535
replace(provider, "block.gtceu.bloodforge", "§cBloodforge");
36-
replace(provider, "block.gtceu.aura_altar", "Aura Catalysis Core");
3736

3837
// Recipes
3938
replace(provider, "gtceu.advanced_primitive_blast_furnace", "Advanced Blasting");
@@ -69,10 +68,10 @@ public static void init(RegistrateLangProvider provider) {
6968
"§bExtracts Aura from the multiblock and releases it into the environment");
7069
replace(provider, "tooltip.refactorycore.aura_hatch.import.1",
7170
"§ePulls Aura from the highest Aura spot in a " + NotifiableAuraContainer.INPUT_RADIUS +
72-
"block radius");
71+
" block radius");
7372
replace(provider, "tooltip.refactorycore.aura_hatch.export.1",
7473
"§eExtracts Aura to the lowest Aura spot in a " + +NotifiableAuraContainer.OUTPUT_RADIUS +
75-
"block radius");
74+
" block radius");
7675

7776
// Tiered machine tooltips
7877
standardTooltips(provider, "gtceu.machine", "hydrator",

src/main/java/com/illuminatijoe/refactorycore/machines/ReFactoryMachines.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -283,8 +283,9 @@ public static MachineDefinition[] registerAuraHatch(String name, String displayN
283283
(tier, builder) -> builder
284284
.tooltips(List.of(
285285
Component.translatable("tooltip.refactorycore.aura_hatch." +
286-
(io == IO.IN ? "import" : "export") + "0"),
287-
Component.translatable("tooltip.refactorycore.aura_hatch.range")))
286+
(io == IO.IN ? "import" : "export") + ".0"),
287+
Component.translatable("tooltip.refactorycore.aura_hatch." +
288+
(io == IO.IN ? "import" : "export") + ".1")))
288289
.langValue(GTValues.VNF[tier] + ' ' + displayName)
289290
.abilities(abilities)
290291
.rotationState(RotationState.ALL)

src/main/java/com/illuminatijoe/refactorycore/machines/multiblock/AuraAltar.java

Lines changed: 28 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.illuminatijoe.refactorycore.machines.multiblock;
22

3+
import com.illuminatijoe.refactorycore.ReFactoryCore;
34
import com.illuminatijoe.refactorycore.data.recipes.ReFactoryCoreRecipeTypes;
45
import com.illuminatijoe.refactorycore.machines.multiblock.electric.AuraAltarMultiblockMachine;
5-
import com.illuminatijoe.refactorycore.machines.part.ReFactoryPartAbilities;
66

77
import com.gregtechceu.gtceu.GTCEu;
88
import com.gregtechceu.gtceu.api.data.RotationState;
@@ -14,6 +14,7 @@
1414
import com.gregtechceu.gtceu.common.data.GTRecipeModifiers;
1515
import com.gregtechceu.gtceu.common.data.models.GTMachineModels;
1616

17+
import com.illuminatijoe.refactorycore.machines.part.ReFactoryPartAbilities;
1718
import net.minecraft.network.chat.Component;
1819

1920
import de.ellpeck.naturesaura.blocks.ModBlocks;
@@ -28,37 +29,40 @@ public class AuraAltar {
2829
public static final MachineDefinition AURA_ALTAR = REGISTRATE
2930
.multiblock("aura_altar", AuraAltarMultiblockMachine::new)
3031
.tooltips(List.of(
31-
Component.translatable("tooltip.refactory.aura_altar.0"),
32-
Component.translatable("tooltip.refactory.aura_altar.1")))
32+
Component.translatable("tooltip.refactorycore.aura_altar.0"),
33+
Component.translatable("tooltip.refactorycore.aura_altar.1")))
3334
.rotationState(RotationState.NON_Y_AXIS)
3435
.recipeType(ReFactoryCoreRecipeTypes.AURA_ALTAR)
3536
.partAppearance(
36-
(iMultiController, iMultiPart, direction) -> GTBlocks.CASING_TITANIUM_STABLE.getDefaultState())
37-
.recipeModifiers(GTRecipeModifiers.PARALLEL_HATCH,
38-
GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK),
39-
GTRecipeModifiers.BATCH_MODE)
37+
(iMultiController, iMultiPart, direction) -> ModBlocks.INFUSED_BRICK.defaultBlockState())
38+
.recipeModifiers(GTRecipeModifiers.ELECTRIC_OVERCLOCK.apply(OverclockingLogic.NON_PERFECT_OVERCLOCK))
4039
.pattern(definition -> FactoryBlockPattern.start()
4140
// spotless:off
42-
.aisle("abbabba", "#######", "#######", "#######")
43-
.aisle("bcccccb", "#ababa#", "#a#a#a#", "#e###e#")
44-
.aisle("bcccccb", "#bbbbb#", "#######", "#######")
45-
.aisle("accccca", "#ababa#", "#a#a#a#", "#e###e#")
46-
.aisle("bcccccb", "#bbbbb#", "#######", "#######")
47-
.aisle("bcccccb", "#ababa#", "#a#a#a#", "#e###e#")
48-
.aisle("abbabba", "#######", "#######", "#######")
49-
.where('a', blocks(GTBlocks.CASING_STEEL_SOLID.get()))
50-
.where('b', blocks(ModBlocks.INFUSED_BRICK)
51-
.or(autoAbilities(ReFactoryCoreRecipeTypes.AURA_ALTAR))
52-
.or(ability(PartAbility.INPUT_ENERGY)).setExactLimit(1)
53-
.or(ability(ReFactoryPartAbilities.IMPORT_AURA).setExactLimit(1)))
54-
.where('c', blocks(ModBlocks.INFUSED_STONE))
55-
.where('#', air())
56-
.where('e', blocks(ModBlocks.INFUSED_IRON_BLOCK))
41+
.aisle("abbabba", "ccccccc", "ccccccc", "ccccccc")
42+
.aisle("bdddddb", "cababac", "cacacac", "cecccec")
43+
.aisle("bdddddb", "cbbbbbc", "ccccccc", "ccccccc")
44+
.aisle("addddda", "cabbbac", "cacfcac", "ccccccc")
45+
.aisle("bdddddb", "cbbbbbc", "ccccccc", "ccccccc")
46+
.aisle("bdddddb", "cababac", "cacacac", "cecccec")
47+
.aisle("abbabba", "ccccccc", "ccccccc", "ccccccc")
5748
// spotless:on
49+
.where("a", blocks(GTBlocks.CASING_STEEL_SOLID.get()))
50+
.where("b", blocks(ModBlocks.INFUSED_BRICK.defaultBlockState().getBlock())
51+
.or(ability(PartAbility.IMPORT_ITEMS).setMaxGlobalLimited(2))
52+
.or(ability(PartAbility.EXPORT_ITEMS).setMaxGlobalLimited(2))
53+
.or(ability(PartAbility.EXPORT_ITEMS).setMaxGlobalLimited(3))
54+
.or(ability(PartAbility.EXPORT_FLUIDS).setMaxGlobalLimited(3))
55+
.or(ability(PartAbility.INPUT_ENERGY).setExactLimit(1).setPreviewCount(1))
56+
.or(ability(PartAbility.MAINTENANCE).setExactLimit(1).setPreviewCount(1))
57+
.or(ability(ReFactoryPartAbilities.IMPORT_AURA).setExactLimit(1).setPreviewCount(1)))
58+
.where("c", any())
59+
.where("d", blocks(ModBlocks.INFUSED_STONE.defaultBlockState().getBlock()))
60+
.where("e", blocks(ModBlocks.INFUSED_IRON_BLOCK.defaultBlockState().getBlock()))
61+
.where("f", controller(blocks(definition.get())))
5862
.build())
5963
.model(GTMachineModels.createWorkableCasingMachineModel(
60-
GTCEu.id("block/casings/solid/machine_casing_stable_titanium"),
61-
GTCEu.id("block/multiblock/power_substation")))
64+
ReFactoryCore.id("block/other/infused_brick"),
65+
ReFactoryCore.id("block/multiblock/aura_altar")))
6266
.register();
6367

6468
public static void init() {}

src/main/java/com/illuminatijoe/refactorycore/machines/trait/NotifiableAuraContainer.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,12 +34,12 @@ public class NotifiableAuraContainer extends NotifiableRecipeHandlerTrait<Intege
3434
private final ConditionalSubscriptionHandler conditionalSubscriptionHandler;
3535
@Getter
3636
@DescSynced
37-
private int auraAround;
37+
private int currentAuraAround;
3838

3939
public NotifiableAuraContainer(MetaMachine machine, IO io) {
4040
super(machine);
4141
this.handlerIO = io;
42-
auraAround = -1;
42+
currentAuraAround = -1;
4343

4444
conditionalSubscriptionHandler = new ConditionalSubscriptionHandler(
4545
machine,
@@ -51,12 +51,16 @@ private void tickAuraSync() {
5151
if (this.machine.getOffsetTimer() % 20 != 0) return;
5252

5353
int aura = IAuraChunk.getAuraInArea(machine.getLevel(), machine.getPos(), INPUT_RADIUS);
54-
if (aura != auraAround) {
55-
auraAround = aura;
54+
if (aura != currentAuraAround) {
55+
currentAuraAround = aura;
5656
notifyListeners();
5757
}
5858
}
5959

60+
public int getAuraAround() {
61+
return IAuraChunk.getAuraInArea(machine.getLevel(), machine.getPos(), INPUT_RADIUS);
62+
}
63+
6064
@Override
6165
public List<Integer> handleRecipeInner(IO io, GTRecipe recipe, List<Integer> left, boolean simulate) {
6266
int requested = left.stream().mapToInt(Integer::intValue).sum();
537 Bytes
Loading
1.51 KB
Loading

0 commit comments

Comments
 (0)