diff options
Diffstat (limited to 'src/main/java/gregtech/common')
20 files changed, 434 insertions, 235 deletions
diff --git a/src/main/java/gregtech/common/GT_Proxy.java b/src/main/java/gregtech/common/GT_Proxy.java index 1f0eda5034..3bc5557fac 100644 --- a/src/main/java/gregtech/common/GT_Proxy.java +++ b/src/main/java/gregtech/common/GT_Proxy.java @@ -5,6 +5,7 @@ import static gregtech.api.enums.FluidState.GAS; import static gregtech.api.enums.FluidState.LIQUID; import static gregtech.api.enums.FluidState.MOLTEN; import static gregtech.api.enums.FluidState.PLASMA; +import static gregtech.api.enums.GT_Values.MOD_ID; import static gregtech.api.enums.GT_Values.MOD_ID_RC; import static gregtech.api.enums.GT_Values.MOD_ID_TC; import static gregtech.api.enums.GT_Values.MOD_ID_TE; @@ -43,7 +44,6 @@ import gregtech.api.fluid.GT_FluidFactory; import gregtech.api.interfaces.IBlockOnWalkOver; import gregtech.api.interfaces.IGlobalWirelessEnergy; import gregtech.api.interfaces.IProjectileItem; -import gregtech.api.interfaces.fluid.IGT_Fluid; import gregtech.api.interfaces.internal.IGT_Mod; import gregtech.api.interfaces.internal.IThaumcraftCompat; import gregtech.api.interfaces.metatileentity.IMetaTileEntity; @@ -51,7 +51,6 @@ import gregtech.api.interfaces.tileentity.IGregTechTileEntity; import gregtech.api.items.GT_MetaGenerated_Item; import gregtech.api.items.GT_MetaGenerated_Tool; import gregtech.api.objects.GT_ChunkManager; -import gregtech.api.objects.GT_Fluid; import gregtech.api.objects.GT_FluidStack; import gregtech.api.objects.GT_ItemStack; import gregtech.api.objects.GT_UO_DimensionList; @@ -119,6 +118,7 @@ import net.minecraft.tileentity.TileEntity; import net.minecraft.util.DamageSource; import net.minecraft.util.EnumChatFormatting; import net.minecraft.util.MathHelper; +import net.minecraft.util.ResourceLocation; import net.minecraft.world.ChunkCoordIntPair; import net.minecraft.world.World; import net.minecraft.world.WorldSettings.GameType; @@ -138,7 +138,6 @@ import net.minecraftforge.event.world.BlockEvent; import net.minecraftforge.event.world.ChunkDataEvent; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; -import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; import net.minecraftforge.oredict.OreDictionary; import net.minecraftforge.oredict.RecipeSorter; @@ -2552,7 +2551,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } else return; for (int i = 0; i < 3; i++) { crackedFluids[i] = GT_FluidFactory.builder(namePrefixes[i] + aMaterial.mName.toLowerCase(Locale.ENGLISH)) - .withTextureFrom((IGT_Fluid) uncrackedFluid) + .withIconsFrom(uncrackedFluid) .withLocalizedName(orePrefixes[i].mLocalizedMaterialPre + aMaterial.mDefaultLocalName) .withColorRGBA(aMaterial.mRGBa) .withStateAndTemperature(GAS, 775) @@ -2603,7 +2602,7 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } else return; for (int i = 0; i < 3; i++) { crackedFluids[i] = GT_FluidFactory.builder(namePrefixes[i] + aMaterial.mName.toLowerCase(Locale.ENGLISH)) - .withTextureFrom((IGT_Fluid) uncrackedFluid) + .withIconsFrom(uncrackedFluid) .withLocalizedName(orePrefixes[i].mLocalizedMaterialPre + aMaterial.mDefaultLocalName) .withColorRGBA(aMaterial.mRGBa) .withStateAndTemperature(GAS, 775) @@ -2640,19 +2639,19 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG } /** - * @deprecated use {@link IGT_Fluid#addFluid} + * @deprecated use {@link GT_FluidFactory#builder} * @see GT_FluidFactory#of(String, String, Materials, FluidState, int) * @see GT_FluidFactory#of(String, String, FluidState, int) */ @Deprecated public Fluid addFluid(String aName, String aLocalized, Materials aMaterial, int aState, int aTemperatureK) { - return addFluid(aName, aLocalized, aMaterial, aState, aTemperatureK, null, null, 0); + return GT_FluidFactory.of(aName, aLocalized, aMaterial, FluidState.VALID_STATES[aState], aTemperatureK); } /** - * @deprecated use {@link IGT_Fluid#addFluid} - * @see GT_FluidFactory#builder + * @deprecated use {@link GT_FluidFactory#builder} */ + @SuppressWarnings({"MethodWithTooManyParameters"}) // Deprecated method @Deprecated public Fluid addFluid( String aName, @@ -2663,24 +2662,20 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG ItemStack aFullContainer, ItemStack aEmptyContainer, int aFluidAmount) { - return addFluid( - aName, - aName.toLowerCase(Locale.ENGLISH), - aLocalized, - aMaterial, - null, - aState, - aTemperatureK, - aFullContainer, - aEmptyContainer, - aFluidAmount); + return GT_FluidFactory.builder(aName) + .withLocalizedName(aLocalized) + .withStateAndTemperature(FluidState.fromValue(aState), aTemperatureK) + .buildAndRegister() + .configureMaterials(aMaterial) + .registerContainers(aFullContainer, aEmptyContainer, aFluidAmount) + .asFluid(); } /** - * @deprecated use {@link IGT_Fluid#addFluid} - * @see GT_FluidFactory#builder + * @deprecated use {@link GT_FluidFactory#builder} */ @Deprecated + @SuppressWarnings({"MethodWithTooManyParameters"}) // Deprecated method public Fluid addFluid( String aName, String aTexture, @@ -2692,67 +2687,15 @@ public abstract class GT_Proxy implements IGT_Mod, IGuiHandler, IFuelHandler, IG ItemStack aFullContainer, ItemStack aEmptyContainer, int aFluidAmount) { - aName = aName.toLowerCase(Locale.ENGLISH); - - Fluid rFluid = new GT_Fluid(aName, aTexture, aRGBa != null ? aRGBa : Dyes._NULL.getRGBA()); - GT_LanguageManager.addStringLocalization(rFluid.getUnlocalizedName(), aLocalized == null ? aName : aLocalized); - if (FluidRegistry.registerFluid(rFluid)) { - switch (aState) { - case 0: - rFluid.setGaseous(false); - rFluid.setViscosity(10000); - break; - case 1: - case 4: - rFluid.setGaseous(false); - rFluid.setViscosity(1000); - break; - case 2: - rFluid.setGaseous(true); - rFluid.setDensity(-100); - rFluid.setViscosity(200); - break; - case 3: - rFluid.setGaseous(true); - rFluid.setDensity(55536); - rFluid.setViscosity(10); - rFluid.setLuminosity(15); - } - } else { - rFluid = FluidRegistry.getFluid(aName); - } - if (rFluid.getTemperature() == new Fluid("test").getTemperature()) { - rFluid.setTemperature(aTemperatureK); - } - if (aMaterial != null) { - switch (aState) { - case 0: - aMaterial.mSolid = rFluid; - break; - case 1: - aMaterial.mFluid = rFluid; - break; - case 2: - aMaterial.mGas = rFluid; - break; - case 3: - aMaterial.mPlasma = rFluid; - break; - case 4: - aMaterial.mStandardMoltenFluid = rFluid; - } - } - if ((aFullContainer != null) - && (aEmptyContainer != null) - && (!FluidContainerRegistry.registerFluidContainer( - new FluidStack(rFluid, aFluidAmount), aFullContainer, aEmptyContainer))) { - GT_Values.RA.addFluidCannerRecipe( - aFullContainer, - GT_Utility.getContainerItem(aFullContainer, false), - null, - new FluidStack(rFluid, aFluidAmount)); - } - return rFluid; + return GT_FluidFactory.builder(aName) + .withLocalizedName(aLocalized) + .withStillIconResourceLocation(new ResourceLocation(MOD_ID, "fluids/fluid." + aTexture)) + .withColorRGBA(aRGBa) + .withStateAndTemperature(FluidState.fromValue(aState), aTemperatureK) + .buildAndRegister() + .configureMaterials(aMaterial) + .registerContainers(aFullContainer, aEmptyContainer, aFluidAmount) + .asFluid(); } public File getSaveDirectory() { diff --git a/src/main/java/gregtech/common/GT_RecipeAdder.java b/src/main/java/gregtech/common/GT_RecipeAdder.java index b8a76d8980..01327b881f 100644 --- a/src/main/java/gregtech/common/GT_RecipeAdder.java +++ b/src/main/java/gregtech/common/GT_RecipeAdder.java @@ -223,6 +223,45 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { aDuration, aEUt, aCleanroom ? -100 : 0); + ItemStack[] itemInputs = {aInput1, aInput2}; + ItemStack[] itemOutputs = {aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6}; + FluidStack[] fluidInputs = {aFluidInput, null, null}; + FluidStack[] fluidOutputs = {aFluidOutput, null, null, null, null, null, null}; + + byte iNumber = 0; + byte oNumber = 0; + + for (ItemStack item : itemInputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { + fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); + itemInputs[iNumber] = null; + } + } + iNumber++; + } + + for (ItemStack item : itemOutputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { + fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); + itemOutputs[oNumber] = null; + } + } + oNumber++; + } + + GT_Recipe.GT_Recipe_Map.sMultiblockCentrifugeRecipes.addRecipe( + false, + itemInputs, + itemOutputs, + null, + aChances, + fluidInputs, + fluidOutputs, + aDuration, + aEUt, + aCleanroom ? -100 : 0); return true; } @@ -308,6 +347,38 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { aDuration, aEUt, 0); + ItemStack[] itemInputs = {aInput1, aInput2}; + ItemStack[] itemOutputs = {aOutput1, aOutput2, aOutput3, aOutput4, aOutput5, aOutput6}; + FluidStack[] fluidInputs = {aFluidInput, null, null}; + FluidStack[] fluidOutputs = {aFluidOutput, null, null, null, null, null, null}; + + byte iNumber = 0; + byte oNumber = 0; + + for (ItemStack item : itemInputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(aInput1, true) != null + || GT_Utility.isCellEmpty(item) + || GT_Utility.checkIfSameIntegratedCircuit(item)) { + fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); + itemInputs[iNumber] = null; + } + } + iNumber++; + } + + for (ItemStack item : itemOutputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { + fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); + itemOutputs[oNumber] = null; + } + } + oNumber++; + } + + GT_Recipe.GT_Recipe_Map.sMultiblockElectrolyzerRecipes.addRecipe( + false, itemInputs, itemOutputs, null, aChances, fluidInputs, fluidOutputs, aDuration, aEUt, 0); return true; } @@ -2423,6 +2494,36 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { aDuration, aEUt, 0); + ItemStack[] itemInputs = {aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9}; + ItemStack[] itemOutputs = {aOutput}; + FluidStack[] fluidInputs = {aFluidInput, null, null, null, null, null, null, null, null, null}; + FluidStack[] fluidOutputs = {aFluidOutput, null}; + + byte iNumber = 0; + byte oNumber = 0; + + for (ItemStack item : itemInputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { + fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); + itemInputs[iNumber] = null; + } + } + iNumber++; + } + + for (ItemStack item : itemOutputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { + fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); + itemOutputs[oNumber] = null; + } + } + oNumber++; + } + + GT_Recipe.GT_Recipe_Map.sMultiblockMixerRecipes.addRecipe( + false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0); return true; } @@ -2445,6 +2546,73 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { aDuration, aEUt, 0); + List<ItemStack> tItemInputList; + if (ItemInputArray == null) { + tItemInputList = new ArrayList<>(1); + } else { + tItemInputList = new ArrayList<>(Arrays.asList(ItemInputArray)); + } + List<FluidStack> tFluidInputList; + if (FluidInputArray != null) { + tFluidInputList = new ArrayList<>(Arrays.asList(FluidInputArray)); + } else { + tFluidInputList = new ArrayList<>(1); + } + for (int i = 0; i < tItemInputList.size(); i++) { + if (tItemInputList.get(i) != null) { + if (GT_Utility.getFluidForFilledItem(tItemInputList.get(i), true) != null + || GT_Utility.isCellEmpty(tItemInputList.get(i))) { + tFluidInputList.add(GT_Utility.convertCellToFluid(tItemInputList.get(i))); + tItemInputList.set(i, null); + } + } + } + List<ItemStack> tItemOutputList; + if (ItemInputArray == null) { + tItemOutputList = new ArrayList<>(1); + } else { + tItemOutputList = new ArrayList<>(Arrays.asList(ItemInputArray)); + } + List<FluidStack> tFluidOutputList; + if (FluidOutputArray != null) { + tFluidOutputList = new ArrayList<>(Arrays.asList(FluidOutputArray)); + ; + } else { + tFluidOutputList = new ArrayList<>(1); + } + for (int i = 0; i < tItemOutputList.size(); i++) { + if (tItemOutputList.get(i) != null) { + if (GT_Utility.getFluidForFilledItem(tItemOutputList.get(i), true) != null + || GT_Utility.isCellEmpty(tItemOutputList.get(i))) { + tFluidInputList.add(GT_Utility.convertCellToFluid(tItemOutputList.get(i))); + tItemOutputList.set(i, null); + } + } + } + + ItemStack[] tItemInputArray = new ItemStack[tItemInputList.size()]; + for (int i = 0; i < tItemInputArray.length; i++) tItemInputArray[i] = tItemInputList.get(i); + + FluidStack[] tFluidInputArray = new FluidStack[tFluidInputList.size()]; + for (int i = 0; i < tFluidInputArray.length; i++) tFluidInputArray[i] = tFluidInputList.get(i); + + ItemStack[] tItemOutputArray = new ItemStack[tItemOutputList.size()]; + for (int i = 0; i < tItemOutputArray.length; i++) tItemOutputArray[i] = tItemOutputList.get(i); + + FluidStack[] tFluidOutputArray = new FluidStack[tFluidOutputList.size()]; + for (int i = 0; i < tFluidOutputArray.length; i++) tFluidOutputArray[i] = tFluidOutputList.get(i); + + GT_Recipe.GT_Recipe_Map.sMultiblockMixerRecipes.addRecipe( + false, + tItemInputArray, + tItemOutputArray, + null, + null, + tFluidInputArray, + tFluidOutputArray, + aDuration, + aEUt, + 0); return true; } @@ -2491,6 +2659,36 @@ public class GT_RecipeAdder implements IGT_RecipeAdder { aDuration, aEUt, 0); + ItemStack[] itemInputs = {aInput1, aInput2, aInput3, aInput4, aInput5, aInput6, aInput7, aInput8, aInput9}; + ItemStack[] itemOutputs = {aOutput1, aOutput2, aOutput3, aOutput4}; + FluidStack[] fluidInputs = {aFluidInput, null, null, null, null, null, null, null, null, null}; + FluidStack[] fluidOutputs = {aFluidOutput, null, null, null, null}; + + byte iNumber = 0; + byte oNumber = 0; + + for (ItemStack item : itemInputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(aInput1, true) != null || GT_Utility.isCellEmpty(item)) { + fluidInputs[iNumber + 1] = GT_Utility.convertCellToFluid(item); + itemInputs[iNumber] = null; + } + } + iNumber++; + } + + for (ItemStack item : itemOutputs) { + if (item != null) { + if (GT_Utility.getFluidForFilledItem(item, true) != null || GT_Utility.isCellEmpty(item)) { + fluidOutputs[oNumber + 1] = GT_Utility.convertCellToFluid(item); + itemOutputs[oNumber] = null; + } + } + oNumber++; + } + + GT_Recipe.GT_Recipe_Map.sMultiblockMixerRecipes.addRecipe( + false, itemInputs, itemOutputs, null, null, fluidInputs, fluidOutputs, aDuration, aEUt, 0); return true; } diff --git a/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java b/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java index 93aa9992ea..ae41933c1c 100644 --- a/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java +++ b/src/main/java/gregtech/common/blocks/GT_Block_Ores_Abstract.java @@ -39,6 +39,7 @@ import net.minecraft.world.World; public abstract class GT_Block_Ores_Abstract extends GT_Generic_Block implements ITileEntityProvider { private static final String DOT_NAME = ".name"; + private static final String DOT_TOOLTIP = ".tooltip"; public static ThreadLocal<GT_TileEntity_Ores> mTemporaryTileEntity = new ThreadLocal<>(); public static boolean FUCKING_LOCK = false; public static boolean tHideOres; @@ -66,11 +67,17 @@ public abstract class GT_Block_Ores_Abstract extends GT_Generic_Block implements ? getLocalizedNameFormat(GregTech_API.sGeneratedMaterials[i]) : getLocalizedName(GregTech_API.sGeneratedMaterials[i])); GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + "." + (i + (j * 1000)) + DOT_TOOLTIP, + GregTech_API.sGeneratedMaterials[i].getToolTip()); + GT_LanguageManager.addStringLocalization( getUnlocalizedName() + "." + ((i + 16000) + (j * 1000)) + DOT_NAME, "Small " + (GT_LanguageManager.i18nPlaceholder ? getLocalizedNameFormat(GregTech_API.sGeneratedMaterials[i]) : getLocalizedName(GregTech_API.sGeneratedMaterials[i]))); + GT_LanguageManager.addStringLocalization( + getUnlocalizedName() + "." + ((i + 16000) + (j * 1000)) + DOT_TOOLTIP, + GregTech_API.sGeneratedMaterials[i].getToolTip()); if ((GregTech_API.sGeneratedMaterials[i].mTypes & 0x8) != 0 && !aBlockedOres.contains(GregTech_API.sGeneratedMaterials[i])) { GT_OreDictUnificator.registerOre( diff --git a/src/main/java/gregtech/common/blocks/GT_Item_Ores.java b/src/main/java/gregtech/common/blocks/GT_Item_Ores.java index bcf088a621..117e6ae1c6 100644 --- a/src/main/java/gregtech/common/blocks/GT_Item_Ores.java +++ b/src/main/java/gregtech/common/blocks/GT_Item_Ores.java @@ -2,11 +2,14 @@ package gregtech.common.blocks; import gregtech.api.GregTech_API; import gregtech.api.enums.Materials; +import java.util.List; import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; +import net.minecraft.util.StatCollector; import net.minecraft.world.World; +import org.apache.commons.lang3.StringUtils; public class GT_Item_Ores extends ItemBlock { public GT_Item_Ores(Block block) { @@ -83,4 +86,11 @@ public class GT_Item_Ores extends ItemBlock { } return true; } + + @Override + public void addInformation(ItemStack aStack, EntityPlayer aPlayer, List aList, boolean aF3_H) { + String formula = StatCollector.translateToLocal( + field_150939_a.getUnlocalizedName() + '.' + getDamage(aStack) + ".tooltip"); + if (!StringUtils.isBlank(formula)) aList.add(formula); + } } diff --git a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java index 7d824565cb..fb556989c1 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_Arm.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_Arm.java @@ -359,7 +359,7 @@ public class GT_Cover_Arm extends GT_CoverBehavior { this.getFontRenderer() .drawString( - GT_Utility.trans("254", "Internal slot#"), + GT_Utility.trans("254.1", "Internal slot#"), startX + spaceX * 3, 4 + startY + spaceY * 1, textColor); diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java b/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java index 1332fa66c6..8c52ade5d2 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FacadeBase.java @@ -64,10 +64,10 @@ public abstract class GT_Cover_FacadeBase extends GT_CoverBehaviorBase<GT_Cover_ aCoverVariable.mFlags = ((aCoverVariable.mFlags + 1) & 15); GT_Utility.sendChatToPlayer( aPlayer, - ((aCoverVariable.mFlags & 1) != 0 ? GT_Utility.trans("128", "Redstone ") : "") - + ((aCoverVariable.mFlags & 2) != 0 ? GT_Utility.trans("129", "Energy ") : "") - + ((aCoverVariable.mFlags & 4) != 0 ? GT_Utility.trans("130", "Fluids ") : "") - + ((aCoverVariable.mFlags & 8) != 0 ? GT_Utility.trans("131", "Items ") : "")); + ((aCoverVariable.mFlags & 1) != 0 ? GT_Utility.trans("128.1", "Redstone ") : "") + + ((aCoverVariable.mFlags & 2) != 0 ? GT_Utility.trans("129.1", "Energy ") : "") + + ((aCoverVariable.mFlags & 4) != 0 ? GT_Utility.trans("130.1", "Fluids ") : "") + + ((aCoverVariable.mFlags & 8) != 0 ? GT_Utility.trans("131.1", "Items ") : "")); return aCoverVariable; } diff --git a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java index fa20d8206e..2d6fc685c3 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_FluidRegulator.java @@ -461,7 +461,7 @@ public class GT_Cover_FluidRegulator extends GT_CoverBehaviorBase<GT_Cover_Fluid textColor); this.getFontRenderer() .drawString( - GT_Utility.trans("229", "Conditional"), + GT_Utility.trans("230", "Conditional"), startX + spaceX * 4, 4 + startY + spaceY * 1, textColor); diff --git a/src/main/java/gregtech/common/covers/GT_Cover_ItemFilter.java b/src/main/java/gregtech/common/covers/GT_Cover_ItemFilter.java index aee762f36c..2fa545d76d 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_ItemFilter.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_ItemFilter.java @@ -130,8 +130,8 @@ public class GT_Cover_ItemFilter extends GT_CoverBehaviorBase<GT_Cover_ItemFilte GT_Utility.sendChatToPlayer( aPlayer, aCoverVariable.mWhitelist - ? GT_Utility.trans("125", "Whitelist Mode") - : GT_Utility.trans("124", "Blacklist Mode")); + ? GT_Utility.trans("125.1", "Whitelist Mode") + : GT_Utility.trans("124.1", "Blacklist Mode")); return aCoverVariable; } @@ -290,8 +290,8 @@ public class GT_Cover_ItemFilter extends GT_CoverBehaviorBase<GT_Cover_ItemFilte startY + spaceY * 0, GT_GuiIcon.WHITELIST, GT_GuiIcon.BLACKLIST, - GT_Utility.trans("125", "Whitelist Mode"), - GT_Utility.trans("124", "Blacklist Mode")); + GT_Utility.trans("125.1", "Whitelist Mode"), + GT_Utility.trans("124.1", "Blacklist Mode")); itemFilterButtons = new GT_GuiFakeItemButton(this, startX + spaceX * 0, startY + spaceY * 2, GT_GuiIcon.SLOT_GRAY); diff --git a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java index 338a214ada..a77119b413 100644 --- a/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java +++ b/src/main/java/gregtech/common/covers/GT_Cover_PlayerDetector.java @@ -97,10 +97,10 @@ public class GT_Cover_PlayerDetector extends GT_CoverBehavior { } switch (aCoverVariable) { case 0: - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("068", "Emit if any Player is close")); + GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("068.1", "Emit if any Player is close")); break; case 1: - GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("069", "Emit if other Player is close")); + GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("069.1", "Emit if other Player is close")); break; case 2: GT_Utility.sendChatToPlayer(aPlayer, GT_Utility.trans("070", "Emit if you are close")); @@ -181,9 +181,9 @@ public class GT_Cover_PlayerDetector extends GT_CoverBehavior { this.coverVariable = aCoverVariable; new GT_GuiIconCheckButton(this, 0, startX + spaceX * 0, startY + spaceY * 0, GT_GuiIcon.CHECKMARK, null) - .setTooltipText(GT_Utility.trans("068", "Emit if any Player is close")); + .setTooltipText(GT_Utility.trans("068.1", "Emit if any Player is close")); new GT_GuiIconCheckButton(this, 1, startX + spaceX * 0, startY + spaceY * 1, GT_GuiIcon.CHECKMARK, null) - .setTooltipText(GT_Utility.trans("069", "Emit if other Player is close")); + .setTooltipText(GT_Utility.trans("069.1", "Emit if other Player is close")); new GT_GuiIconCheckButton(this, 2, startX + spaceX * 0, startY + spaceY * 2, GT_GuiIcon.CHECKMARK, null) .setTooltipText(GT_Utility.trans("070", "Emit if you are close")); } diff --git a/src/main/java/gregtech/common/fluid/GT_Fluid.java b/src/main/java/gregtech/common/fluid/GT_Fluid.java index b8bca3116a..e768358503 100644 --- a/src/main/java/gregtech/common/fluid/GT_Fluid.java +++ b/src/main/java/gregtech/common/fluid/GT_Fluid.java @@ -5,34 +5,38 @@ import gregtech.api.enums.FluidState; import gregtech.api.enums.GT_Values; import gregtech.api.enums.Materials; import gregtech.api.interfaces.fluid.IGT_Fluid; +import gregtech.api.interfaces.fluid.IGT_RegisteredFluid; import gregtech.api.util.GT_LanguageManager; import gregtech.api.util.GT_Utility; +import javax.annotation.Nonnull; import net.minecraft.item.ItemStack; -import net.minecraft.util.IIcon; import net.minecraft.util.ResourceLocation; import net.minecraftforge.fluids.Fluid; import net.minecraftforge.fluids.FluidContainerRegistry; import net.minecraftforge.fluids.FluidRegistry; import net.minecraftforge.fluids.FluidStack; -public class GT_Fluid extends Fluid implements IGT_Fluid, Runnable { +public class GT_Fluid extends Fluid implements IGT_Fluid, IGT_RegisteredFluid, Runnable { private final String localizedName; private final ResourceLocation stillIconResourceLocation; private final ResourceLocation flowingIconResourceLocation; private final short[] colorRGBA; private final FluidState fluidState; + private final Fluid iconsFrom; private Fluid registeredFluid; + private boolean hasRun = false; /** * Constructs this {@link IGT_Fluid} implementation from an {@link GT_FluidBuilder} instance * * @param builder The {@link GT_FluidBuilder} instance to construct this {@link IGT_Fluid} implementation */ - protected GT_Fluid(final GT_FluidBuilder builder) { + protected GT_Fluid(@Nonnull final GT_FluidBuilder builder) { super(builder.fluidName); this.localizedName = builder.localizedName; this.stillIconResourceLocation = builder.stillIconResourceLocation; this.flowingIconResourceLocation = builder.flowingIconResourceLocation; + this.iconsFrom = builder.iconsFrom; this.block = builder.fluidBlock; this.colorRGBA = builder.colorRGBA; this.fluidState = builder.fluidState; @@ -41,6 +45,37 @@ public class GT_Fluid extends Fluid implements IGT_Fluid, Runnable { } /** + * Adjusts this {@link Fluid}'s settings based on this {@link IGT_Fluid}'s state + */ + protected void configureFromStateTemperature() { + |
