aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/main/java/gregtech/api/enums/SoundResource.java3
-rw-r--r--src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java12
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java270
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java189
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java190
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java280
-rw-r--r--src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWaterPump.java13
-rw-r--r--src/main/resources/assets/gregtech/sounds.json27
-rw-r--r--src/main/resources/assets/gregtech/sounds/SteamCentrifugeLoop.oggbin0 -> 505297 bytes
-rw-r--r--src/main/resources/assets/gregtech/sounds/SteamWasherLoop.oggbin0 -> 365117 bytes
-rw-r--r--src/main/resources/assets/gregtech/sounds/WaterPumpLoop.oggbin0 -> 345755 bytes
11 files changed, 604 insertions, 380 deletions
diff --git a/src/main/java/gregtech/api/enums/SoundResource.java b/src/main/java/gregtech/api/enums/SoundResource.java
index 23887aebbf..54a2162541 100644
--- a/src/main/java/gregtech/api/enums/SoundResource.java
+++ b/src/main/java/gregtech/api/enums/SoundResource.java
@@ -59,6 +59,9 @@ public enum SoundResource {
GT_MACHINES_FUSION_LOOP(230, GregTech.ID, "machines.FusionLoop"),
GT_MACHINES_DISTILLERY_LOOP(231, GregTech.ID, "machines.DistilleryLoop"),
GT_MACHINES_PLASMAFORGE_LOOP(232, GregTech.ID, "machines.PlasmaForgeLoop"),
+ GT_MACHINES_STEAM_WASHER_LOOP(233, GregTech.ID, "machines.SteamWasherLoop"),
+ GT_MACHINES_WATER_PUMP_LOOP(234, GregTech.ID, "machines.WaterPumpLoop"),
+ GT_MACHINES_STEAM_CENTRIFUGE_LOOP(235, GregTech.ID, "machines.SteamCentrifugeLoop"),
GUI_BUTTON_DOWN(-1, GregTech.ID, "gui.buttonDown"),
GUI_BUTTON_UP(-1, GregTech.ID, "gui.buttonUp"),
diff --git a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java
index a85a2d60c1..8094938f7b 100644
--- a/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java
+++ b/src/main/java/gregtech/loaders/load/GT_Loader_MetaTileEntities_Recipes.java
@@ -227,6 +227,7 @@ import static gregtech.api.enums.Mods.IndustrialCraft2;
import static gregtech.api.enums.Mods.NotEnoughItems;
import static gregtech.api.enums.Mods.Thaumcraft;
import static gregtech.api.recipe.RecipeMaps.assemblerRecipes;
+import static gregtech.api.util.GT_ModHandler.getModItem;
import static gregtech.api.util.GT_RecipeBuilder.SECONDS;
import net.minecraft.init.Blocks;
@@ -4948,8 +4949,15 @@ public class GT_Loader_MetaTileEntities_Recipes implements Runnable {
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) });
+ new Object[] { "ASA", "AFA", "APA", 'S', getModItem(BuildCraftFactory.ID, "tankBlock", 1), 'F',
+ ItemList.Hull_ULV.get(1), "A", OrePrefixes.plate.get(Materials.Rubber), 'P',
+ OrePrefixes.ring.get(Materials.Rubber) });
+ GT_ModHandler.addCraftingRecipe(
+ ItemList.Hatch_Input_ULV.get(1L),
+ bits,
+ new Object[] { "ASA", "AFA", "APA", 'S', getModItem(BuildCraftFactory.ID, "tankBlock", 1), 'F',
+ ItemList.Hull_ULV.get(1), "A", OrePrefixes.plate.get(Materials.Rubber), 'P',
+ OrePrefixes.gear.get(Materials.Rubber) });
GT_ModHandler.addCraftingRecipe(
ItemList.Casing_Firebox_Steel.get(1L),
bits,
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java
index f4637fdd39..fb9a81dca2 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCentrifuge.java
@@ -2,6 +2,8 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.s
import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
import static gregtech.api.GregTech_API.*;
+import static gregtech.api.enums.GT_HatchElement.OutputHatch;
+import static gregtech.api.enums.GT_Values.AuthorEvgenWarGold;
import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
import java.util.ArrayList;
@@ -16,6 +18,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@@ -29,7 +32,10 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -72,13 +78,18 @@ public class GregtechMetaTileEntity_SteamCentrifuge
private static final String STRUCTUR_PIECE_MAIN = "main";
private IStructureDefinition<GregtechMetaTileEntity_SteamCentrifuge> STRUCTURE_DEFINITION = null;
- private final String[][] shape = new String[][] { { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " },
- { " ", " ABA ", " BDB ", " ABA ", " " }, { " A ", " ACA ", "ACDCA", " ACA ", " A " },
- { " A~A ", "AABAA", "ABDBA", "AABAA", " AAA " }, { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " } };
-
- private static final int horizontalOffSet = 2;
- private static final int verticalOffSet = 3;
- private static final int depthOffSet = 0;
+ // spotless:off
+ private final String[][] shape = new String[][] {
+ { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " },
+ { " ", " ABA ", " BDB ", " ABA ", " " },
+ { " A ", " ACA ", "ACDCA", " ACA ", " A " },
+ { " A~A ", "AABAA", "ABDBA", "AABAA", " AAA " },
+ { " AAA ", "AAAAA", "AAAAA", "AAAAA", " AAA " } };
+ //spotless:on
+
+ private static final int HORIZONTAL_OFF_SET = 2;
+ private static final int VERTICAL_OFF_SET = 3;
+ private static final int DEPTH_OFF_SET = 0;
private int tierGearBoxCasing = -1;
private int tierPipeCasing = -1;
@@ -89,8 +100,6 @@ public class GregtechMetaTileEntity_SteamCentrifuge
private int tierMachine = 1;
- private String tMachineCasing = "Solid Bronze or Steel Machine Casing";
-
public int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) {
tCountCasing++;
@@ -103,24 +112,18 @@ public class GregtechMetaTileEntity_SteamCentrifuge
return 0;
}
- private String tFireBoxCasing = "Bronze or Steel Firebox Casing";
-
public static int getTierFireBoxCasing(Block block, int meta) {
if (block == sBlockCasings3 && 13 == meta) return 1;
if (block == sBlockCasings3 && 14 == meta) return 2;
return 0;
}
- private String tGearBoxCasing = "Bronze or Steel Gear Box Casing";
-
public static int getTierGearBoxCasing(Block block, int meta) {
if (block == sBlockCasings2 && 2 == meta) return 1;
if (block == sBlockCasings2 && 3 == meta) return 2;
return 0;
}
- private String tPipeCasing = "Bronze or Steel Pipe Casing";
-
public static int getTierPipeCasing(Block block, int meta) {
if (block == sBlockCasings2 && 12 == meta) return 1;
if (block == sBlockCasings2 && 13 == meta) return 2;
@@ -131,94 +134,43 @@ public class GregtechMetaTileEntity_SteamCentrifuge
for (GT_MetaTileEntity_Hatch h : mSteamInputs) h.updateTexture(getCasingTextureID());
for (GT_MetaTileEntity_Hatch h : mSteamOutputs) h.updateTexture(getCasingTextureID());
for (GT_MetaTileEntity_Hatch h : mSteamInputFluids) h.updateTexture(getCasingTextureID());
+ for (GT_MetaTileEntity_Hatch h : mOutputHatches) h.updateTexture(getCasingTextureID());
}
- protected static String getNickname() {
- return "EvgenWarGold";
- }
-
- @Override
- public void saveNBTData(NBTTagCompound aNBT) {
- super.saveNBTData(aNBT);
- aNBT.setInteger("tierMachine", tierMachine);
+ private int getCasingTextureID() {
+ if (tierGearBoxCasing == 2 || tierPipeCasing == 2 || tierFireBoxCasing == 2 || tierMachineCasing == 2)
+ return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
+ return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
}
@Override
- public void loadNBTData(final NBTTagCompound aNBT) {
- super.loadNBTData(aNBT);
- tierMachine = aNBT.getInteger("tierMachine");
+ public void onValueUpdate(byte aValue) {
+ tierMachineCasing = aValue;
}
@Override
- public String[] getInfoData() {
- ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
- info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
- info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
- return info.toArray(new String[0]);
+ public byte getUpdateData() {
+ return (byte) tierMachineCasing;
}
@Override
- public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
- IWailaConfigHandler config) {
- super.getWailaBody(itemStack, currenttip, accessor, config);
- NBTTagCompound tag = accessor.getNBTData();
-
- currenttip.add(
- StatCollector.translateToLocal("GTPP.machines.tier") + ": "
- + EnumChatFormatting.YELLOW
- + tag.getInteger("tierMachine")
- + EnumChatFormatting.RESET);
- currenttip.add(
- StatCollector.translateToLocal("GT5U.multiblock.curparallelism") + ": "
- + EnumChatFormatting.BLUE
- + tag.getInteger("parallel")
- + EnumChatFormatting.RESET);
+ protected GT_RenderedTexture getFrontOverlay() {
+ return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_CENTRIFUGE);
}
@Override
- public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
- int z) {
- super.getWailaNBTData(player, tile, tag, world, x, y, z);
- tag.setInteger("tierMachine", tierMachine);
- tag.setInteger("parallel", getMaxParallelRecipes());
+ protected GT_RenderedTexture getFrontOverlayActive() {
+ return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_CENTRIFUGE_ACTIVE);
}
@Override
- public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
- tierGearBoxCasing = -1;
- tierPipeCasing = -1;
- tierFireBoxCasing = -1;
- tierMachineCasing = -1;
- tCountCasing = 0;
- if (!checkPiece(STRUCTUR_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) return false;
- if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierFireBoxCasing < 0 && tierMachineCasing < 0) return false;
- if (tierGearBoxCasing == 1 && tierPipeCasing == 1
- && tierFireBoxCasing == 1
- && tierMachineCasing == 1
- && tCountCasing > 60) {
- updateHatchTexture();
- tierMachine = 1;
- return true;
- }
- if (tierGearBoxCasing == 2 && tierPipeCasing == 2
- && tierFireBoxCasing == 2
- && tierMachineCasing == 2
- && tCountCasing > 60) {
- updateHatchTexture();
- tierMachine = 2;
- return true;
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
+ final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (side == facing) {
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
+ aActive ? getFrontOverlayActive() : getFrontOverlay() };
}
- return false;
- }
-
- @Override
- public void onValueUpdate(byte aValue) {
- tierMachineCasing = aValue;
- }
-
- @Override
- public byte getUpdateData() {
- return (byte) tierMachineCasing;
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
}
@Override
@@ -259,7 +211,7 @@ public class GregtechMetaTileEntity_SteamCentrifuge
.dot(1)
.build(),
buildHatchAdder(GregtechMetaTileEntity_SteamCentrifuge.class)
- .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam)
+ .atLeast(SteamHatchElement.InputBus_Steam, SteamHatchElement.OutputBus_Steam, OutputHatch)
.casingIndex(10)
.dot(1)
.buildAndChain(),
@@ -277,7 +229,7 @@ public class GregtechMetaTileEntity_SteamCentrifuge
@Override
public void construct(ItemStack stackSize, boolean hintsOnly) {
- this.buildPiece(STRUCTUR_PIECE_MAIN, stackSize, hintsOnly, horizontalOffSet, verticalOffSet, depthOffSet);
+ this.buildPiece(STRUCTUR_PIECE_MAIN, stackSize, hintsOnly, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET);
}
@Override
@@ -286,9 +238,9 @@ public class GregtechMetaTileEntity_SteamCentrifuge
return this.survivialBuildPiece(
STRUCTUR_PIECE_MAIN,
stackSize,
- horizontalOffSet,
- verticalOffSet,
- depthOffSet,
+ HORIZONTAL_OFF_SET,
+ VERTICAL_OFF_SET,
+ DEPTH_OFF_SET,
elementBudget,
env,
false,
@@ -296,29 +248,39 @@ public class GregtechMetaTileEntity_SteamCentrifuge
}
@Override
- protected GT_RenderedTexture getFrontOverlay() {
- return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_CENTRIFUGE);
- }
-
- @Override
- protected GT_RenderedTexture getFrontOverlayActive() {
- return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_CENTRIFUGE_ACTIVE);
- }
-
- @Override
- public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
- final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
- if (side == facing) {
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
- aActive ? getFrontOverlayActive() : getFrontOverlay() };
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ tierGearBoxCasing = -1;
+ tierPipeCasing = -1;
+ tierFireBoxCasing = -1;
+ tierMachineCasing = -1;
+ tCountCasing = 0;
+ if (!checkPiece(STRUCTUR_PIECE_MAIN, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET)) return false;
+ if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierFireBoxCasing < 0 && tierMachineCasing < 0) return false;
+ if (tierGearBoxCasing == 1 && tierPipeCasing == 1
+ && tierFireBoxCasing == 1
+ && tierMachineCasing == 1
+ && tCountCasing > 60
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()
+ && !mOutputHatches.isEmpty()) {
+ updateHatchTexture();
+ tierMachine = 1;
+ return true;
}
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
- }
-
- private int getCasingTextureID() {
- if (tierGearBoxCasing == 2 || tierPipeCasing == 2 || tierFireBoxCasing == 2 || tierMachineCasing == 2)
- return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
- return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
+ if (tierGearBoxCasing == 2 && tierPipeCasing == 2
+ && tierFireBoxCasing == 2
+ && tierMachineCasing == 2
+ && tCountCasing > 60
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()
+ && !mOutputHatches.isEmpty()) {
+ updateHatchTexture();
+ tierMachine = 2;
+ return true;
+ }
+ return false;
}
@Override
@@ -357,15 +319,83 @@ public class GregtechMetaTileEntity_SteamCentrifuge
.addInfo("Centrifuges up to 8 x Tier things at a time.")
.addSeparator()
.beginStructureBlock(5, 5, 5, false)
- .addCasingInfoMin(tMachineCasing, 60, false)
- .addCasingInfo(tFireBoxCasing, 3)
- .addCasingInfo(tGearBoxCasing, 8)
- .addCasingInfo(tPipeCasing, 4)
- .addOtherStructurePart(TT_steaminputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamhatch, "Any casing", 1)
- .toolTipFinisher(getNickname());
+ .addInputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addOutputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addOutputHatch(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addStructureInfo(
+ EnumChatFormatting.WHITE + "Steam Input Hatch "
+ + EnumChatFormatting.GOLD
+ + "1"
+ + EnumChatFormatting.GRAY
+ + " Any casing")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 1)
+ .addStructureInfo(EnumChatFormatting.GOLD + "60-65x" + EnumChatFormatting.GRAY + " Bronze Plated Bricks")
+ .addStructureInfo(EnumChatFormatting.GOLD + "8x" + EnumChatFormatting.GRAY + " Bronze Gear Box Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "3x" + EnumChatFormatting.GRAY + " Bronze Firebox Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "4x" + EnumChatFormatting.GRAY + " Bronze Pipe Casing")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 2)
+ .addStructureInfo(
+ EnumChatFormatting.GOLD + "60-65x" + EnumChatFormatting.GRAY + " Solid Steel Machine Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "8x" + EnumChatFormatting.GRAY + " Steel Gear Box Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "3x" + EnumChatFormatting.GRAY + " Steel Firebox Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "4x" + EnumChatFormatting.GRAY + " Steel Pipe Casing")
+ .addStructureInfo("")
+ .toolTipFinisher(AuthorEvgenWarGold);
return tt;
}
+ @Override
+ public String[] getInfoData() {
+ ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
+ info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
+ info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
+ return info.toArray(new String[0]);
+ }
+
+ @Override
+ public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
+ IWailaConfigHandler config) {
+ super.getWailaBody(itemStack, currenttip, accessor, config);
+ NBTTagCompound tag = accessor.getNBTData();
+
+ currenttip.add(
+ StatCollector.translateToLocal("GTPP.machines.tier") + ": "
+ + EnumChatFormatting.YELLOW
+ + tag.getInteger("tierMachine")
+ + EnumChatFormatting.RESET);
+ currenttip.add(
+ StatCollector.translateToLocal("GT5U.multiblock.curparallelism") + ": "
+ + EnumChatFormatting.BLUE
+ + tag.getInteger("parallel")
+ + EnumChatFormatting.RESET);
+ }
+
+ @Override
+ public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
+ int z) {
+ super.getWailaNBTData(player, tile, tag, world, x, y, z);
+ tag.setInteger("tierMachine", tierMachine);
+ tag.setInteger("parallel", getMaxParallelRecipes());
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setInteger("tierMachine", tierMachine);
+ }
+
+ @Override
+ public void loadNBTData(final NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ tierMachine = aNBT.getInteger("tierMachine");
+ }
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ protected ResourceLocation getActivitySoundLoop() {
+ return SoundResource.GT_MACHINES_STEAM_CENTRIFUGE_LOOP.resourceLocation;
+ }
+
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java
index 544df5821e..cd09c9597e 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamCompressor.java
@@ -19,6 +19,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@@ -32,7 +33,10 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -55,11 +59,41 @@ import mcp.mobius.waila.api.IWailaDataAccessor;
public class GregtechMetaTileEntity_SteamCompressor
extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamCompressor> implements ISurvivalConstructable {
- private String mCasingName = "Bronze or Steel Plated Bricks";
+ public GregtechMetaTileEntity_SteamCompressor(String aName) {
+ super(aName);
+ }
+
+ public GregtechMetaTileEntity_SteamCompressor(int aID, String aName, String aNameRegional) {
+ super(aID, aName, aNameRegional);
+ }
+
+ @Override
+ public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) {
+ return new GregtechMetaTileEntity_SteamCompressor(this.mName);
+ }
+
+ @Override
+ public String getMachineType() {
+ return "Compressor";
+ }
+
+ private static final String STRUCTUR_PIECE_MAIN = "main";
- private int mCountCasing = 0;
private IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> STRUCTURE_DEFINITION = null;
+ // spotless:off
+ private final String[][] shape = new String[][] {
+ { "CCC", "CCC", "CCC", "CCC" },
+ { "C~C", "C-C", "C-C", "CCC" },
+ { "CCC", "CCC", "CCC", "CCC" } };
+ //spotless:on
+
+ private static final int HORIZONTAL_OFF_SET = 1;
+ private static final int VERTICAL_OFF_SET = 1;
+ private static final int DEPTH_OFF_SET = 0;
+
+ private int mCountCasing = 0;
+
private int tierMachine = 1;
private int tierMachineCasing = -1;
@@ -76,17 +110,25 @@ public class GregtechMetaTileEntity_SteamCompressor
return 0;
}
- public GregtechMetaTileEntity_SteamCompressor(String aName) {
- super(aName);
+ protected void updateHatchTexture() {
+ for (GT_MetaTileEntity_Hatch h : mSteamInputs) h.updateTexture(getCasingTextureID());
+ for (GT_MetaTileEntity_Hatch h : mSteamOutputs) h.updateTexture(getCasingTextureID());
+ for (GT_MetaTileEntity_Hatch h : mSteamInputFluids) h.updateTexture(getCasingTextureID());
}
- public GregtechMetaTileEntity_SteamCompressor(int aID, String aName, String aNameRegional) {
- super(aID, aName, aNameRegional);
+ private int getCasingTextureID() {
+ if (tierMachineCasing == 2) return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
+ return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
}
@Override
- public IMetaTileEntity newMetaEntity(IGregTechTileEntity arg0) {
- return new GregtechMetaTileEntity_SteamCompressor(this.mName);
+ public void onValueUpdate(byte aValue) {
+ tierMachineCasing = aValue;
+ }
+
+ @Override
+ public byte getUpdateData() {
+ return (byte) tierMachineCasing;
}
@Override
@@ -100,38 +142,20 @@ public class GregtechMetaTileEntity_SteamCompressor
}
@Override
- public String getMachineType() {
- return "Compressor";
- }
-
- @Override
- protected GT_Multiblock_Tooltip_Builder createTooltip() {
- GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
- tt.addMachineType(getMachineType())
- .addInfo("Controller Block for the Steam Compressor")
- .addInfo("33.3% faster than using a single block Steam Compressor.")
- .addInfo("Uses only 66.6% of the steam/s compared to a single block Steam Compressor.")
- .addInfo("Compresses up to 8 x Tier things at a time.")
- .addSeparator()
- .beginStructureBlock(3, 3, 4, true)
- .addController("Front center")
- .addCasingInfoMin(mCasingName, 25, false)
- .addOtherStructurePart(TT_steaminputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamhatch, "Any casing", 1)
- .toolTipFinisher(CORE.GT_Tooltip_Builder.get());
- return tt;
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
+ final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (side == facing) {
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
+ aActive ? getFrontOverlayActive() : getFrontOverlay() };
+ }
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
}
@Override
public IStructureDefinition<GregtechMetaTileEntity_SteamCompressor> getStructureDefinition() {
if (STRUCTURE_DEFINITION == null) {
STRUCTURE_DEFINITION = StructureDefinition.<GregtechMetaTileEntity_SteamCompressor>builder()
- .addShape(
- mName,
- transpose(
- new String[][] { { "CCC", "CCC", "CCC", "CCC" }, { "C~C", "C-C", "C-C", "CCC" },
- { "CCC", "CCC", "CCC", "CCC" }, }))
+ .addShape(STRUCTUR_PIECE_MAIN, transpose(shape))
.addElement(
'C',
ofChain(
@@ -156,26 +180,41 @@ public class GregtechMetaTileEntity_SteamCompressor
@Override
public void construct(ItemStack stackSize, boolean hintsOnly) {
- buildPiece(mName, stackSize, hintsOnly, 1, 1, 0);
+ buildPiece(STRUCTUR_PIECE_MAIN, stackSize, hintsOnly, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET);
}
@Override
public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) {
- return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true);
+ return survivialBuildPiece(
+ STRUCTUR_PIECE_MAIN,
+ stackSize,
+ HORIZONTAL_OFF_SET,
+ VERTICAL_OFF_SET,
+ DEPTH_OFF_SET,
+ elementBudget,
+ env,
+ false,
+ true);
}
@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
mCountCasing = 0;
tierMachineCasing = -1;
- if (!checkPiece(mName, 1, 1, 0)) return false;
+ if (!checkPiece(STRUCTUR_PIECE_MAIN, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET)) return false;
if (tierMachineCasing < 0) return false;
- if (tierMachineCasing == 1 && mCountCasing > 25) {
+ if (tierMachineCasing == 1 && mCountCasing > 25
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()) {
updateHatchTexture();
tierMachine = 1;
return true;
}
- if (tierMachineCasing == 2 && mCountCasing > 25) {
+ if (tierMachineCasing == 2 && mCountCasing > 25
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()) {
updateHatchTexture();
tierMachine = 2;
return true;
@@ -185,27 +224,6 @@ public class GregtechMetaTileEntity_SteamCompressor
}
@Override
- public void onValueUpdate(byte aValue) {
- tierMachineCasing = aValue;
- }
-
- @Override
- public byte getUpdateData() {
- return (byte) tierMachineCasing;
- }
-
- protected void updateHatchTexture() {
- for (GT_MetaTileEntity_Hatch h : mSteamInputs) h.updateTexture(getCasingTextureID());
- for (GT_MetaTileEntity_Hatch h : mSteamOutputs) h.updateTexture(getCasingTextureID());
- for (GT_MetaTileEntity_Hatch h : mSteamInputFluids) h.updateTexture(getCasingTextureID());
- }
-
- private int getCasingTextureID() {
- if (tierMachineCasing == 2) return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
- return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
- }
-
- @Override
public int getMaxParallelRecipes() {
return tierMachine == 1 ? 8 : 16;
}
@@ -231,13 +249,41 @@ public class GregtechMetaTileEntity_SteamCompressor
}
@Override
- public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
- final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
- if (side == facing) {
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
- aActive ? getFrontOverlayActive() : getFrontOverlay() };
- }
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
+ protected GT_Multiblock_Tooltip_Builder createTooltip() {
+ GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
+ tt.addMachineType(getMachineType())
+ .addInfo("Controller Block for the Steam Compressor")
+ .addInfo("33.3% faster than using a single block Steam Compressor.")
+ .addInfo("Uses only 66.6% of the steam/s compared to a single block Steam Compressor.")
+ .addInfo("Compresses up to 8 x Tier things at a time.")
+ .addSeparator()
+ .beginStructureBlock(3, 3, 4, false)
+ .addInputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addOutputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addStructureInfo(
+ EnumChatFormatting.WHITE + "Steam Input Hatch "
+ + EnumChatFormatting.GOLD
+ + "1"
+ + EnumChatFormatting.GRAY
+ + " Any casing")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 1)
+ .addStructureInfo(EnumChatFormatting.GOLD + "25-30x" + EnumChatFormatting.GRAY + " Bronze Plated Bricks")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 2)
+ .addStructureInfo(
+ EnumChatFormatting.GOLD + "25-30x" + EnumChatFormatting.GRAY + " Solid Steel Machine Casing")
+ .addStructureInfo("")
+ .toolTipFinisher(CORE.GT_Tooltip_Builder.get());
+ return tt;
+ }
+
+ @Override
+ public String[] getInfoData() {
+ ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
+ info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
+ info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
+ return info.toArray(new String[0]);
}
@Override
@@ -278,11 +324,10 @@ public class GregtechMetaTileEntity_SteamCompressor
tierMachine = aNBT.getInteger("tierMachine");
}
+ @SideOnly(Side.CLIENT)
@Override
- public String[] getInfoData() {
- ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
- info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
- info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
- return info.toArray(new String[0]);
+ protected ResourceLocation getActivitySoundLoop() {
+ return SoundResource.IC2_MACHINES_COMPRESSOR_OP.resourceLocation;
}
+
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java
index b03c7b2a7a..02f24898a0 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamMacerator.java
@@ -19,6 +19,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@@ -32,8 +33,10 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTech_API;
-import gregtech.api.enums.ItemList;
+import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -56,15 +59,6 @@ import mcp.mobius.waila.api.IWailaDataAccessor;
public class GregtechMetaTileEntity_SteamMacerator
extends GregtechMeta_SteamMultiBase<GregtechMetaTileEntity_SteamMacerator> implements ISurvivalConstructable {
- private String mCasingName = "Bronze or Steel Plated Bricks";
-
- private int mCounCasing = 0;
- private IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null;
-
- private int tierMachine = 0;
-
- private int tierMachineCasing = -1;
-
public GregtechMetaTileEntity_SteamMacerator(String aName) {
super(aName);
}
@@ -78,6 +72,29 @@ public class GregtechMetaTileEntity_SteamMacerator
return new GregtechMetaTileEntity_SteamMacerator(this.mName);
}
+ @Override
+ public String getMachineType() {
+ return "Macerator";
+ }
+
+ private static final String STRUCTUR_PIECE_MAIN = "main";
+
+ private IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> STRUCTURE_DEFINITION = null;
+
+ private final String[][] shape = new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" },
+ { "CCC", "CCC", "CCC" } };
+ // spotless:on
+
+ private static final int HORIZONTAL_OFF_SET = 1;
+ private static final int VERTICAL_OFF_SET = 1;
+ private static final int DEPTH_OFF_SET = 0;
+
+ private int mCounCasing = 0;
+
+ private int tierMachine = 0;
+
+ private int tierMachineCasing = -1;
+
public int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) {
mCounCasing++;
@@ -90,6 +107,27 @@ public class GregtechMetaTileEntity_SteamMacerator
return 0;
}
+ protected void updateHatchTexture() {
+ for (GT_MetaTileEntity_Hatch h : mSteamInputs) h.updateTexture(getCasingTextureID());
+ for (GT_MetaTileEntity_Hatch h : mSteamOutputs) h.updateTexture(getCasingTextureID());
+ for (GT_MetaTileEntity_Hatch h : mSteamInputFluids) h.updateTexture(getCasingTextureID());
+ }
+
+ private int getCasingTextureID() {
+ if (tierMachineCasing == 2) return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
+ return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
+ }
+
+ @Override
+ public void onValueUpdate(byte aValue) {
+ tierMachineCasing = aValue;
+ }
+
+ @Override
+ public byte getUpdateData() {
+ return (byte) tierMachineCasing;
+ }
+
@Override
protected GT_RenderedTexture getFrontOverlay() {
return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_TOP_STEAM_MACERATOR);
@@ -101,41 +139,20 @@ public class GregtechMetaTileEntity_SteamMacerator
}
@Override
- public String getMachineType() {
- return "Macerator";
- }
-
- @Override
- protected GT_Multiblock_Tooltip_Builder createTooltip() {
- if (mCasingName.contains("gt.blockcasings")) {
- mCasingName = ItemList.Casing_BronzePlatedBricks.get(1)
- .getDisplayName();
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
+ final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (side == facing) {
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
+ aActive ? getFrontOverlayActive() : getFrontOverlay() };
}
- GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
- tt.addMachineType(getMachineType())
- .addInfo("Controller Block for the Steam Macerator")
- .addInfo("33.3% faster than using a single block Steam Macerator.")
- .addInfo("Uses only 66.6% of the steam/s required compared to a single block Steam Macerator on Tier 1.")
- .addInfo("Macerates up to 8 x Tier things at a time.")
- .addSeparator()
- .beginStructureBlock(3, 3, 3, true)
- .addController("Front center")
- .addCasingInfoMin(mCasingName, 14, false)
- .addOtherStructurePart(TT_steaminputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamhatch, "Any casing", 1)
- .toolTipFinisher(CORE.GT_Tooltip_Builder.get());
- return tt;
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
}
@Override
public IStructureDefinition<GregtechMetaTileEntity_SteamMacerator> getStructureDefinition() {
if (STRUCTURE_DEFINITION == null) {
STRUCTURE_DEFINITION = StructureDefinition.<GregtechMetaTileEntity_SteamMacerator>builder()
- .addShape(
- mName,
- transpose(
- new String[][] { { "CCC", "CCC", "CCC" }, { "C~C", "C-C", "CCC" }, { "CCC", "CCC", "CCC" }, }))
+ .addShape(STRUCTUR_PIECE_MAIN, transpose(shape))
.addElement(
'C',
ofChain(
@@ -160,26 +177,41 @@ public class GregtechMetaTileEntity_SteamMacerator
@Override
public void construct(ItemStack stackSize, boolean hintsOnly) {
- buildPiece(mName, stackSize, hintsOnly, 1, 1, 0);
+ buildPiece(STRUCTUR_PIECE_MAIN, stackSize, hintsOnly, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET);
}
@Override
public int survivalConstruct(ItemStack stackSize, int elementBudget, ISurvivalBuildEnvironment env) {
- return survivialBuildPiece(mName, stackSize, 1, 1, 0, elementBudget, env, false, true);
+ return survivialBuildPiece(
+ STRUCTUR_PIECE_MAIN,
+ stackSize,
+ HORIZONTAL_OFF_SET,
+ VERTICAL_OFF_SET,
+ DEPTH_OFF_SET,
+ elementBudget,
+ env,
+ false,
+ true);
}
@Override
public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
tierMachineCasing = -1;
mCounCasing = 0;
- if (!checkPiece(mName, 1, 1, 0)) return false;
+ if (!checkPiece(STRUCTUR_PIECE_MAIN, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET)) return false;
if (tierMachineCasing < 0) return false;
- if (tierMachineCasing == 1 && mCounCasing > 14) {
+ if (tierMachineCasing == 1 && mCounCasing > 14
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()) {
updateHatchTexture();
tierMachine = 1;
return true;
}
- if (tierMachineCasing == 2 && mCounCasing > 14) {
+ if (tierMachineCasing == 2 && mCounCasing > 14
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()) {
updateHatchTexture();
tierMachine = 2;
return true;
@@ -189,27 +221,6 @@ public class GregtechMetaTileEntity_SteamMacerator
}
@Override
- public void onValueUpdate(byte aValue) {
- tierMachineCasing = aValue;
- }
-
- @Override
- public byte getUpdateData() {
- return (byte) tierMachineCasing;
- }
-
- protected void updateHatchTexture() {
- for (GT_MetaTileEntity_Hatch h : mSteamInputs) h.updateTexture(getCasingTextureID());
- for (GT_MetaTileEntity_Hatch h : mSteamOutputs) h.updateTexture(getCasingTextureID());
- for (GT_MetaTileEntity_Hatch h : mSteamInputFluids) h.updateTexture(getCasingTextureID());
- }
-
- private int getCasingTextureID() {
- if (tierMachineCasing == 2) return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
- return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
- }
-
- @Override
public int getMaxParallelRecipes() {
return tierMachine == 1 ? 8 : 16;
}
@@ -240,13 +251,41 @@ public class GregtechMetaTileEntity_SteamMacerator
}
@Override
- public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
- final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
- if (side == facing) {
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
- aActive ? getFrontOverlayActive() : getFrontOverlay() };
- }
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
+ protected GT_Multiblock_Tooltip_Builder createTooltip() {
+ GT_Multiblock_Tooltip_Builder tt = new GT_Multiblock_Tooltip_Builder();
+ tt.addMachineType(getMachineType())
+ .addInfo("Controller Block for the Steam Macerator")
+ .addInfo("33.3% faster than using a single block Steam Macerator.")
+ .addInfo("Uses only 66.6% of the steam/s required compared to a single block Steam Macerator on Tier 1.")
+ .addInfo("Macerates up to 8 x Tier things at a time.")
+ .addSeparator()
+ .beginStructureBlock(3, 3, 3, false)
+ .addInputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addOutputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addStructureInfo(
+ EnumChatFormatting.WHITE + "Steam Input Hatch "
+ + EnumChatFormatting.GOLD
+ + "1"
+ + EnumChatFormatting.GRAY
+ + " Any casing")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 1)
+ .addStructureInfo(EnumChatFormatting.GOLD + "14-22x" + EnumChatFormatting.GRAY + " Bronze Plated Bricks")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 2)
+ .addStructureInfo(
+ EnumChatFormatting.GOLD + "14-22x" + EnumChatFormatting.GRAY + " Solid Steel Machine Casing")
+ .addStructureInfo("")
+ .toolTipFinisher(CORE.GT_Tooltip_Builder.get());
+ return tt;
+ }
+
+ @Override
+ public String[] getInfoData() {
+ ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
+ info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
+ info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
+ return info.toArray(new String[0]);
}
@Override
@@ -287,11 +326,10 @@ public class GregtechMetaTileEntity_SteamMacerator
tierMachine = aNBT.getInteger("tierMachine");
}
+ @SideOnly(Side.CLIENT)
@Override
- public String[] getInfoData() {
- ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
- info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
- info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
- return info.toArray(new String[0]);
+ protected ResourceLocation getActivitySoundLoop() {
+ return SoundResource.IC2_MACHINES_MACERATOR_OP.resourceLocation;
}
+
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java
index 233847c14c..3012016d23 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWasher.java
@@ -3,6 +3,7 @@ package gtPlusPlus.xmod.gregtech.common.tileentities.machines.multi.processing.s
import static com.gtnewhorizon.structurelib.structure.StructureUtility.*;
import static gregtech.api.GregTech_API.*;
import static gregtech.api.enums.GT_HatchElement.InputHatch;
+import static gregtech.api.enums.GT_Values.AuthorEvgenWarGold;
import static gregtech.api.util.GT_StructureUtility.buildHatchAdder;
import java.util.ArrayList;
@@ -18,6 +19,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@@ -32,8 +34,12 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTech_API;
+import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
+import gregtech.api.gui.modularui.GT_UITextures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
import gregtech.api.interfaces.tileentity.IGregTechTileEntity;
@@ -48,6 +54,7 @@ import gregtech.api.util.GT_OverclockCalculator;
import gregtech.api.util.GT_Recipe;
import gregtech.common.blocks.GT_Block_Casings1;
import gregtech.common.blocks.GT_Block_Casings2;
+import gtPlusPlus.api.recipe.GTPPRecipeMaps;
import gtPlusPlus.xmod.gregtech.api.metatileentity.implementations.base.GregtechMeta_SteamMultiBase;
import ic2.core.init.BlocksItems;
import ic2.core.init.InternalName;
@@ -87,9 +94,12 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
{ " ADDDA", "A~A DEEED", "AAA DECED", "AAA DEEED", " ADDDA" },
{ " AAAAA", "AAA ABBBA", "AAA ABABA", "AAA ABBBA", " AAAAA" } };
- private static final int horizontalOffSet = 1;
- private static final int verticalOffSet = 4;
- private static final int depthOffSet = 1;
+ private static final int HORIZONTAL_OFF_SET = 1;
+ private static final int VERTICAL_OFF_SET = 4;
+ private static final int DEPTH_OFF_SET = 1;
+
+ private static final int MACHINEMODE_OREWASH = 0;
+ private static final int MACHINEMODE_SIMPLEWASH = 1;
private int tierGearBoxCasing = -1;
private int tierPipeCasing = -1;
@@ -98,10 +108,6 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
private int tCountCasing = 0;
- private String tGlasses = "Any Glass";
-
- private String tMachineCasing = "Solid Bronze or Steel Machine Casing";
-
public int getTierMachineCasing(Block block, int meta) {
if (block == sBlockCasings1 && 10 == meta) {
tCountCasing++;
@@ -114,16 +120,12 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
return 0;
}
- private String tGearBoxCasing = "Bronze or Steel Gear Box Casing";
-
public static int getTierGearBoxCasing(Block block, int meta) {
if (block == sBlockCasings2 && 2 == meta) return 1;
if (block == sBlockCasings2 && 3 == meta) return 2;
return 0;
}
- private String tPipeCasing = "Bronze or Steel Pipe Casing";
-
public static int getTierPipeCasing(Block block, int meta) {
if (block == sBlockCasings2 && 12 == meta) return 1;
if (block == sBlockCasings2 && 13 == meta) return 2;
@@ -137,84 +139,40 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
for (GT_MetaTileEntity_Hatch h : mInputHatches) h.updateTexture(getCasingTextureID());
}
- protected static String getNickname() {
- return "EvgenWarGold";
+ private int getCasingTextureID() {
+ if (tierGearBoxCasing == 2 || tierPipeCasing == 2 || tierMachineCasing == 2)
+ return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
+ return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
}
@Override
- public void saveNBTData(NBTTagCompound aNBT) {
- super.saveNBTData(aNBT);
- aNBT.setInteger("tierMachine", tierMachine);
+ public void onValueUpdate(byte aValue) {
+ tierMachineCasing = aValue;
}
@Override
- public void loadNBTData(final NBTTagCompound aNBT) {
- super.loadNBTData(aNBT);
- tierMachine = aNBT.getInteger("tierMachine");
+ public byte getUpdateData() {
+ return (byte) tierMachineCasing;
}
@Override
- public String[] getInfoData() {
- ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
- info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
- info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
- return info.toArray(new String[0]);
+ protected GT_RenderedTexture getFrontOverlay() {
+ return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_WASHER);
}
@Override
- public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
- IWailaConfigHandler config) {
- super.getWailaBody(itemStack, currenttip, accessor, config);
- NBTTagCompound tag = accessor.getNBTData();
-
- currenttip.add(
- StatCollector.translateToLocal("GTPP.machines.tier") + ": "
- + EnumChatFormatting.YELLOW
- + tag.getInteger("tierMachine")
- + EnumChatFormatting.RESET);
- currenttip.add(
- StatCollector.translateToLocal("GT5U.multiblock.curparallelism") + ": "
- + EnumChatFormatting.BLUE
- + tag.getInteger("parallel")
- + EnumChatFormatting.RESET);
+ protected GT_RenderedTexture getFrontOverlayActive() {
+ return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_WASHER_ACTIVE);
}
@Override
- public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
- int z) {
- super.getWailaNBTData(player, tile, tag, world, x, y, z);
- tag.setInteger("tierMachine", tierMachine);
- tag.setInteger("parallel", getMaxParallelRecipes());
- }
-
- public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
- tierGearBoxCasing = -1;
- tierPipeCasing = -1;
- tierMachineCasing = -1;
- tCountCasing = 0;
- if (!checkPiece(STRUCTUR_PIECE_MAIN, horizontalOffSet, verticalOffSet, depthOffSet)) return false;
- if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierMachineCasing < 0) return false;
- if (tierGearBoxCasing == 1 && tierPipeCasing == 1 && tierMachineCasing == 1 && tCountCasing > 55) {
- updateHatchTexture();
- tierMachine = 1;
- return true;
- }
- if (tierGearBoxCasing == 2 && tierPipeCasing == 2 && tierMachineCasing == 2 && tCountCasing > 55) {
- updateHatchTexture();
- tierMachine = 2;
- return true;
+ public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
+ final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
+ if (side == facing) {
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
+ aActive ? getFrontOverlayActive() : getFrontOverlay() };
}
- return false;
- }
-
- @Override
- public void onValueUpdate(byte aValue) {
- tierMachineCasing = aValue;
- }
-
- @Override
- public byte getUpdateData() {
- return (byte) tierMachineCasing;
+ return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
}
@Override
@@ -275,7 +233,7 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
@Override
public void construct(ItemStack stackSize, boolean hintsOnly) {
- this.buildPiece(STRUCTUR_PIECE_MAIN, stackSize, hintsOnly, horizontalOffSet, verticalOffSet, depthOffSet);
+ this.buildPiece(STRUCTUR_PIECE_MAIN, stackSize, hintsOnly, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET);
}
@Override
@@ -284,39 +242,45 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
return this.survivialBuildPiece(
STRUCTUR_PIECE_MAIN,
stackSize,
- horizontalOffSet,
- verticalOffSet,
- depthOffSet,
+ HORIZONTAL_OFF_SET,
+ VERTICAL_OFF_SET,
+ DEPTH_OFF_SET,
elementBudget,
env,
false,
true);
}
- @Override
- protected GT_RenderedTexture getFrontOverlay() {
- return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_WASHER);
- }
-
- @Override
- protected GT_RenderedTexture getFrontOverlayActive() {
- return new GT_RenderedTexture(Textures.BlockIcons.OVERLAY_FRONT_STEAM_WASHER_ACTIVE);
- }
-
- @Override
- public ITexture[] getTexture(final IGregTechTileEntity aBaseMetaTileEntity, final ForgeDirection side,
- final ForgeDirection facing, final int aColorIndex, final boolean aActive, final boolean aRedstone) {
- if (side == facing) {
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()),
- aActive ? getFrontOverlayActive() : getFrontOverlay() };
+ public boolean checkMachine(IGregTechTileEntity aBaseMetaTileEntity, ItemStack aStack) {
+ tierGearBoxCasing = -1;
+ tierPipeCasing = -1;
+ tierMachineCasing = -1;
+ tCountCasing = 0;
+ if (!checkPiece(STRUCTUR_PIECE_MAIN, HORIZONTAL_OFF_SET, VERTICAL_OFF_SET, DEPTH_OFF_SET)) return false;
+ if (tierGearBoxCasing < 0 && tierPipeCasing < 0 && tierMachineCasing < 0) return false;
+ if (tierGearBoxCasing == 1 && tierPipeCasing == 1
+ && tierMachineCasing == 1
+ && tCountCasing > 55
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()
+ && !mInputHatches.isEmpty()) {
+ updateHatchTexture();
+ tierMachine = 1;
+ return true;
}
- return new ITexture[] { Textures.BlockIcons.getCasingTextureForId(getCasingTextureID()) };
- }
-
- private int getCasingTextureID() {
- if (tierGearBoxCasing == 2 || tierPipeCasing == 2 || tierMachineCasing == 2)
- return ((GT_Block_Casings2) GregTech_API.sBlockCasings2).getTextureIndex(0);
- return ((GT_Block_Casings1) GregTech_API.sBlockCasings1).getTextureIndex(10);
+ if (tierGearBoxCasing == 2 && tierPipeCasing == 2
+ && tierMachineCasing == 2
+ && tCountCasing > 55
+ && !mSteamInputFluids.isEmpty()
+ && !mSteamInputs.isEmpty()
+ && !mSteamOutputs.isEmpty()
+ && !mInputHatches.isEmpty()) {
+ updateHatchTexture();
+ tierMachine = 2;
+ return true;
+ }
+ return false;
}
@Override
@@ -326,6 +290,9 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
@Override
public RecipeMap<?> getRecipeMap() {
+ if (machineMode == MACHINEMODE_SIMPLEWASH) {
+ return GTPPRecipeMaps.simpleWasherRecipes;
+ }
return RecipeMaps.oreWasherRecipes;
}
@@ -354,22 +321,115 @@ public class GregtechMetaTileEntity_SteamWasher extends GregtechMeta_SteamMultiB
"On Tier 1, it uses only 66.6% of the steam/s required compared to what a single block steam machine would use.")
.addInfo("Washes up to 8 x Tier things at a time.")
.addSeparator()
- .beginStructureBlock(5, 5, 9, false)
- .addCasingInfoMin(tMachineCasing, 55, false)
- .addCasingInfo(tPipeCasing, 12)
- .addCasingInfo(tGearBoxCasing, 8)
- .addCasingInfo(tGlasses, 24)
- .addOtherStructurePart(TT_steaminputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamoutputbus, "Any casing", 1)
- .addOtherStructurePart(TT_steamhatch, "Any casing", 1)
- .addInputHatch("Any casing", 1)
- .toolTipFinisher(getNickname());
+ .beginStructureBlock(5, 5, 5, false)
+ .addInputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addInputHatch(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addOutputBus(EnumChatFormatting.GOLD + "1" + EnumChatFormatting.GRAY + " Any casing", 1)
+ .addStructureInfo(
+ EnumChatFormatting.WHITE + "Steam Input Hatch "
+ + EnumChatFormatting.GOLD
+ + "1"
+ + EnumChatFormatting.GRAY
+ + " Any casing")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 1)
+ .addStructureInfo(EnumChatFormatting.GOLD + "55-59x" + EnumChatFormatting.GRAY + " Bronze Plated Bricks")
+ .addStructureInfo(EnumChatFormatting.GOLD + "24x" + EnumChatFormatting.GRAY + " Any Glass")
+ .addStructureInfo(EnumChatFormatting.GOLD + "12x" + EnumChatFormatting.GRAY + " Bronze Pipe Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "8x" + EnumChatFormatting.GRAY + " Bronze Gear Box Casing")
+ .addStructureInfo("")
+ .addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 2)
+ .addStructureInfo(
+ EnumChatFormatting.GOLD + "55-59x" + EnumChatFormatting.GRAY + " Solid Steel Machine Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "24x" + EnumChatFormatting.GRAY + " Any Glass")
+ .addStructureInfo(EnumChatFormatting.GOLD + "12x" + EnumChatFormatting.GRAY + " Steel Pipe Casing")
+ .addStructureInfo(EnumChatFormatting.GOLD + "8x" + EnumChatFormatting.GRAY + " Steel Gear Box Casing")
+ .addStructureInfo("")
+ .toolTipFinisher(AuthorEvgenWarGold);
return tt;
}
@Override
+ public String[] getInfoData() {
+ ArrayList<String> info = new ArrayList<>(Arrays.asList(super.getInfoData()));
+ info.add("Machine Tier: " + EnumChatFormatting.YELLOW + tierMachine);
+ info.add("Parallel: " + EnumChatFormatting.YELLOW + getMaxParallelRecipes());
+ return info.toArray(new String[0]);
+ }
+
+ @Override
+ public void getWailaBody(ItemStack itemStack, List<String> currenttip, IWailaDataAccessor accessor,
+ IWailaConfigHandler config) {
+ super.getWailaBody(itemStack, currenttip, accessor, config);
+ NBTTagCompound tag = accessor.getNBTData();
+
+ currenttip.add(
+ StatCollector.translateToLocal("GTPP.machines.tier") + ": "
+ + EnumChatFormatting.YELLOW
+ + tag.getInteger("tierMachine")
+ + EnumChatFormatting.RESET);
+ currenttip.add(
+ StatCollector.translateToLocal("GT5U.multiblock.curparallelism") + ": "
+ + EnumChatFormatting.BLUE
+ + tag.getInteger("parallel")
+ + EnumChatFormatting.RESET);
+ currenttip.add(
+ StatCollector.translateToLocal("GT5U.machines.oreprocessor1") + " "
+ + EnumChatFormatting.WHITE
+ + StatCollector.translateToLocal("GT5U.GTPP_MULTI_WASH_PLANT.mode." + tag.getInteger("mode"))
+ + EnumChatFormatting.RESET);
+ }
+
+ @Override
+ public void getWailaNBTData(EntityPlayerMP player, TileEntity tile, NBTTagCompound tag, World world, int x, int y,
+ int z) {
+ super.getWailaNBTData(player, tile, tag, world, x, y, z);
+ tag.setInteger("tierMachine", tierMachine);
+ tag.setInteger("parallel", getMaxParallelRecipes());
+ tag.setInteger("mode", machineMode);
+ }
+
+ @Override
+ public void saveNBTData(NBTTagCompound aNBT) {
+ super.saveNBTData(aNBT);
+ aNBT.setInteger("tierMachine", tierMachine);
+ aNBT.setInteger("mMode", machineMode);
+ }
+
+ @Override
+ public void loadNBTData(final NBTTagCompound aNBT) {
+ super.loadNBTData(aNBT);
+ tierMachine = aNBT.getInteger("tierMachine");
+ machineMode = aNBT.getInteger("mMode");
+ }
+
+ @Override
protected IAlignmentLimits getInitialAlignmentLimits() {
// don't rotate a washer, water will flow out.
return (d, r, f) -> d.offsetY == 0 && r.isNotRotated();
}
+
+ @SideOnly(Side.CLIENT)
+ @Override
+ protected ResourceLocation getActivitySoundLoop() {
+ return SoundResource.GT_MACHINES_STEAM_WASHER_LOOP.resourceLocation;
+ }
+
+ @Override
+ public boolean supportsMachineModeSwitch() {
+ return true;
+ }
+
+ @Override
+ public int nextMachineMode() {
+ if (machineMode == MACHINEMODE_OREWASH) return MACHINEMODE_SIMPLEWASH;
+ else return MACHINEMODE_OREWASH;
+ }
+
+ @Override
+ public void setMachineModeIcons() {
+ machineModeIcons.clear();
+ machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_WASHPLANT);
+ machineModeIcons.add(GT_UITextures.OVERLAY_BUTTON_MACHINEMODE_SIMPLEWASHER);
+ }
}
diff --git a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWaterPump.java b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWaterPump.java
index a32c0ea4cf..1cfc75c1ca 100644
--- a/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWaterPump.java
+++ b/src/main/java/gtPlusPlus/xmod/gregtech/common/tileentities/machines/multi/processing/steam/GregtechMetaTileEntity_SteamWaterPump.java
@@ -16,6 +16,7 @@ import net.minecraft.item.ItemStack;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.EnumChatFormatting;
+import net.minecraft.util.ResourceLocation;
import net.minecraft.util.StatCollector;
import net.minecraft.world.World;
import net.minecraftforge.common.util.ForgeDirection;
@@ -31,8 +32,11 @@ import com.gtnewhorizon.structurelib.structure.IStructureDefinition;
import com.gtnewhorizon.structurelib.structure.ISurvivalBuildEnvironment;
import com.gtnewhorizon.structurelib.structure.StructureDefinition;
+import cpw.mods.fml.relauncher.Side;
+import cpw.mods.fml.relauncher.SideOnly;
import gregtech.api.GregTech_API;
import gregtech.api.enums.Materials;
+import gregtech.api.enums.SoundResource;
import gregtech.api.enums.Textures;
import gregtech.api.interfaces.ITexture;
import gregtech.api.interfaces.metatileentity.IMetaTileEntity;
@@ -261,12 +265,15 @@ public class GregtechMetaTileEntity_SteamWaterPump
+ "1"
+ EnumChatFormatting.GRAY
+ " Any casing")
+ .addStructureInfo("")
.addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 1)
.addStructureInfo(EnumChatFormatting.GOLD + "10" + EnumChatFormatting.GRAY + " Bronze Frame Box")
.addStructureInfo(EnumChatFormatting.GOLD + "10" + EnumChatFormatting.GRAY + " Wooden Casing")
+ .addStructureInfo("")
.addStructureInfo(EnumChatFormatting.BLUE + "Tier " + EnumChatFormatting.DARK_PURPLE + 2)
.addStructureInfo(EnumChatFormatting.GOLD + "10" + EnumChatFormatting.GRAY + " Steel Frame Box")
.addStructureInfo(EnumChatFormatting.GOLD + "10 " + EnumChatFormatting.GRAY + " Wooden Casing")
+ .addStructureInfo("")
.toolTipFinisher(AuthorEvgenWarGold);
return tt;
}
@@ -353,4 +360,10 @@ public class GregtechMetaTileEntity_SteamWaterPump
return (d, r, f) -> d.offsetY == 0 && r.isNotRotated() && !f.isVerticallyFliped();
}
+ @SideOnly(Side.CLIENT)
+ @Override
+ protected ResourceLocation getActivitySoundLoop() {
+ return SoundResource.GT_MACHINES_WATER_PUMP_LOOP.resourceLocation;
+ }
+
}
diff --git a/src/main/resources/assets/gregtech/sounds.json b/src/main/resources/assets/gregtech/sounds.json
index 95d534b7cd..06245db1a1 100644
--- a/src/main/resources/assets/gregtech/sounds.json
+++ b/src/main/resources/assets/gregtech/sounds.json
@@ -26,6 +26,33 @@
}
]
},
+ "machines.SteamCentrifugeLoop": {
+ "category": "block",
+ "sounds": [
+ {
+ "name": "SteamCentrifugeLoop",
+ "stream": false
+ }
+ ]
+ },
+ "machines.SteamWasherLoop": {
+ "category": "block",
+ "sounds": [
+ {
+ "name": "SteamWasherLoop",
+ "stream": false
+ }
+ ]
+ },
+ "machines.WaterPumpLoop": {
+ "category": "block",
+ "sounds": [
+ {
+ "name": "WaterPumpLoop",
+ "stream": false
+ }
+ ]
+ },
"machines.DistilleryLoop": {
"category": "block",
"sounds": [
diff --git a/src/main/resources/assets/gregtech/sounds/SteamCentrifugeLoop.ogg b/src/main/resources/assets/gregtech/sounds/SteamCentrifugeLoop.ogg
new file mode 100644
index 0000000000..c1f3495252
--- /dev/null
+++ b/src/main/resources/assets/gregtech/sounds/SteamCentrifugeLoop.ogg
Binary files differ
diff --git a/src/main/resources/assets/gregtech/sounds/SteamWasherLoop.ogg b/src/main/resources/assets/gregtech/sounds/SteamWasherLoop.ogg
new file mode 100644
index 0000000000..fc710a1849
--- /dev/null
+++ b/src/main/resources/assets/gregtech/sounds/SteamWasherLoop.ogg
Binary files differ
diff --git a/src/main/resources/assets/gregtech/sounds/WaterPumpLoop.ogg b/src/main/resources/assets/gregtech/sounds/WaterPumpLoop.ogg
new file mode 100644
index 0000000000..f1a35e9611
--- /dev/null
+++ b/src/main/resources/assets/gregtech/sounds/WaterPumpLoop.ogg
Binary files differ