diff options
Diffstat (limited to 'src/main/java/gregtech/api/recipe/check')
7 files changed, 85 insertions, 24 deletions
diff --git a/src/main/java/gregtech/api/recipe/check/CheckRecipeResult.java b/src/main/java/gregtech/api/recipe/check/CheckRecipeResult.java index eeb01077de..8af5c58f5e 100644 --- a/src/main/java/gregtech/api/recipe/check/CheckRecipeResult.java +++ b/src/main/java/gregtech/api/recipe/check/CheckRecipeResult.java @@ -1,5 +1,7 @@ package gregtech.api.recipe.check; +import javax.annotation.Nonnull; + import net.minecraft.network.PacketBuffer; /** @@ -13,6 +15,7 @@ public interface CheckRecipeResult { /** * @return Unique registry ID */ + @Nonnull String getID(); /** @@ -23,17 +26,19 @@ public interface CheckRecipeResult { /** * @return Actual text to show on client GUI */ + @Nonnull String getDisplayString(); /** * Create new instance to receive packet. */ + @Nonnull CheckRecipeResult newInstance(); /** * Encode value to sync. */ - void encode(PacketBuffer buffer); + void encode(@Nonnull PacketBuffer buffer); /** * Decode synced value. diff --git a/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java b/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java index 4c089c7203..e141c39a67 100644 --- a/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java +++ b/src/main/java/gregtech/api/recipe/check/CheckRecipeResultRegistry.java @@ -3,6 +3,8 @@ package gregtech.api.recipe.check; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; + public final class CheckRecipeResultRegistry { private static final Map<String, CheckRecipeResult> registry = new HashMap<>(); @@ -39,14 +41,17 @@ public final class CheckRecipeResultRegistry { /** * Successfully found recipe. */ + @Nonnull public static final CheckRecipeResult SUCCESSFUL = SimpleCheckRecipeResult.ofSuccess("success"); /** * All requirements met to generator power. */ + @Nonnull public static final CheckRecipeResult GENERATING = SimpleCheckRecipeResult.ofSuccess("generating"); /** * Cannot find recipe. */ + @Nonnull public static final CheckRecipeResult NO_RECIPE = SimpleCheckRecipeResult.ofFailure("no_recipe"); /** * Cannot process recipe because item output is full. @@ -59,6 +64,7 @@ public final class CheckRecipeResultRegistry { /** * Default unknown state. */ + @Nonnull public static final CheckRecipeResult NONE = SimpleCheckRecipeResult.ofFailure("none"); /** * Code crashed. @@ -67,26 +73,32 @@ public final class CheckRecipeResultRegistry { /** * Cannot find valid fuel for generator. */ + @Nonnull public static final CheckRecipeResult NO_FUEL_FOUND = SimpleCheckRecipeResult.ofFailure("no_fuel"); /** * Cannot find valid turbine. */ + @Nonnull public static final CheckRecipeResult NO_TURBINE_FOUND = SimpleCheckRecipeResult.ofFailure("no_turbine"); /** * No data sticks found for Assembly Line. */ + @Nonnull public static final CheckRecipeResult NO_DATA_STICKS = SimpleCheckRecipeResult.ofFailure("no_data_sticks"); /** * EU/t overflowed. */ + @Nonnull public static final CheckRecipeResult POWER_OVERFLOW = SimpleCheckRecipeResult.ofFailure("power_overflow"); /** * Progress time overflowed. */ + @Nonnull public static final CheckRecipeResult DURATION_OVERFLOW = SimpleCheckRecipeResult.ofFailure("duration_overflow"); /** * Machine had an internal error */ + @Nonnull public static final CheckRecipeResult INTERNAL_ERROR = SimpleCheckRecipeResult.ofFailure("internal_error"); /** Multiblock ore drill has no drilling fluid */ public static final CheckRecipeResult NO_DRILLING_FLUID = SimpleCheckRecipeResult.ofFailure("no_drilling_fluid"); @@ -99,6 +111,7 @@ public final class CheckRecipeResultRegistry { /** * Cannot process recipe because the machine cannot handle required EUt. */ + @Nonnull public static CheckRecipeResult insufficientPower(long required) { return new ResultInsufficientPower(required); } @@ -106,6 +119,7 @@ public final class CheckRecipeResultRegistry { /** * Cannot process recipe because the machine cannot handle its heat. */ + @Nonnull public static CheckRecipeResult insufficientHeat(int required) { return new ResultInsufficientHeat(required); } @@ -113,6 +127,7 @@ public final class CheckRecipeResultRegistry { /** * Cannot process recipe because the machine is tiered and its tier is too low. */ + @Nonnull public static CheckRecipeResult insufficientMachineTier(int required) { return new ResultInsufficientMachineTier(required); } @@ -120,6 +135,7 @@ public final class CheckRecipeResultRegistry { /** * Cannot process recipe because the machine doesn't have enough startup power. */ + @Nonnull public static CheckRecipeResult insufficientStartupPower(int required) { return new ResultInsufficientStartupPower(required); } diff --git a/src/main/java/gregtech/api/recipe/check/ResultInsufficientHeat.java b/src/main/java/gregtech/api/recipe/check/ResultInsufficientHeat.java index 96c8955130..26c3530ba3 100644 --- a/src/main/java/gregtech/api/recipe/check/ResultInsufficientHeat.java +++ b/src/main/java/gregtech/api/recipe/check/ResultInsufficientHeat.java @@ -1,5 +1,9 @@ package gregtech.api.recipe.check; +import java.util.Objects; + +import javax.annotation.Nonnull; + import net.minecraft.network.PacketBuffer; import net.minecraft.util.StatCollector; @@ -15,6 +19,7 @@ public class ResultInsufficientHeat implements CheckRecipeResult { } @Override + @Nonnull public String getID() { return "insufficient_heat"; } @@ -25,25 +30,28 @@ public class ResultInsufficientHeat implements CheckRecipeResult { } @Override + @Nonnull public String getDisplayString() { - return StatCollector.translateToLocalFormatted( - "GT5U.gui.text.insufficient_heat", - GT_Utility.formatNumbers(required), - HeatingCoilLevel.getDisplayNameFromHeat(required, true)); + return Objects.requireNonNull( + StatCollector.translateToLocalFormatted( + "GT5U.gui.text.insufficient_heat", + GT_Utility.formatNumbers(required), + HeatingCoilLevel.getDisplayNameFromHeat(required, true))); } @Override + @Nonnull public CheckRecipeResult newInstance() { return new ResultInsufficientHeat(0); } @Override - public void encode(PacketBuffer buffer) { + public void encode(@Nonnull PacketBuffer buffer) { buffer.writeVarIntToBuffer(required); } @Override - public void decode(PacketBuffer buffer) { + public void decode(@Nonnull PacketBuffer buffer) { required = buffer.readVarIntFromBuffer(); } diff --git a/src/main/java/gregtech/api/recipe/check/ResultInsufficientMachineTier.java b/src/main/java/gregtech/api/recipe/check/ResultInsufficientMachineTier.java index 1e00e791d1..742eb3ef7a 100644 --- a/src/main/java/gregtech/api/recipe/check/ResultInsufficientMachineTier.java +++ b/src/main/java/gregtech/api/recipe/check/ResultInsufficientMachineTier.java @@ -1,5 +1,9 @@ package gregtech.api.recipe.check; +import java.util.Objects; + +import javax.annotation.Nonnull; + import net.minecraft.network.PacketBuffer; import net.minecraft.util.StatCollector; @@ -14,6 +18,7 @@ public class ResultInsufficientMachineTier implements CheckRecipeResult { } @Override + @Nonnull public String getID() { return "insufficient_machine_tier"; } @@ -24,23 +29,27 @@ public class ResultInsufficientMachineTier implements CheckRecipeResult { } @Override + @Nonnull public String getDisplayString() { - return StatCollector - .translateToLocalFormatted("GT5U.gui.text.insufficient_machine_tier", GT_Utility.formatNumbers(required)); + return Objects.requireNonNull( + StatCollector.translateToLocalFormatted( + "GT5U.gui.text.insufficient_machine_tier", + GT_Utility.formatNumbers(required))); } @Override + @Nonnull public CheckRecipeResult newInstance() { return new ResultInsufficientMachineTier(0); } @Override - public void encode(PacketBuffer buffer) { + public void encode(@Nonnull PacketBuffer buffer) { buffer.writeVarIntToBuffer(required); } @Override - public void decode(PacketBuffer buffer) { + public void decode(@Nonnull PacketBuffer buffer) { required = buffer.readVarIntFromBuffer(); } diff --git a/src/main/java/gregtech/api/recipe/check/ResultInsufficientPower.java b/src/main/java/gregtech/api/recipe/check/ResultInsufficientPower.java index ca6b31ccef..fdc06c0c07 100644 --- a/src/main/java/gregtech/api/recipe/check/ResultInsufficientPower.java +++ b/src/main/java/gregtech/api/recipe/check/ResultInsufficientPower.java @@ -1,5 +1,9 @@ package gregtech.api.recipe.check; +import java.util.Objects; + +import javax.annotation.Nonnull; + import net.minecraft.network.PacketBuffer; import net.minecraft.util.StatCollector; @@ -14,6 +18,7 @@ public class ResultInsufficientPower implements CheckRecipeResult { } @Override + @Nonnull public String getID() { return "insufficient_power"; } @@ -24,25 +29,28 @@ public class ResultInsufficientPower implements CheckRecipeResult { } @Override + @Nonnull public String getDisplayString() { - return StatCollector.translateToLocalFormatted( - "GT5U.gui.text.insufficient_power", - GT_Utility.formatNumbers(required), - GT_Utility.getColoredTierNameFromVoltage(required)); + return Objects.requireNonNull( + StatCollector.translateToLocalFormatted( + "GT5U.gui.text.insufficient_power", + GT_Utility.formatNumbers(required), + GT_Utility.getColoredTierNameFromVoltage(required))); } @Override + @Nonnull public CheckRecipeResult newInstance() { return new ResultInsufficientPower(0); } @Override - public void encode(PacketBuffer buffer) { + public void encode(@Nonnull PacketBuffer buffer) { buffer.writeLong(required); } @Override - public void decode(PacketBuffer buffer) { + public void decode(@Nonnull PacketBuffer buffer) { required = buffer.readLong(); } diff --git a/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java b/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java index 42b352563d..62d2dd1fb2 100644 --- a/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java +++ b/src/main/java/gregtech/api/recipe/check/ResultInsufficientStartupPower.java @@ -1,5 +1,9 @@ package gregtech.api.recipe.check; +import java.util.Objects; + +import javax.annotation.Nonnull; + import net.minecraft.network.PacketBuffer; import net.minecraft.util.StatCollector; @@ -14,6 +18,7 @@ public class ResultInsufficientStartupPower implements CheckRecipeResult { } @Override + @Nonnull public String getID() { return "insufficient_startup_power"; } @@ -24,23 +29,27 @@ public class ResultInsufficientStartupPower implements CheckRecipeResult { } @Override + @Nonnull public String getDisplayString() { - return StatCollector - .translateToLocalFormatted("GT5U.gui.text.insufficient_startup_power", GT_Utility.formatNumbers(required)); + return Objects.requireNonNull( + StatCollector.translateToLocalFormatted( + "GT5U.gui.text.insufficient_startup_power", + GT_Utility.formatNumbers(required))); } @Override + @Nonnull public CheckRecipeResult newInstance() { return new ResultInsufficientStartupPower(0); } @Override - public void encode(PacketBuffer buffer) { + public void encode(@Nonnull PacketBuffer buffer) { buffer.writeVarIntToBuffer(required); } @Override - public void decode(PacketBuffer buffer) { + public void decode(@Nonnull PacketBuffer buffer) { required = buffer.readVarIntFromBuffer(); } diff --git a/src/main/java/gregtech/api/recipe/check/SimpleCheckRecipeResult.java b/src/main/java/gregtech/api/recipe/check/SimpleCheckRecipeResult.java index ed4c95f880..58c85bbe9d 100644 --- a/src/main/java/gregtech/api/recipe/check/SimpleCheckRecipeResult.java +++ b/src/main/java/gregtech/api/recipe/check/SimpleCheckRecipeResult.java @@ -2,6 +2,8 @@ package gregtech.api.recipe.check; import java.util.Objects; +import javax.annotation.Nonnull; + import net.minecraft.network.PacketBuffer; import net.minecraft.util.StatCollector; @@ -33,24 +35,26 @@ public class SimpleCheckRecipeResult implements CheckRecipeResult { } @Override + @Nonnull public String getDisplayString() { - return StatCollector.translateToLocal("GT5U.gui.text." + key); + return Objects.requireNonNull(StatCollector.translateToLocal("GT5U.gui.text." + key)); } @Override + @Nonnull public CheckRecipeResult newInstance() { return new SimpleCheckRecipeResult(false, "", false); } @Override - public void encode(PacketBuffer buffer) { + public void encode(@Nonnull PacketBuffer buffer) { buffer.writeBoolean(success); NetworkUtils.writeStringSafe(buffer, key); buffer.writeBoolean(persistsOnShutdown); } @Override - public void decode(PacketBuffer buffer) { + public void decode(@Nonnull PacketBuffer buffer) { success = buffer.readBoolean(); key = NetworkUtils.readStringSafe(buffer); persistsOnShutdown = buffer.readBoolean(); @@ -74,6 +78,7 @@ public class SimpleCheckRecipeResult implements CheckRecipeResult { * Creates new result with successful state. Add your localized description with `GT5U.gui.text.{key}`. * This is already registered to registry. */ + @Nonnull public static CheckRecipeResult ofSuccess(String key) { return new SimpleCheckRecipeResult(true, key, false); } @@ -82,6 +87,7 @@ public class SimpleCheckRecipeResult implements CheckRecipeResult { * Creates new result with failed state. Add your localized description with `GT5U.gui.text.{key}`. * This is already registered to registry. */ + @Nonnull public static CheckRecipeResult ofFailure(String key) { return new SimpleCheckRecipeResult(false, key, false); } |