Skip to content

Commit

Permalink
Added Water Pump (GTNewHorizons#2694)
Browse files Browse the repository at this point in the history
* Add Water Pump

* Added check humidity

* Apply spotless

* Added tier 2 WaterPump

* Added new textures and Fixed the display in nei

* Optimizing imports

* Fix tooltip

* Added craft for Output hatch ULV, Wooden Casing, Water Pump

* Apply spotless

* sa+update deps

* Delete the sky check method

* sa

* Rewrote WaterPump to SteamMultiBase.

* Added a steam hatch to the structure and changed the tooltip

* Spotless apply

* Changed VoidProtection and calculate water generation

* Remove star imports

* Rename Wooden Casing to Primitive Wooden Casing

* Remove enableMultiblock_WaterPump

* Rename static variables

* Change variables and tooltip

* Sa

---------

Co-authored-by: Dream Master <[email protected]>
  • Loading branch information
evgengoldwar and Dream-Master committed Jul 19, 2024
1 parent 075a3c6 commit 66e3d35
Show file tree
Hide file tree
Showing 22 changed files with 430 additions and 96 deletions.
3 changes: 3 additions & 0 deletions dependencies.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ dependencies {
compileOnly("TGregworks:TGregworks:1.7.10-GTNH-1.0.26:deobf") {transitive = false}
compileOnly("com.github.GTNewHorizons:ThaumicBases:1.7.4:dev") { transitive = false }
compileOnly("com.github.GTNewHorizons:EnderCore:0.4.6:dev") { transitive = false }
implementation("com.github.GTNewHorizons:Galacticraft:3.1.5-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.4-GTNH:dev")
compileOnly("com.github.GTNewHorizons:Chisel:2.15.0-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:Galacticraft:3.1.7-GTNH:dev") { transitive = false }
implementation("com.github.GTNewHorizons:TinkersConstruct:1.12.5-GTNH:dev")
compileOnly("com.github.GTNewHorizons:Chisel:2.15.1-GTNH:dev") { transitive = false }
Expand Down
10 changes: 10 additions & 0 deletions src/main/java/gregtech/api/enums/GT_Values.java
Original file line number Diff line number Diff line change
Expand Up @@ -656,6 +656,16 @@ public static final class NBT {
+ EnumChatFormatting.LIGHT_PURPLE
+ "ps";

public static final String AuthorEvgenWarGold = "" + EnumChatFormatting.RED
+ EnumChatFormatting.BOLD
+ "Evgen"
+ EnumChatFormatting.BLUE
+ EnumChatFormatting.BOLD
+ "War"
+ EnumChatFormatting.GOLD
+ EnumChatFormatting.BOLD
+ "Gold";

// 7.5F comes from GT_Tool_Turbine_Large#getBaseDamage() given huge turbines are the most efficient now.
public static double getMaxPlasmaTurbineEfficiencyFromMaterial(Materials material) {
return (5F + (7.5F + material.mToolQuality)) / 10.0;
Expand Down
1 change: 1 addition & 0 deletions src/main/java/gregtech/api/enums/ItemList.java
Original file line number Diff line number Diff line change
Expand Up @@ -852,6 +852,7 @@ public enum ItemList implements IItemContainer {
Casing_Grate,
Casing_Vent,
Casing_Vent_T2,
WoodenCasing,
Casing_RadiationProof,
Casing_AdvancedRadiationProof,
Casing_Firebox_Bronze,
Expand Down
5 changes: 5 additions & 0 deletions src/main/java/gregtech/api/enums/Textures.java
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,9 @@ public enum BlockIcons implements IIconContainer, Runnable {
MACHINE_CASING_FUSION,
MACHINE_CASING_FUSION_GLASS,
MACHINE_CASING_FUSION_GLASS_YELLOW,
TEXTURE_METAL_PANEL_E,
TEXTURE_METAL_PANEL_E_A,

MACHINE_CASING_FUSION_GLASS_YELLOW_GLOW,
MACHINE_CASING_FUSION_2,

Expand Down Expand Up @@ -653,6 +656,8 @@ public enum BlockIcons implements IIconContainer, Runnable {
OVERLAY_FRONT_STEAM_MACERATOR_ACTIVE_GLOW,
OVERLAY_FRONT_STEAM_WASHER,
OVERLAY_FRONT_STEAM_WASHER_ACTIVE,
OVERLAY_FRONT_WATER_PUMP,
OVERLAY_FRONT_WATER_PUMP_ACTIVE,
OVERLAY_FRONT_STEAM_CENTRIFUGE,
OVERLAY_FRONT_STEAM_CENTRIFUGE_ACTIVE,
OVERLAY_FRONT_STEAM_FORGE_HAMMER,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,6 +108,8 @@ public static boolean isRegistered(String id) {
public static final CheckRecipeResult BACKFILLER_NO_CONCRETE = SimpleCheckRecipeResult
.ofFailure("backfiller_no_concrete");

public static final CheckRecipeResult NO_SEE_SKY = SimpleCheckRecipeResult.ofFailure("no_see_sky");

/**
* Cannot process recipe because the machine cannot handle required EUt.
*/
Expand Down
6 changes: 5 additions & 1 deletion src/main/java/gregtech/common/blocks/GT_Block_Casings9.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,14 +16,16 @@
public class GT_Block_Casings9 extends GT_Block_Casings_Abstract {

public GT_Block_Casings9() {
super(GT_Item_Casings9.class, "gt.blockcasings9", GT_Material_Casings.INSTANCE, 2);
super(GT_Item_Casings9.class, "gt.blockcasings9", GT_Material_Casings.INSTANCE, 16);
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".0.name", "PBI Pipe Casing");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".1.name", "Advanced Filter Casing");
GT_LanguageManager
.addStringLocalization(getUnlocalizedName() + ".1.tooltip", "Less than five 0.1μm particles per m^3");
GT_LanguageManager.addStringLocalization(getUnlocalizedName() + ".2.name", "Primitive Wooden Casing");

ItemList.Casing_Pipe_Polybenzimidazole.set(new ItemStack(this, 1, 0));
ItemList.Casing_Vent_T2.set(new ItemStack(this, 1, 1));
ItemList.WoodenCasing.set(new ItemStack(this, 1, 2));
}

@Override
Expand All @@ -37,6 +39,8 @@ public IIcon getIcon(int ordinalSide, int aMeta) {
return switch (aMeta) {
case 0 -> Textures.BlockIcons.MACHINE_CASING_PIPE_POLYBENZIMIDAZOLE.getIcon();
case 1 -> Textures.BlockIcons.MACHINE_CASING_VENT_T2.getIcon();
case 2 -> ordinalSide >= 2 ? Textures.BlockIcons.TEXTURE_METAL_PANEL_E.getIcon()
: Textures.BlockIcons.TEXTURE_METAL_PANEL_E_A.getIcon();
default -> Textures.BlockIcons.MACHINE_CASING_ROBUST_TUNGSTENSTEEL.getIcon();
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ public GT_Cyclotron_Coils() {

@Override // Magic numbers...
public int getTextureIndex(int aMeta) {
return 192 + aMeta;
return 208 + aMeta;
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4940,6 +4940,16 @@ private static void registerShapedCraftingRecipes() {
bits,
new Object[] { "PSP", "SFS", "PSP", 'P', OrePrefixes.plate.get(Materials.Bronze), 'F',
OrePrefixes.frameGt.get(Materials.Bronze), 'S', OrePrefixes.stick.get(Materials.Bronze) });
GT_ModHandler.addCraftingRecipe(
ItemList.WoodenCasing.get(1L),
bits,
new Object[] { "PSP", "PFP", "PSP", 'F', OrePrefixes.gear.get(Materials.Wood), 'P',
OrePrefixes.frameGt.get(Materials.Wood), 'S', OrePrefixes.screw.get(Materials.Wood) });
GT_ModHandler.addCraftingRecipe(
ItemList.Hatch_Output_ULV.get(1L),
bits,
new Object[] { " S ", " F ", " P ", 'S', GT_OreDictUnificator.get(OrePrefixes.cell, Materials.Empty, 1),
'F', ItemList.Hull_ULV.get(1), 'P', ItemList.IC2_Resin.get(1) });
GT_ModHandler.addCraftingRecipe(
ItemList.Casing_Firebox_Steel.get(1L),
bits,
Expand Down
95 changes: 1 addition & 94 deletions src/main/java/gtPlusPlus/core/config/ConfigHandler.java
Original file line number Diff line number Diff line change
@@ -1,100 +1,7 @@
package gtPlusPlus.core.config;

import static gregtech.api.enums.Mods.GregTech;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.MACHINE_INFO;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.baseMaxPollutionPerSecondRocketFuelGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.baseMinPollutionPerSecondRocketFuelGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.basePollutionPerSecondBoiler;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.basePollutionPerSecondGeothermalGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.basePollutionPerSecondSemiFluidGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.boilerSteamPerSecond;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.disableIC2Recipes;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.dumpItemAndBlockData;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableAnimatedTextures;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustomCapes;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustom_Cables;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableCustom_Pipes;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_Dehydrators;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_FluidTanks;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_GeothermalEngines;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_Pollution;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_RocketEngines;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_SimpleWasher;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_SteamConverter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMachine_Tesseracts;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_AlloyBlastSmelter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_Cyclotron;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialCentrifuge;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialCokeOven;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialCuttingMachine;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialElectrolyzer;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialExtrudingMachine;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialFishingPort;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialMacerationStack;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialMultiMachine;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialPlatePress;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialSifter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialThermalCentrifuge;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialWashPlant;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_IndustrialWireMill;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_LargeAutoCrafter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_LiquidFluorideThoriumReactor;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_MatterFabricator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_MultiTank;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_NuclearFuelRefinery;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_NuclearSaltProcessingPlant;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_PowerSubstation;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableMultiblock_ThermalBoiler;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableThaumcraftShardUnification;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.enableWatchdogBGM;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.hideUniversalCells;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiABS;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDT;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvDistillationTower_ModeDistillery;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvEBF;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAdvImplosion;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAlgaePond;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiAutoCrafter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiCyclotron;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiFrothFlotationCell;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialAlloySmelter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialArcFurnace;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCentrifuge;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialChisel;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCokeOven;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialCuttingMachine;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialDehydrator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialElectrolyzer;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialExtruder;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialFishingPond;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialForgeHammer;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMacerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMixer;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeFluid;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMetal;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialMultiMachine_ModeMisc;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeBending;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialPlatePress_ModeForming;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialRockBreaker;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialSifter;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialThermalCentrifuge;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialVacuumFreezer;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeChemBath;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWashPlant_ModeWasher;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIndustrialWireMill;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiIsaMill;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiLargeSemiFluidGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiMassFabricator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiMolecularTransformer;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiPackager;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiRefinery;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiThermalBoiler;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionPerSecondMultiTreeFarm;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierBoiler;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierGeothermalGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierRocketFuelGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.pollutionReleasedByTierSemiFluidGenerator;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.showHiddenNEIItems;
import static gtPlusPlus.core.lib.CORE.ConfigSwitches.*;
import static gtPlusPlus.core.lib.CORE.EVERGLADESBIOME_ID;
import static gtPlusPlus.core.lib.CORE.EVERGLADES_ID;
import static gtPlusPlus.core.lib.CORE.turbineCutoffBase;
Expand Down
2 changes: 2 additions & 0 deletions src/main/java/gtPlusPlus/core/handler/COMPAT_HANDLER.java
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,7 @@
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechThreadedBuffers;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechTieredFluidTanks;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechTreeFarmerTE;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechWaterPump;
import gtPlusPlus.xmod.gregtech.registration.gregtech.GregtechWirelessChargers;

public class COMPAT_HANDLER {
Expand Down Expand Up @@ -132,6 +133,7 @@ public static void registerGregtechMachines() {
GregtechIndustrialMacerator.run();
GregtechIndustrialWiremill.run();
GregtechIndustrialMassFabricator.run();
GregtechWaterPump.run();
GregtechIndustrialBlastSmelter.run();
GregtechQuantumForceTransformer.run();
GregtechPowerSubStation.run();
Expand Down
1 change: 1 addition & 0 deletions src/main/java/gtPlusPlus/core/lib/CORE.java
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,7 @@ public static class ConfigSwitches {
public static boolean enableMultiblock_IndustrialCentrifuge = true;
public static boolean enableMultiblock_IndustrialCokeOven = true;
public static boolean enableMultiblock_IndustrialElectrolyzer = true;
public static boolean enableMultiblock_WaterPump = true;
public static boolean enableMultiblock_IndustrialMacerationStack = true;
public static boolean enableMultiblock_IndustrialPlatePress = true;
public static boolean enableMultiblock_IndustrialWireMill = true;
Expand Down
14 changes: 14 additions & 0 deletions src/main/java/gtPlusPlus/core/recipe/RECIPES_Machines.java
Original file line number Diff line number Diff line change
Expand Up @@ -845,6 +845,20 @@ private static void runModRecipes() {
aBronzeBricks,
GregtechItemList.Controller_SteamWasherMulti.get(1));

ItemStack aWoodenCasing = ItemUtils.simpleMetaStack(GregTech_API.sBlockCasings9, 2, 1);
// WaterPump
RecipeUtils.addShapedGregtechRecipe(
"frameGtBronze",
"frameGtBronze",
"frameGtBronze",
"frameGtBronze",
"gearBronze",
"frameGtBronze",
aWoodenCasing,
aWoodenCasing,
aWoodenCasing,
GregtechItemList.WaterPump.get(1));

// Steam Centrifuge Multi
RecipeUtils.addShapedGregtechRecipe(
aBronzeBricks,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -408,6 +408,9 @@ public enum GregtechItemList implements GregtechItemContainer {
Casing_Vacuum_Furnace,
Controller_Vacuum_Furnace,

// Water pump
WaterPump,

// Large Rocket Engine
Casing_RocketEngine,
Controller_RocketEngine,
Expand Down
Loading

0 comments on commit 66e3d35

Please sign in to comment.