Skip to content

Commit 868e48c

Browse files
authored
Add pattern dimensions to all Multiblock Controllers (GregTechCEu#3240)
1 parent 7577d1e commit 868e48c

File tree

5 files changed

+21
-0
lines changed

5 files changed

+21
-0
lines changed

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3186,6 +3186,7 @@
31863186
"gtceu.multiblock.cracking_unit.energy": "%s%% :ǝbɐs∩ ʎbɹǝuƎ",
31873187
"gtceu.multiblock.data_bank.description": "˙sǝןnpoW ɐʇɐᗡ uo ɐʇɐp ɥɔɹɐǝsǝɹ xǝןdɯoɔ ǝɹoɯ pɐǝɹ oʇ sǝuıꞀ ʎןqɯǝssⱯ sǝןqɐuǝ ʇı 'ʎןןɐuoıʇıppⱯ ˙sǝuıꞀ ʎןqɯǝssⱯ ǝןdıʇןnɯ uǝǝʍʇǝq ɐʇɐᗡ ɥɔɹɐǝsǝᴚ ǝuıꞀ ʎןqɯǝssⱯ buıɹɐɥs ɹoɟ pǝsn ǝɹnʇɔnɹʇs ʞɔoןqıʇןnɯ ɐ sı ʞuɐᗺ ɐʇɐᗡ ǝɥ⟘",
31883188
"gtceu.multiblock.data_bank.providing": "˙ɐʇɐp buıpıʌoɹԀ",
3189+
"gtceu.multiblock.dimension": "%sx%sx%sɹ§ :suoısuǝɯıᗡǝ§",
31893190
"gtceu.multiblock.distillation_tower.description": "˙uoıʇısod ʎuɐ uı spınןɟ ʇɹǝsuı puɐ sɯǝʇı ʇndʇno uɐɔ ɹǝʎɐן ɯoʇʇoq ǝɥ⟘ ˙ǝuo puoɔǝs ǝɥʇ ɯoɹɟ buıʇɹɐʇs 'ɥɔʇɐɥ ʇndʇno ǝuo ʎןʇɔɐxǝ ǝʌɐɥ ʇsnɯ ɹǝʎɐן ɥɔɐƎ ˙sʇɔnpoɹdʎq ɹıǝɥʇ ɟo ǝɯos puɐ ןıO ɟo sǝdʎʇ snoıɹɐʌ ǝɥʇ buıןןıʇsıp ɹoɟ pǝsn ǝɹnʇɔnɹʇs ʞɔoןqıʇןnɯ ɐ sı ɹǝʍo⟘ uoıʇɐןןıʇsıᗡ ǝɥ⟘",
31903191
"gtceu.multiblock.distillation_tower.distilling_fluid": "%s buıןןıʇsıᗡ",
31913192
"gtceu.multiblock.electric_blast_furnace.description": "˙ʎoןןɐ ɥɐpɐnbɐu puɐ 'ɯnıuɐʇıʇ 'ןǝǝʇs ssǝןuıɐʇs 'ɯnıuıɯnןɐ sɐ ɥɔns 'sןɐʇǝɯ puɐ sʎoןןɐ ɹǝıʇ-ɥbıɥ buıuıɐʇqo ɹoɟ pǝɹınbǝɹ sı ʇI ˙sǝɹo buıuıɟǝɹ puɐ sןɐʇǝɯ buıʞooɔ 'sʎoןןɐ buıʇןǝɯs ɹoɟ pǝsn ǝɹnʇɔnɹʇs ʞɔoןqıʇןnɯ ɐ sı )ℲᗺƎ( ǝɔɐuɹnℲ ʇsɐןᗺ ɔıɹʇɔǝןƎ ǝɥ⟘",

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3186,6 +3186,7 @@
31863186
"gtceu.multiblock.cracking_unit.energy": "Energy Usage: %s%%",
31873187
"gtceu.multiblock.data_bank.description": "The Data Bank is a multiblock structure used for sharing Assembly Line Research Data between multiple Assembly Lines. Additionally, it enables Assembly Lines to read more complex research data on Data Modules.",
31883188
"gtceu.multiblock.data_bank.providing": "Providing data.",
3189+
"gtceu.multiblock.dimension": "§eDimensions: §r%sx%sx%s",
31893190
"gtceu.multiblock.distillation_tower.description": "The Distillation Tower is a multiblock structure used for distilling the various types of Oil and some of their byproducts. Each layer must have exactly one output hatch, starting from the second one. The bottom layer can output items and insert fluids in any position.",
31903191
"gtceu.multiblock.distillation_tower.distilling_fluid": "Distilling %s",
31913192
"gtceu.multiblock.electric_blast_furnace.description": "The Electric Blast Furnace (EBF) is a multiblock structure used for smelting alloys, cooking metals and refining ores. It is required for obtaining high-tier alloys and metals, such as aluminium, stainless steel, titanium, and naquadah alloy.",

src/main/java/com/gregtechceu/gtceu/api/block/MetaMachineBlock.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import com.gregtechceu.gtceu.api.machine.IMachineBlockEntity;
99
import com.gregtechceu.gtceu.api.machine.MachineDefinition;
1010
import com.gregtechceu.gtceu.api.machine.MetaMachine;
11+
import com.gregtechceu.gtceu.api.machine.MultiblockMachineDefinition;
1112
import com.gregtechceu.gtceu.api.machine.feature.*;
1213
import com.gregtechceu.gtceu.common.data.GTItems;
1314
import com.gregtechceu.gtceu.common.machine.owner.MachineOwner;
@@ -202,6 +203,17 @@ public void appendHoverText(ItemStack stack, @Nullable BlockGetter level, List<C
202203
definition.getTooltipBuilder().accept(stack, tooltip);
203204
String mainKey = String.format("%s.machine.%s.tooltip", definition.getId().getNamespace(),
204205
definition.getId().getPath());
206+
if (GTUtil.isShiftDown()) {
207+
if (definition instanceof MultiblockMachineDefinition multiblockDefinition) {
208+
var pattern = multiblockDefinition.getPatternFactory().get();
209+
if (pattern != null) {
210+
var aisleDims = pattern.getDimensions();
211+
assert aisleDims.length == 3;
212+
tooltip.add(Component.translatable("gtceu.multiblock.dimension", aisleDims[0], aisleDims[1],
213+
aisleDims[2]));
214+
}
215+
}
216+
}
205217
if (Language.getInstance().has(mainKey)) {
206218
tooltip.add(1, Component.translatable(mainKey));
207219
}

src/main/java/com/gregtechceu/gtceu/api/pattern/BlockPattern.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,11 @@ public boolean checkPatternAt(MultiblockState worldState, boolean savePredicate)
110110
return false;
111111
}
112112

113+
@Deprecated(forRemoval = true, since = "7.0")
114+
public int[] getDimensions() {
115+
return new int[] { fingerLength, thumbLength, palmLength };
116+
}
117+
113118
public boolean checkPatternAt(MultiblockState worldState, BlockPos centerPos, Direction frontFacing,
114119
Direction upwardsFacing, boolean isFlipped, boolean savePredicate) {
115120
boolean findFirstAisle = false;

src/main/java/com/gregtechceu/gtceu/data/lang/LangHandler.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,8 @@ public static void init(RegistrateLangProvider provider) {
163163
provider.add("gtceu.medical_condition.antidote.description.effect_removed.all",
164164
"Removes all of current conditions' effects");
165165

166+
provider.add("gtceu.multiblock.dimension", "§eDimensions: §r%sx%sx%s");
167+
166168
provider.add("item.gtceu.tool.replace_tool_head", "Craft with a new Tool Head to replace it");
167169
provider.add("item.gtceu.tool.usable_as", "§8Usable as: §f%s");
168170
provider.add("item.gtceu.tool.behavior.silk_ice", "§bIce Cutter: §fSilk Harvests Ice");

0 commit comments

Comments
 (0)