Skip to content

Commit

Permalink
Improve multiblock formation error messages for fission reactors #6663
Browse files Browse the repository at this point in the history
  • Loading branch information
pupnewfster committed Oct 28, 2020
1 parent d83f136 commit f63a67f
Show file tree
Hide file tree
Showing 6 changed files with 25 additions and 10 deletions.
Expand Up @@ -87,11 +87,12 @@
"fission.mekanismgenerators.heated_coolant_tank": "\u029Eu\u0250\u27D8 \u0287u\u0250\uA781oo\u0186 p\u01DD\u0287\u0250\u01DDH",
"fission.mekanismgenerators.heating_rate": "\u0287/\u15FA\u026F %s :\u01DD\u0287\u0250\u1D1A \u1D77u\u1D09\u0287\u0250\u01DDH",
"fission.mekanismgenerators.invalid_bad_control_rod": "\u02D9%s \u0287\u0250 \u028E\uA781q\u026F\u01DDss\u2C6F po\u1D1A \uA781o\u0279\u0287uo\u0186 \u0279o\u025F \u0287u\u01DD\u026F\u01DD\u0254\u0250\uA781d \u0279\u01DDdo\u0279d\u026F\u1D09 '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.invalid_bad_fuel_assembly": "\u02D9\u0287u\u01DDs\u01DD\u0279d \u01DD\u0279n\u0287\u0254n\u0279\u0287s \u028E\uA781q\u026F\u01DDss\u0250 \uA781\u01DDn\u025F p\u1D09\uA781\u0250\u028Cu\u1D09 '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.invalid_bad_fuel_assembly": "\u02D9%s \u0287\u0250 po\u0279 \uA781o\u0279\u0287uo\u0254 \u0279o\u025F \u028E\uA781q\u026F\u01DDss\u0250 \uA781\u01DDn\u025F \u1D77u\u1D09ss\u1D09\u026F '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.invalid_extra_control_rod": "\u02D9%s \u0287\u0250 \u028E\uA781q\u026F\u01DDss\u2C6F po\u1D1A \uA781o\u0279\u0287uo\u0186 \u0250\u0279\u0287x\u01DD puno\u025F '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.invalid_malformed_fuel_assembly": "\u02D9%s \u0287\u0250 \u0287u\u01DD\u026F\u01DD\u0254\u0250\uA781d \u028E\uA781q\u026F\u01DDss\u2C6F \uA781\u01DDn\u2132 uo\u1D09ss\u1D09\u2132 p\u1D09\uA781\u0250\u028Cu\u1D09 '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.invalid_missing_fuel_assembly": "\u02D9\u0287u\u01DDs\u01DD\u0279d s\u01DD\u0279n\u0287\u0254n\u0279\u0287s \u028E\uA781q\u026F\u01DDss\u0250 \uA781\u01DDn\u025F ou '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.max_burn_rate": "\u0287/\u15FA\u026F %s :\u01DD\u0287\u0250\u1D1A u\u0279n\u15FA x\u0250W",
"fission.mekanismgenerators.missing_control_rod": "\u02D9%s \u0287\u0250 \u028E\uA781q\u026F\u01DDss\u0250 \uA781\u01DDn\u025F \u0279o\u025F po\u0279 \uA781o\u0279\u0287uo\u0254 \u1D77u\u1D09ss\u1D09\u026F '\u026F\u0279o\u025F \u0287,up\uA781no\u0186",
"fission.mekanismgenerators.port_mode_change": "%s :o\u0287 p\u01DD\u1D77u\u0250\u0265\u0254 \u01DDpo\u026F \u0287\u0279o\u0500",
"fission.mekanismgenerators.port_mode_input": "\u028E\uA781uo \u0287ndu\u1D09",
"fission.mekanismgenerators.port_mode_output_coolant": "\u0287u\u0250\uA781oo\u0254 \u0287nd\u0287no",
Expand Down
Expand Up @@ -87,11 +87,12 @@
"fission.mekanismgenerators.heated_coolant_tank": "Heated Coolant Tank",
"fission.mekanismgenerators.heating_rate": "Heating Rate: %s mB/t",
"fission.mekanismgenerators.invalid_bad_control_rod": "Couldn't form, improper placement for Control Rod Assembly at %s.",
"fission.mekanismgenerators.invalid_bad_fuel_assembly": "Couldn't form, invalid fuel assembly structure present.",
"fission.mekanismgenerators.invalid_bad_fuel_assembly": "Couldn't form, missing fuel assembly for control rod at %s.",
"fission.mekanismgenerators.invalid_extra_control_rod": "Couldn't form, found extra Control Rod Assembly at %s.",
"fission.mekanismgenerators.invalid_malformed_fuel_assembly": "Couldn't form, invalid Fission Fuel Assembly placement at %s.",
"fission.mekanismgenerators.invalid_missing_fuel_assembly": "Couldn't form, no fuel assembly structures present.",
"fission.mekanismgenerators.max_burn_rate": "Max Burn Rate: %s mB/t",
"fission.mekanismgenerators.missing_control_rod": "Couldn't form, missing control rod for fuel assembly at %s.",
"fission.mekanismgenerators.port_mode_change": "Port mode changed to: %s",
"fission.mekanismgenerators.port_mode_input": "input only",
"fission.mekanismgenerators.port_mode_output_coolant": "output coolant",
Expand Down
Expand Up @@ -156,7 +156,8 @@ private void addMisc() {
add(GeneratorsLang.TURBINE_VENTS, "Vents: %s %s");
//Fission Reactor
add(GeneratorsLang.FISSION_INVALID_BAD_CONTROL_ROD, "Couldn't form, improper placement for Control Rod Assembly at %s.");
add(GeneratorsLang.FISSION_INVALID_BAD_FUEL_ASSEMBLY, "Couldn't form, invalid fuel assembly structure present.");
add(GeneratorsLang.FISSION_INVALID_MISSING_CONTROL_ROD, "Couldn't form, missing control rod for fuel assembly at %s.");
add(GeneratorsLang.FISSION_INVALID_BAD_FUEL_ASSEMBLY, "Couldn't form, missing fuel assembly for control rod at %s.");
add(GeneratorsLang.FISSION_INVALID_EXTRA_CONTROL_ROD, "Couldn't form, found extra Control Rod Assembly at %s.");
add(GeneratorsLang.FISSION_INVALID_MALFORMED_FUEL_ASSEMBLY, "Couldn't form, invalid Fission Fuel Assembly placement at %s.");
add(GeneratorsLang.FISSION_INVALID_MISSING_FUEL_ASSEMBLY, "Couldn't form, no fuel assembly structures present.");
Expand Down
Expand Up @@ -77,6 +77,7 @@ public enum GeneratorsLang implements ILangEntry {
TURBINE_PRODUCTION("turbine", "stats.production"),

FISSION_INVALID_BAD_CONTROL_ROD("fission", "invalid_bad_control_rod"),
FISSION_INVALID_MISSING_CONTROL_ROD("fission", "missing_control_rod"),
FISSION_INVALID_BAD_FUEL_ASSEMBLY("fission", "invalid_bad_fuel_assembly"),
FISSION_INVALID_EXTRA_CONTROL_ROD("fission", "invalid_extra_control_rod"),
FISSION_INVALID_MALFORMED_FUEL_ASSEMBLY("fission", "invalid_malformed_fuel_assembly"),
Expand Down
Expand Up @@ -5,10 +5,13 @@
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
import java.util.SortedSet;
import java.util.TreeSet;
import mekanism.api.NBTConstants;
import mekanism.api.text.EnumColor;
import mekanism.common.MekanismLang;
import mekanism.common.content.blocktype.BlockType;
import mekanism.common.lib.multiblock.CuboidStructureValidator;
import mekanism.common.lib.multiblock.FormationProtocol.CasingType;
Expand Down Expand Up @@ -95,8 +98,9 @@ public FormationResult postcheck(FissionReactorMultiblockData structure, Set<Blo
return FormationResult.fail(GeneratorsLang.FISSION_INVALID_MISSING_FUEL_ASSEMBLY);
}

for (FuelAssembly assembly : map.values()) {
FormationResult result = assembly.validate();
for (Entry<AssemblyPos, FuelAssembly> entry : map.entrySet()) {
FuelAssembly assembly = entry.getValue();
FormationResult result = assembly.validate(entry.getKey());
if (!result.isFormed()) {
return result;
}
Expand All @@ -122,9 +126,12 @@ public FuelAssembly(BlockPos start, boolean isControlRod) {
}
}

public FormationResult validate() {
if (fuelAssemblies.isEmpty() || controlRodAssembly == null) {
return FormationResult.fail(GeneratorsLang.FISSION_INVALID_BAD_FUEL_ASSEMBLY);
public FormationResult validate(AssemblyPos assemblyPos) {
if (controlRodAssembly == null) {
return FormationResult.fail(GeneratorsLang.FISSION_INVALID_MISSING_CONTROL_ROD.translateColored(EnumColor.GRAY, EnumColor.INDIGO,
MekanismLang.GENERIC_PARENTHESIS.translate(MekanismLang.GENERIC_WITH_COMMA.translate(assemblyPos.x, assemblyPos.z))));
} else if (fuelAssemblies.isEmpty()) {
return FormationResult.fail(GeneratorsLang.FISSION_INVALID_BAD_FUEL_ASSEMBLY, controlRodAssembly);
}
int prevY = -1;
for (BlockPos coord : fuelAssemblies) {
Expand Down
Expand Up @@ -151,11 +151,15 @@ private FormationResult(boolean formed, ITextComponent resultText) {
}

public static FormationResult fail(ILangEntry text, BlockPos pos) {
return new FormationResult(false, text.translateColored(EnumColor.GRAY, EnumColor.INDIGO, text(pos)));
return fail(text.translateColored(EnumColor.GRAY, EnumColor.INDIGO, text(pos)));
}

public static FormationResult fail(ILangEntry text) {
return new FormationResult(false, text.translateColored(EnumColor.GRAY));
return fail(text.translateColored(EnumColor.GRAY));
}

public static FormationResult fail(ITextComponent text) {
return new FormationResult(false, text);
}

public boolean isFormed() {
Expand Down

0 comments on commit f63a67f

Please sign in to comment.