diff options
author | Tec <daniel112092@gmail.com> | 2022-02-08 21:11:12 +0100 |
---|---|---|
committer | Tec <daniel112092@gmail.com> | 2022-02-08 21:11:12 +0100 |
commit | dc67d679daffd2101c76164e0dc767e4a2f61d15 (patch) | |
tree | 2489f1a271bbd0ff5c3fe42945e5e114812eba64 /src/main | |
parent | c3362115cbad2396a7b53d60c3f2ac54f3c2cb06 (diff) | |
download | GT5-Unofficial-dc67d679daffd2101c76164e0dc767e4a2f61d15.tar.gz GT5-Unofficial-dc67d679daffd2101c76164e0dc767e4a2f61d15.tar.bz2 GT5-Unofficial-dc67d679daffd2101c76164e0dc767e4a2f61d15.zip |
Fix textures in items
Diffstat (limited to 'src/main')
3 files changed, 72 insertions, 943 deletions
diff --git a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java index 66e549ddb1..aa6d1e5e9f 100644 --- a/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java +++ b/src/main/java/com/github/technus/tectech/loader/TecTechConfig.java @@ -11,6 +11,7 @@ public class TecTechConfig extends ConfigManager { //final static to allow compiler to remove the debug code when this is false public static boolean DEBUG_MODE = false; + public static boolean POWERLESS_MODE = false; public boolean DISABLE_MATERIAL_LOADING_FFS; public boolean BOOM_ENABLE; @@ -82,6 +83,8 @@ public class TecTechConfig extends ConfigManager { protected void Init() { DEBUG_MODE = _mainConfig.getBoolean("DebugMode", "debug", DEBUG_MODE, "Enables logging and other purely debug features"); + POWERLESS_MODE = _mainConfig.getBoolean("PowerlessMode", "debug", POWERLESS_MODE, + "Enables 0EU/t multi block machinery"); DISABLE_MATERIAL_LOADING_FFS = _mainConfig.getBoolean("DisableMaterialLoading", "debug", DISABLE_MATERIAL_LOADING_FFS, "Set to true to disable gregtech material processing"); diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java index d4fe7b6e49..10377e9298 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java @@ -44,6 +44,7 @@ import net.minecraftforge.fluids.FluidStack; import java.util.ArrayList; import static com.github.technus.tectech.loader.TecTechConfig.DEBUG_MODE; +import static com.github.technus.tectech.loader.TecTechConfig.POWERLESS_MODE; import static com.github.technus.tectech.thing.casing.GT_Block_CasingsTT.texturePage; import static com.github.technus.tectech.util.CommonValues.*; import static com.github.technus.tectech.util.DoubleCount.div; @@ -64,7 +65,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt //Sound resource - same as with screen but override getActivitySound public final static ResourceLocation activitySound = new ResourceLocation(Reference.MODID + ":fx_lo_freq"); @SideOnly(Side.CLIENT) - private SoundLoop activitySoundLoop; + private SoundLoop activitySoundLoop; //endregion //region HATCHES ARRAYS - they hold info about found hatches, add hatches to them... (auto structure magic does it tho) @@ -72,19 +73,19 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt //HATCHES!!!, should be added and removed in check machine //EM in/out - protected ArrayList<GT_MetaTileEntity_Hatch_InputElemental> eInputHatches = new ArrayList<>(); - protected ArrayList<GT_MetaTileEntity_Hatch_OutputElemental> eOutputHatches = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_InputElemental> eInputHatches = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_OutputElemental> eOutputHatches = new ArrayList<>(); //EM overflow output - protected ArrayList<GT_MetaTileEntity_Hatch_OverflowElemental> eMufflerHatches = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_OverflowElemental> eMufflerHatches = new ArrayList<>(); //extra hatches - protected ArrayList<GT_MetaTileEntity_Hatch_Param> eParamHatches = new ArrayList<>(); - protected ArrayList<GT_MetaTileEntity_Hatch_Uncertainty> eUncertainHatches = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_Param> eParamHatches = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_Uncertainty> eUncertainHatches = new ArrayList<>(); //multi amp hatches in/out - protected ArrayList<GT_MetaTileEntity_Hatch_EnergyMulti> eEnergyMulti = new ArrayList<>(); - protected ArrayList<GT_MetaTileEntity_Hatch_DynamoMulti> eDynamoMulti = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_EnergyMulti> eEnergyMulti = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_DynamoMulti> eDynamoMulti = new ArrayList<>(); //data hatches - protected ArrayList<GT_MetaTileEntity_Hatch_InputData> eInputData = new ArrayList<>(); - protected ArrayList<GT_MetaTileEntity_Hatch_OutputData> eOutputData = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_InputData> eInputData = new ArrayList<>(); + protected ArrayList<GT_MetaTileEntity_Hatch_OutputData> eOutputData = new ArrayList<>(); //endregion @@ -142,7 +143,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt //front rotation val private IAlignmentLimits alignmentLimits = IAlignmentLimits.UNLIMITED; - private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; + private ExtendedFacing extendedFacing = ExtendedFacing.DEFAULT; //endregion protected GT_MetaTileEntity_MultiblockBase_EM(int aID, String aName, String aNameRegional) { @@ -172,8 +173,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public void setExtendedFacing(ExtendedFacing newExtendedFacing) { - if(extendedFacing!=newExtendedFacing){ - extendedFacing=newExtendedFacing; + if (extendedFacing != newExtendedFacing) { + extendedFacing = newExtendedFacing; IGregTechTileEntity base = getBaseMetaTileEntity(); mMachine = false; if (getBaseMetaTileEntity().isServerSide()) { @@ -183,7 +184,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt StructureLibAPI.sendAlignment((IAlignmentProvider) base, new NetworkRegistry.TargetPoint(base.getWorld().provider.dimensionId, base.getXCoord(), base.getYCoord(), base.getZCoord(), 512)); - }else{ + } else { base.issueTextureUpdate(); } } @@ -201,20 +202,21 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt /** * Gets structure + * * @return STATIC INSTANCE OF STRUCTURE */ public abstract IStructureDefinition<? extends GT_MetaTileEntity_MultiblockBase_EM> getStructure_EM(); @SuppressWarnings("unchecked") - private IStructureDefinition<GT_MetaTileEntity_MultiblockBase_EM> getStructure_EM_Internal(){ - return (IStructureDefinition<GT_MetaTileEntity_MultiblockBase_EM>)getStructure_EM(); + private IStructureDefinition<GT_MetaTileEntity_MultiblockBase_EM> getStructure_EM_Internal() { + return (IStructureDefinition<GT_MetaTileEntity_MultiblockBase_EM>) getStructure_EM(); } - public final boolean structureCheck_EM(String piece,int horizontalOffset, int verticalOffset, int depthOffset) { + public final boolean structureCheck_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset) { IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - return getStructure_EM_Internal().check(this,piece, baseMetaTileEntity.getWorld(),getExtendedFacing(), - baseMetaTileEntity.getXCoord(),baseMetaTileEntity.getYCoord(),baseMetaTileEntity.getZCoord(), - horizontalOffset,verticalOffset,depthOffset,!mMachine); + return getStructure_EM_Internal().check(this, piece, baseMetaTileEntity.getWorld(), getExtendedFacing(), + baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord(), + horizontalOffset, verticalOffset, depthOffset, !mMachine); } public final boolean structureBuild_EM(String piece, int horizontalOffset, int verticalOffset, int depthOffset, ItemStack trigger, boolean hintsOnly) { @@ -348,7 +350,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Override public String[] getInfoData() {//TODO Do it long storedEnergy = 0; - long maxEnergy = 0; + long maxEnergy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { storedEnergy += tHatch.getBaseMetaTileEntity().getStoredEU(); @@ -626,9 +628,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @return available data */ protected long getAvailableData_EM() { - long result = 0; + long result = 0; IGregTechTileEntity baseMetaTileEntity = getBaseMetaTileEntity(); - Vec3Impl pos = new Vec3Impl(baseMetaTileEntity.getXCoord(),baseMetaTileEntity.getYCoord(),baseMetaTileEntity.getZCoord()); + Vec3Impl pos = new Vec3Impl(baseMetaTileEntity.getXCoord(), baseMetaTileEntity.getYCoord(), baseMetaTileEntity.getZCoord()); for (GT_MetaTileEntity_Hatch_InputData in : eInputData) { if (in.q != null) { Long value = in.q.contentIfNotInTrace(pos); @@ -700,8 +702,8 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt aNBT.setByte("eCertainM", eCertainMode); aNBT.setByte("eCertainS", eCertainStatus); aNBT.setByte("eMinRepair", minRepairStatus); - aNBT.setByte("eRotation", (byte)extendedFacing.getRotation().getIndex()); - aNBT.setByte("eFlip", (byte)extendedFacing.getFlip().getIndex()); + aNBT.setByte("eRotation", (byte) extendedFacing.getRotation().getIndex()); + aNBT.setByte("eFlip", (byte) extendedFacing.getFlip().getIndex()); aNBT.setBoolean("eParam", eParameters); aNBT.setBoolean("ePass", ePowerPass); aNBT.setBoolean("ePowerPassCover", ePowerPassCover); @@ -784,14 +786,14 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt eMaxAmpereGen = aNBT.getLong("eGenRating"); maxEUinputMin = aNBT.getLong("eMaxEUmin"); maxEUinputMax = aNBT.getLong("eMaxEUmax"); - eAmpereFlow = aNBT.hasKey("eRating")?aNBT.getLong("eRating"):1; + eAmpereFlow = aNBT.hasKey("eRating") ? aNBT.getLong("eRating") : 1; eMaxAmpereFlow = aNBT.getLong("eMaxA"); eRequiredData = aNBT.getLong("eDataR"); eAvailableData = aNBT.getLong("eDataA"); eCertainMode = aNBT.getByte("eCertainM"); eCertainStatus = aNBT.getByte("eCertainS"); - minRepairStatus = aNBT.hasKey("eMinRepair")?aNBT.getByte("eMinRepair"):3; - extendedFacing=ExtendedFacing.of( + minRepairStatus = aNBT.hasKey("eMinRepair") ? aNBT.getByte("eMinRepair") : 3; + extendedFacing = ExtendedFacing.of( ForgeDirection.getOrientation(getBaseMetaTileEntity().getFrontFacing()), Rotation.byIndex(aNBT.getByte("eRotation")), Flip.byIndex(aNBT.getByte("eFlip"))); @@ -827,7 +829,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt for (int i = 0; i < outputEM.length; i++) { if (compound.hasKey(Integer.toString(i))) { try { - outputEM[i] = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry,compound.getCompoundTag(Integer.toString(i))); + outputEM[i] = EMInstanceStackMap.fromNBT(TecTech.definitionsRegistry, compound.getCompoundTag(Integer.toString(i))); } catch (EMException e) { if (DEBUG_MODE) { e.printStackTrace(); @@ -1202,7 +1204,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mProgresstime = 0; mMaxProgresstime = 0; mEfficiencyIncrease = 0; - + if (aBaseMetaTileEntity.isAllowedToWork()) { if (checkRecipe(mInventory[1])) { mEfficiency = Math.max(0, min(mEfficiency + mEfficiencyIncrease, getMaxEfficiency(mInventory[1]) - (getIdealStatus() - getRepairStatus()) * 1000)); @@ -1304,16 +1306,16 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } protected void maintenance_EM() { - for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) { - if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - if (GT_MetaTileEntity_MultiBlockBase.disableMaintenance) { - mWrench = true; - mScrewdriver = true; - mSoftHammer = true; - mHardHammer = true; - mSolderingTool = true; - mCrowbar = true; - } else { + if (GT_MetaTileEntity_MultiBlockBase.disableMaintenance) { + mWrench = true; + mScrewdriver = true; + mSoftHammer = true; + mHardHammer = true; + mSolderingTool = true; + mCrowbar = true; + } else { + for (GT_MetaTileEntity_Hatch_Maintenance tHatch : mMaintenanceHatches) { + if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { if (tHatch.mAuto && !(mWrench && mScrewdriver && mSoftHammer && mHardHammer && mSolderingTool && mCrowbar)) { tHatch.autoMaintainance(); } @@ -1520,7 +1522,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } protected void dischargeController_EM(IGregTechTileEntity aBaseMetaTileEntity) { - if(ePowerPass && getEUVar() > getMinimumStoredEU()){ + if (ePowerPass && getEUVar() > getMinimumStoredEU()) { powerPass(aBaseMetaTileEntity); } } @@ -1580,7 +1582,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt break; } if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - euVar = Math.min(tHatch.maxEUInput() * tHatch.maxAmperesIn(),tHatch.getEUVar()); + euVar = Math.min(tHatch.maxEUInput() * tHatch.maxAmperesIn(), tHatch.getEUVar()); if (tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(euVar, false)) { setEUVar(getEUVar() + euVar); } @@ -1591,7 +1593,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt break; } if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - euVar = Math.min(tHatch.maxEUInput() * tHatch.maxAmperesIn(),tHatch.getEUVar()); + euVar = Math.min(tHatch.maxEUInput() * tHatch.maxAmperesIn(), tHatch.getEUVar()); if (tHatch.getBaseMetaTileEntity().decreaseStoredEnergyUnits(euVar, false)) { setEUVar(getEUVar() + euVar); } @@ -1654,6 +1656,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { + if (POWERLESS_MODE) { + return true; + } if (!drainEnergyInput_EM(mEUt, (long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { criticalStopMachine(); return false; @@ -1667,6 +1672,9 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt if (allowProduction && euFlow > 0) { addEnergyOutput_EM((long) mEUt * (long) mEfficiency / getMaxEfficiency(aStack), eAmpereFlow); } else if (euFlow < 0) { + if (POWERLESS_MODE) { + return true; + } if (!drainEnergyInput((long) mEUt * getMaxEfficiency(aStack) / Math.max(1000L, mEfficiency), eAmpereFlow)) { criticalStopMachine(); return false; @@ -1711,7 +1719,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Deprecated @Override public final boolean addEnergyOutput(long eu) { - return addEnergyOutput_EM(eu,1); + return addEnergyOutput_EM(eu, 1); } public boolean addEnergyOutput_EM(long EU, long Amperes) { @@ -1764,24 +1772,24 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt @Deprecated @Override public final boolean drainEnergyInput(long eu) { - return drainEnergyInput_EM(0,eu,1); + return drainEnergyInput_EM(0, eu, 1); } public boolean drainEnergyInput_EM(long EUtTierVoltage, long EUtEffective, long Amperes) { long EUuse = EUtEffective * Amperes; - if(EUuse==0){ + if (EUuse == 0) { return true; } - if(maxEUinputMin==0){ + if (maxEUinputMin == 0) { return false; } if (EUuse < 0) { EUuse = -EUuse; } if (EUuse > getEUVar() || //not enough power - (EUtTierVoltage==0? EUuse> getMaxInputEnergy(): + (EUtTierVoltage == 0 ? EUuse > getMaxInputEnergy() : (EUtTierVoltage > maxEUinputMax) || //TIER IS BASED ON BEST HATCH! not total EUtEffective input - (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A + (EUtTierVoltage * Amperes - 1) / maxEUinputMin + 1 > eMaxAmpereFlow)) {// EUuse==0? --> (EUuse - 1) / maxEUinputMin + 1 = 1! //if not too much A if (DEBUG_MODE) { TecTech.LOGGER.debug("L1 " + EUuse + ' ' + getEUVar() + ' ' + (EUuse > getEUVar())); TecTech.LOGGER.debug("L2 " + EUtEffective + ' ' + maxEUinputMax + ' ' + (EUtEffective > maxEUinputMax)); @@ -1797,10 +1805,10 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt public boolean drainEnergyInput(long EUtEffective, long Amperes) { long EUuse = EUtEffective * Amperes; - if(EUuse==0){ + if (EUuse == 0) { return true; } - if(maxEUinputMin==0){ + if (maxEUinputMin == 0) { return false; } if (EUuse < 0) { @@ -1822,7 +1830,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt mMaxProgresstime = time; return true; } - long tempEUt = Math.max(EU, V[1]); + long tempEUt = Math.max(EU, V[1]); long tempTier = maxEUinputMax >> 2; while (tempEUt < tempTier) { tempEUt <<= 2; @@ -1865,12 +1873,12 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt long energy = 0; for (GT_MetaTileEntity_Hatch_Energy tHatch : mEnergyHatches) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - energy += tHatch.maxEUInput()*tHatch.maxAmperesIn(); + energy += tHatch.maxEUInput() * tHatch.maxAmperesIn(); } } for (GT_MetaTileEntity_Hatch_EnergyMulti tHatch : eEnergyMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - energy += tHatch.maxEUInput()*tHatch.maxAmperesIn(); + energy += tHatch.maxEUInput() * tHatch.maxAmperesIn(); } } return energy; @@ -1885,7 +1893,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt } for (GT_MetaTileEntity_Hatch_EnergyMulti tHatch : eEnergyMulti) { if (GT_MetaTileEntity_MultiBlockBase.isValidMetaTileEntity(tHatch)) { - energy += tHatch.maxEUInput()*tHatch.Amperes; + energy += tHatch.maxEUInput() * tHatch.Amperes; } } return energy; diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java index 5ed53634de..9795b42827 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java @@ -1,39 +1,16 @@ package com.github.technus.tectech.thing.metaTileEntity.multi.base.render; -import com.github.technus.tectech.util.LightingHelper; -import com.gtnewhorizon.structurelib.alignment.IAlignmentProvider; -import com.gtnewhorizon.structurelib.alignment.enumerable.ExtendedFacing; import gregtech.api.enums.Dyes; -import gregtech.api.interfaces.IColorModulationContainer; import gregtech.api.interfaces.IIconContainer; -import gregtech.api.interfaces.ITexture; -import gregtech.api.interfaces.metatileentity.IMetaTileEntity; -import gregtech.api.interfaces.tileentity.IGregTechTileEntity; -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderBlocks; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.IIcon; -import net.minecraft.world.World; -import net.minecraftforge.common.util.ForgeDirection; +import gregtech.common.render.GT_RenderedTexture; -public class TT_RenderedExtendedFacingTexture implements ITexture,IColorModulationContainer { - private final IIconContainer mIconContainer; - private final boolean mAllowAlpha; - /** - * DO NOT MANIPULATE THE VALUES INSIDE THIS ARRAY!!! - * <p/> - * Just set this variable to another different Array instead. - * Otherwise some colored things will get Problems. - */ - public short[] mRGBa; +public class TT_RenderedExtendedFacingTexture extends GT_RenderedTexture { + public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean allowAlpha, boolean glow, boolean stdOrient, boolean extFacing) { + super(aIcon, aRGBa, allowAlpha, glow, stdOrient, extFacing); + } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa, boolean aAllowAlpha) { - if (aRGBa.length != 4) throw new IllegalArgumentException("RGBa doesn't have 4 Values @ TT_RenderedTexture"); - mIconContainer = aIcon; - mAllowAlpha = aAllowAlpha; - mRGBa = aRGBa; + this(aIcon,aRGBa,aAllowAlpha,false,false,true); } public TT_RenderedExtendedFacingTexture(IIconContainer aIcon, short[] aRGBa) { @@ -43,863 +20,4 @@ public class TT_RenderedExtendedFacingTexture implements ITexture,IColorModulati public TT_RenderedExtendedFacingTexture(IIconContainer aIcon) { this(aIcon, Dyes._NULL.mRGBa); } - - @Override - public void renderXPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - aRenderer.field_152631_f = true; - LightingHelper lighting = new LightingHelper(aRenderer); - lighting.setupLightingXPos(aBlock, aX, aY, aZ).setupColor(ForgeDirection.EAST.ordinal(), mRGBa); - ExtendedFacing rotation = getExtendedFacing(aX, aY, aZ); - renderFaceXPos(aRenderer, aX, aY, aZ, mIconContainer.getIcon(), rotation); - if (mIconContainer.getOverlayIcon() != null) { - lighting.setupColor(ForgeDirection.EAST.ordinal(), 0xffffff); - renderFaceXPos(aRenderer, aX, aY, aZ, mIconContainer.getOverlayIcon(), rotation); - } - aRenderer.field_152631_f = false; - } - - @Override - public void renderXNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - LightingHelper lighting = new LightingHelper(aRenderer); - lighting.setupLightingXNeg(aBlock, aX, aY, aZ).setupColor(ForgeDirection.WEST.ordinal(), mRGBa); - ExtendedFacing rotation = getExtendedFacing(aX, aY, aZ); - renderFaceXNeg(aRenderer, aX, aY, aZ, mIconContainer.getIcon(), rotation); - if (mIconContainer.getOverlayIcon() != null) { - lighting.setupColor(ForgeDirection.WEST.ordinal(), 0xffffff); - renderFaceXNeg(aRenderer, aX, aY, aZ, mIconContainer.getOverlayIcon(), rotation); - } - } - - @Override - public void renderYPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - LightingHelper lighting = new LightingHelper(aRenderer); - lighting.setupLightingYPos(aBlock, aX, aY, aZ).setupColor(ForgeDirection.UP.ordinal(), mRGBa); - ExtendedFacing rotation = getExtendedFacing(aX, aY, aZ); - renderFaceYPos(aRenderer, aX, aY, aZ, mIconContainer.getIcon(), rotation); - if (mIconContainer.getOverlayIcon() != null) { - lighting.setupColor(ForgeDirection.UP.ordinal(), 0xffffff); - renderFaceYPos(aRenderer, aX, aY, aZ, mIconContainer.getOverlayIcon(), rotation); - } - } - - @Override - public void renderYNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - LightingHelper lighting = new LightingHelper(aRenderer); - lighting.setupLightingYNeg(aBlock, aX, aY, aZ).setupColor(ForgeDirection.DOWN.ordinal(), mRGBa); - ExtendedFacing rotation = getExtendedFacing(aX, aY, aZ); - renderFaceYNeg(aRenderer, aX, aY, aZ, mIconContainer.getIcon(), rotation); - if (mIconContainer.getOverlayIcon() != null) { - Tessellator.instance.setColorRGBA(255, 255, 255, 255); - renderFaceYNeg(aRenderer, aX, aY, aZ, mIconContainer.getOverlayIcon(), rotation); - } - } - - @Override - public void renderZPos(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - LightingHelper lighting = new LightingHelper(aRenderer); - lighting.setupLightingZPos(aBlock, aX, aY, aZ).setupColor(ForgeDirection.SOUTH.ordinal(), mRGBa); - ExtendedFacing rotation = getExtendedFacing(aX, aY, aZ); - renderFaceZPos(aRenderer, aX, aY, aZ, mIconContainer.getIcon(), rotation); - if (mIconContainer.getOverlayIcon() != null) { - lighting.setupColor(ForgeDirection.SOUTH.ordinal(), 0xffffff); - renderFaceZPos(aRenderer, aX, aY, aZ, mIconContainer.getOverlayIcon(), rotation); - } - } - - @Override - public void renderZNeg(RenderBlocks aRenderer, Block aBlock, int aX, int aY, int aZ) { - aRenderer.field_152631_f = true; - LightingHelper lighting = new LightingHelper(aRenderer); - lighting.setupLightingZNeg(aBlock, aX, aY, aZ).setupColor(ForgeDirection.NORTH.ordinal(), mRGBa); - ExtendedFacing rotation = getExtendedFacing(aX, aY, aZ); - renderFaceZNeg(aRenderer, aX, aY, aZ, mIconContainer.getIcon(), rotation); - if (mIconContainer.getOverlayIcon() != null) { - lighting.setupColor(ForgeDirection.NORTH.ordinal(), 0xffffff); - renderFaceZNeg(aRenderer, aX, aY, aZ, mIconContainer.getOverlayIcon(), rotation); - } - aRenderer.field_152631_f = false; - } - - /** - * Renders the given texture to the bottom face of the block. Args: block, x, y, z, texture - */ - public void renderFaceYNeg(RenderBlocks aRenderer, double x, double y, double z, IIcon icon, ExtendedFacing rotation) { - Tessellator tessellator = Tessellator.instance; - - if (aRenderer.hasOverrideBlockTexture()) { - icon = aRenderer.overrideBlockTexture; - } - - double d3 = icon.getInterpolatedU(aRenderer.renderMaxX * 16.0D); - double d4 = icon.getInterpolatedU(aRenderer.renderMinX * 16.0D); - double d5 = icon.getInterpolatedV(aRenderer.renderMinZ * 16.0D); - double d6 = icon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D); - - if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) { - d3 = icon.getMaxU(); - d4 = icon.getMinU(); - } - - if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { - d5 = icon.getMinV(); - d6 = icon.getMaxV(); - } - - { - double temp; - switch (rotation.getFlip().ordinal()){ - case 1: - temp=d3; - d3=d4; - d4=temp; - break; - case 2: - temp=d5; - d5=d6; - d6=temp; - case 3: - temp=d3; - d3=d4; - d4=temp; - break; - } - } - - double d7 = d4; - double d8 = d3; - double d9 = d5; - double d10 = d6; - - switch (rotation.getRotation().ordinal()) { - case 3: - d3 = icon.getInterpolatedU(aRenderer.renderMaxZ * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxX * 16.0D); - d4 = icon.getInterpolatedU(aRenderer.renderMinZ * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinX * 16.0D); - d9 = d5; - d10 = d6; - d7 = d3; - d8 = d4; - d5 = d6; - d6 = d9; - break; - case 1: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinZ * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxZ * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMaxX * 16.0D); - d7 = d4; - d8 = d3; - d3 = d4; - d4 = d8; - d9 = d6; - d10 = d5; - break; - case 2: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMinX * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMinZ * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxZ * 16.0D); - d7 = d4; - d8 = d3; - d9 = d5; - d10 = d6; - break; - } - - double d11 = x + aRenderer.renderMinX; - double d12 = x + aRenderer.renderMaxX; - double d13 = y + aRenderer.renderMinY; - double d14 = z + aRenderer.renderMinZ; - double d15 = z + aRenderer.renderMaxZ; - - if (aRenderer.renderFromInside) { - d11 = x + aRenderer.renderMaxX; - d12 = x + aRenderer.renderMinX; - } - - if (aRenderer.enableAO) { - tessellator.setColorOpaque_F(aRenderer.colorRedTopLeft, aRenderer.colorGreenTopLeft, aRenderer.colorBlueTopLeft); - tessellator.setBrightness(aRenderer.brightnessTopLeft); - tessellator.addVertexWithUV(d11, d13, d15, d8, d10); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomLeft, aRenderer.colorGreenBottomLeft, aRenderer.colorBlueBottomLeft); - tessellator.setBrightness(aRenderer.brightnessBottomLeft); - tessellator.addVertexWithUV(d11, d13, d14, d3, d5); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomRight, aRenderer.colorGreenBottomRight, aRenderer.colorBlueBottomRight); - tessellator.setBrightness(aRenderer.brightnessBottomRight); - tessellator.addVertexWithUV(d12, d13, d14, d7, d9); - tessellator.setColorOpaque_F(aRenderer.colorRedTopRight, aRenderer.colorGreenTopRight, aRenderer.colorBlueTopRight); - tessellator.setBrightness(aRenderer.brightnessTopRight); - tessellator.addVertexWithUV(d12, d13, d15, d4, d6); - } else { - tessellator.addVertexWithUV(d11, d13, d15, d8, d10); - tessellator.addVertexWithUV(d11, d13, d14, d3, d5); - tessellator.addVertexWithUV(d12, d13, d14, d7, d9); - tessellator.addVertexWithUV(d12, d13, d15, d4, d6); - } - } - - /** - * Renders the given texture to the top face of the block. Args: block, x, y, z, texture - */ - public void renderFaceYPos(RenderBlocks aRenderer, double x, double y, double z, IIcon icon, ExtendedFacing rotation) { - Tessellator tessellator = Tessellator.instance; - - if (aRenderer.hasOverrideBlockTexture()) { - icon = aRenderer.overrideBlockTexture; - } - - double d3 = icon.getInterpolatedU(aRenderer.renderMinX * 16.0D); - double d4 = icon.getInterpolatedU(aRenderer.renderMaxX * 16.0D); - double d5 = icon.getInterpolatedV(aRenderer.renderMinZ * 16.0D); - double d6 = icon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D); - - if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) { - d3 = icon.getMinU(); - d4 = icon.getMaxU(); - } - - if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { - d5 = icon.getMinV(); - d6 = icon.getMaxV(); - } - - { - double temp; - switch (rotation.getFlip().ordinal()){ - case 1: - temp=d3; - d3=d4; - d4=temp; - break; - case 2: - temp=d5; - d5=d6; - d6=temp; - case 3: - temp=d3; - d3=d4; - d4=temp; - break; - } - } - - double d7 = d4; - double d8 = d3; - double d9 = d5; - double d10 = d6; - - switch (rotation.getRotation().ordinal()) { - case 1: - d3 = icon.getInterpolatedU(aRenderer.renderMinZ * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxX * 16.0D); - d4 = icon.getInterpolatedU(aRenderer.renderMaxZ * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinX * 16.0D); - d9 = d5; - d10 = d6; - d7 = d3; - d8 = d4; - d5 = d6; - d6 = d9; - break; - case 3: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxZ * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMinZ * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMaxX * 16.0D); - d7 = d4; - d8 = d3; - d3 = d4; - d4 = d8; - d9 = d6; - d10 = d5; - break; - case 2: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxX * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMinZ * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxZ * 16.0D); - d7 = d4; - d8 = d3; - d9 = d5; - d10 = d6; - break; - } - - double d11 = x + aRenderer.renderMinX; - double d12 = x + aRenderer.renderMaxX; - double d13 = y + aRenderer.renderMaxY; - double d14 = z + aRenderer.renderMinZ; - double d15 = z + aRenderer.renderMaxZ; - - if (aRenderer.renderFromInside) { - d11 = x + aRenderer.renderMaxX; - d12 = x + aRenderer.renderMinX; - } - - if (aRenderer.enableAO) { - tessellator.setColorOpaque_F(aRenderer.colorRedTopLeft, aRenderer.colorGreenTopLeft, aRenderer.colorBlueTopLeft); - tessellator.setBrightness(aRenderer.brightnessTopLeft); - tessellator.addVertexWithUV(d12, d13, d15, d4, d6); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomLeft, aRenderer.colorGreenBottomLeft, aRenderer.colorBlueBottomLeft); - tessellator.setBrightness(aRenderer.brightnessBottomLeft); - tessellator.addVertexWithUV(d12, d13, d14, d7, d9); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomRight, aRenderer.colorGreenBottomRight, aRenderer.colorBlueBottomRight); - tessellator.setBrightness(aRenderer.brightnessBottomRight); - tessellator.addVertexWithUV(d11, d13, d14, d3, d5); - tessellator.setColorOpaque_F(aRenderer.colorRedTopRight, aRenderer.colorGreenTopRight, aRenderer.colorBlueTopRight); - tessellator.setBrightness(aRenderer.brightnessTopRight); - tessellator.addVertexWithUV(d11, d13, d15, d8, d10); - } else { - tessellator.addVertexWithUV(d12, d13, d15, d4, d6); - tessellator.addVertexWithUV(d12, d13, d14, d7, d9); - tessellator.addVertexWithUV(d11, d13, d14, d3, d5); - tessellator.addVertexWithUV(d11, d13, d15, d8, d10); - } - } - - /** - * Renders the given texture to the north (z-negative) face of the block. Args: block, x, y, z, texture - */ - public void renderFaceZNeg(RenderBlocks aRenderer, double x, double y, double z, IIcon icon, ExtendedFacing rotation) { - Tessellator tessellator = Tessellator.instance; - - if (aRenderer.hasOverrideBlockTexture()) { - icon = aRenderer.overrideBlockTexture; - } - - double d3 = icon.getInterpolatedU(aRenderer.renderMinX * 16.0D); - double d4 = icon.getInterpolatedU(aRenderer.renderMaxX * 16.0D); - - if (aRenderer.field_152631_f) { - d4 = icon.getInterpolatedU((1.0D - aRenderer.renderMinX) * 16.0D); - d3 = icon.getInterpolatedU((1.0D - aRenderer.renderMaxX) * 16.0D); - } - - double d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxY * 16.0D); - double d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinY * 16.0D); - - double d7; - - if (aRenderer.flipTexture) { - d7 = d3; - d3 = d4; - d4 = d7; - } - - if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) { - d3 = icon.getMinU(); - d4 = icon.getMaxU(); - } - - if (aRenderer.renderMinY < 0.0D || aRenderer.renderMaxY > 1.0D) { - d5 = icon.getMinV(); - d6 = icon.getMaxV(); - } - - { - double temp; - switch (rotation.getFlip().ordinal()){ - case 1: - temp=d3; - d3=d4; - d4=temp; - break; - case 2: - temp=d5; - d5=d6; - d6=temp; - case 3: - temp=d3; - d3=d4; - d4=temp; - break; - } - } - - d7 = d4; - double d8 = d3; - double d9 = d5; - double d10 = d6; - - switch (rotation.getRotation().ordinal()) { - case 3: - d3 = icon.getInterpolatedU(aRenderer.renderMaxY * 16.0D); - d4 = icon.getInterpolatedU(aRenderer.renderMinY * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMinX * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxX * 16.0D); - d9 = d5; - d10 = d6; - d7 = d3; - d8 = d4; - d5 = d6; - d6 = d9; - break; - case 1: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinY * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxY * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMaxX * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMinX * 16.0D); - d7 = d4; - d8 = d3; - d3 = d4; - d4 = d8; - d9 = d6; - d10 = d5; - break; - case 2: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxX * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMaxY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMinY * 16.0D); - d7 = d4; - d8 = d3; - d9 = d5; - d10 = d6; - break; - } - - double d11 = x + aRenderer.renderMinX; - double d12 = x + aRenderer.renderMaxX; - double d13 = y + aRenderer.renderMinY; - double d14 = y + aRenderer.renderMaxY; - double d15 = z + aRenderer.renderMinZ; - - if (aRenderer.renderFromInside) { - d11 = x + aRenderer.renderMaxX; - d12 = x + aRenderer.renderMinX; - } - - if (aRenderer.enableAO) { - tessellator.setColorOpaque_F(aRenderer.colorRedTopLeft, aRenderer.colorGreenTopLeft, aRenderer.colorBlueTopLeft); - tessellator.setBrightness(aRenderer.brightnessTopLeft); - tessellator.addVertexWithUV(d11, d14, d15, d7, d9); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomLeft, aRenderer.colorGreenBottomLeft, aRenderer.colorBlueBottomLeft); - tessellator.setBrightness(aRenderer.brightnessBottomLeft); - tessellator.addVertexWithUV(d12, d14, d15, d3, d5); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomRight, aRenderer.colorGreenBottomRight, aRenderer.colorBlueBottomRight); - tessellator.setBrightness(aRenderer.brightnessBottomRight); - tessellator.addVertexWithUV(d12, d13, d15, d8, d10); - tessellator.setColorOpaque_F(aRenderer.colorRedTopRight, aRenderer.colorGreenTopRight, aRenderer.colorBlueTopRight); - tessellator.setBrightness(aRenderer.brightnessTopRight); - tessellator.addVertexWithUV(d11, d13, d15, d4, d6); - } else { - tessellator.addVertexWithUV(d11, d14, d15, d7, d9); - tessellator.addVertexWithUV(d12, d14, d15, d3, d5); - tessellator.addVertexWithUV(d12, d13, d15, d8, d10); - tessellator.addVertexWithUV(d11, d13, d15, d4, d6); - } - } - - /** - * Renders the given texture to the south (z-positive) face of the block. Args: block, x, y, z, texture - */ - public void renderFaceZPos(RenderBlocks aRenderer, double x, double y, double z, IIcon icon, ExtendedFacing rotation) { - Tessellator tessellator = Tessellator.instance; - - if (aRenderer.hasOverrideBlockTexture()) { - icon = aRenderer.overrideBlockTexture; - } - - double d3 = icon.getInterpolatedU(aRenderer.renderMinX * 16.0D); - double d4 = icon.getInterpolatedU(aRenderer.renderMaxX * 16.0D); - double d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxY * 16.0D); - double d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinY * 16.0D); - double d7; - - if (aRenderer.flipTexture) { - d7 = d3; - d3 = d4; - d4 = d7; - } - - if (aRenderer.renderMinX < 0.0D || aRenderer.renderMaxX > 1.0D) { - d3 = icon.getMinU(); - d4 = icon.getMaxU(); - } - - if (aRenderer.renderMinY < 0.0D || aRenderer.renderMaxY > 1.0D) { - d5 = icon.getMinV(); - d6 = icon.getMaxV(); - } - - { - double temp; - switch (rotation.getFlip().ordinal()){ - case 1: - temp=d3; - d3=d4; - d4=temp; - break; - case 2: - temp=d5; - d5=d6; - d6=temp; - case 3: - temp=d3; - d3=d4; - d4=temp; - break; - } - } - - d7 = d4; - double d8 = d3; - double d9 = d5; - double d10 = d6; - - switch (rotation.getRotation().ordinal()) { - case 1: - d3 = icon.getInterpolatedU(aRenderer.renderMinY * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(aRenderer.renderMaxY * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxX * 16.0D); - d9 = d5; - d10 = d6; - d7 = d3; - d8 = d4; - d5 = d6; - d6 = d9; - break; - case 3: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxY * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMinY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMaxX * 16.0D); - d7 = d4; - d8 = d3; - d3 = d4; - d4 = d8; - d9 = d6; - d10 = d5; - break; - case 2: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinX * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxX * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMaxY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMinY * 16.0D); - d7 = d4; - d8 = d3; - d9 = d5; - d10 = d6; - break; - } - - double d11 = x + aRenderer.renderMinX; - double d12 = x + aRenderer.renderMaxX; - double d13 = y + aRenderer.renderMinY; - double d14 = y + aRenderer.renderMaxY; - double d15 = z + aRenderer.renderMaxZ; - - if (aRenderer.renderFromInside) { - d11 = x + aRenderer.renderMaxX; - d12 = x + aRenderer.renderMinX; - } - - if (aRenderer.enableAO) { - tessellator.setColorOpaque_F(aRenderer.colorRedTopLeft, aRenderer.colorGreenTopLeft, aRenderer.colorBlueTopLeft); - tessellator.setBrightness(aRenderer.brightnessTopLeft); - tessellator.addVertexWithUV(d11, d14, d15, d3, d5); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomLeft, aRenderer.colorGreenBottomLeft, aRenderer.colorBlueBottomLeft); - tessellator.setBrightness(aRenderer.brightnessBottomLeft); - tessellator.addVertexWithUV(d11, d13, d15, d8, d10); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomRight, aRenderer.colorGreenBottomRight, aRenderer.colorBlueBottomRight); - tessellator.setBrightness(aRenderer.brightnessBottomRight); - tessellator.addVertexWithUV(d12, d13, d15, d4, d6); - tessellator.setColorOpaque_F(aRenderer.colorRedTopRight, aRenderer.colorGreenTopRight, aRenderer.colorBlueTopRight); - tessellator.setBrightness(aRenderer.brightnessTopRight); - tessellator.addVertexWithUV(d12, d14, d15, d7, d9); - } else { - tessellator.addVertexWithUV(d11, d14, d15, d3, d5); - tessellator.addVertexWithUV(d11, d13, d15, d8, d10); - tessellator.addVertexWithUV(d12, d13, d15, d4, d6); - tessellator.addVertexWithUV(d12, d14, d15, d7, d9); - } - } - - /** - * Renders the given texture to the west (x-negative) face of the block. Args: block, x, y, z, texture - */ - public void renderFaceXNeg(RenderBlocks aRenderer, double x, double y, double z, IIcon icon, ExtendedFacing rotation) { - Tessellator tessellator = Tessellator.instance; - - if (aRenderer.hasOverrideBlockTexture()) { - icon = aRenderer.overrideBlockTexture; - } - - double d3 = icon.getInterpolatedU(aRenderer.renderMinZ * 16.0D); - double d4 = icon.getInterpolatedU(aRenderer.renderMaxZ * 16.0D); - double d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxY * 16.0D); - double d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinY * 16.0D); - double d7; - - if (aRenderer.flipTexture) { - d7 = d3; - d3 = d4; - d4 = d7; - } - - if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { - d3 = icon.getMinU(); - d4 = icon.getMaxU(); - } - - if (aRenderer.renderMinY < 0.0D || aRenderer.renderMaxY > 1.0D) { - d5 = icon.getMinV(); - d6 = icon.getMaxV(); - } - - { - double temp; - switch (rotation.getFlip().ordinal()){ - case 1: - temp=d3; - d3=d4; - d4=temp; - break; - case 2: - temp=d5; - d5=d6; - d6=temp; - case 3: - temp=d3; - d3=d4; - d4=temp; - break; - } - } - - d7 = d4; - double d8 = d3; - double d9 = d5; - double d10 = d6; - - switch (rotation.getRotation().ordinal()) { - case 1: - d3 = icon.getInterpolatedU(aRenderer.renderMinY * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxZ * 16.0D); - d4 = icon.getInterpolatedU(aRenderer.renderMaxY * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinZ * 16.0D); - d9 = d5; - d10 = d6; - d7 = d3; - d8 = d4; - d5 = d6; - d6 = d9; - break; - case 3: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxY * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMinZ * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMinY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D); - d7 = d4; - d8 = d3; - d3 = d4; - d4 = d8; - d9 = d6; - d10 = d5; - break; - case 2: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinZ * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxZ * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMaxY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMinY * 16.0D); - d7 = d4; - d8 = d3; - d9 = d5; - d10 = d6; - break; - } - - double d11 = x + aRenderer.renderMinX; - double d12 = y + aRenderer.renderMinY; - double d13 = y + aRenderer.renderMaxY; - double d14 = z + aRenderer.renderMinZ; - double d15 = z + aRenderer.renderMaxZ; - - if (aRenderer.renderFromInside) { - d14 = z + aRenderer.renderMaxZ; - d15 = z + aRenderer.renderMinZ; - } - - if (aRenderer.enableAO) { - tessellator.setColorOpaque_F(aRenderer.colorRedTopLeft, aRenderer.colorGreenTopLeft, aRenderer.colorBlueTopLeft); - tessellator.setBrightness(aRenderer.brightnessTopLeft); - tessellator.addVertexWithUV(d11, d13, d15, d7, d9); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomLeft, aRenderer.colorGreenBottomLeft, aRenderer.colorBlueBottomLeft); - tessellator.setBrightness(aRenderer.brightnessBottomLeft); - tessellator.addVertexWithUV(d11, d13, d14, d3, d5); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomRight, aRenderer.colorGreenBottomRight, aRenderer.colorBlueBottomRight); - tessellator.setBrightness(aRenderer.brightnessBottomRight); - tessellator.addVertexWithUV(d11, d12, d14, d8, d10); - tessellator.setColorOpaque_F(aRenderer.colorRedTopRight, aRenderer.colorGreenTopRight, aRenderer.colorBlueTopRight); - tessellator.setBrightness(aRenderer.brightnessTopRight); - tessellator.addVertexWithUV(d11, d12, d15, d4, d6); - } else { - tessellator.addVertexWithUV(d11, d13, d15, d7, d9); - tessellator.addVertexWithUV(d11, d13, d14, d3, d5); - tessellator.addVertexWithUV(d11, d12, d14, d8, d10); - tessellator.addVertexWithUV(d11, d12, d15, d4, d6); - } - } - - /** - * Renders the given texture to the east (x-positive) face of the block. Args: block, x, y, z, texture - */ - public void renderFaceXPos(RenderBlocks aRenderer, double x, double y, double z, IIcon icon, ExtendedFacing rotation) { - Tessellator tessellator = Tessellator.instance; - - if (aRenderer.hasOverrideBlockTexture()) { - icon = aRenderer.overrideBlockTexture; - } - - double d3 = icon.getInterpolatedU(aRenderer.renderMinZ * 16.0D); - double d4 = icon.getInterpolatedU(aRenderer.renderMaxZ * 16.0D); - - if (aRenderer.field_152631_f) { - d4 = icon.getInterpolatedU((1.0D - aRenderer.renderMinZ) * 16.0D); - d3 = icon.getInterpolatedU((1.0D - aRenderer.renderMaxZ) * 16.0D); - } - - double d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxY * 16.0D); - double d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMinY * 16.0D); - double d7; - - if (aRenderer.flipTexture) { - d7 = d3; - d3 = d4; - d4 = d7; - } - - if (aRenderer.renderMinZ < 0.0D || aRenderer.renderMaxZ > 1.0D) { - d3 = icon.getMinU(); - d4 = icon.getMaxU(); - } - - if (aRenderer.renderMinY < 0.0D || aRenderer.renderMaxY > 1.0D) { - d5 = icon.getMinV(); - d6 = icon.getMaxV(); - } - - { - double temp; - switch (rotation.getFlip().ordinal()){ - case 1: - temp=d3; - d3=d4; - d4=temp; - break; - case 2: - temp=d5; - d5=d6; - d6=temp; - case 3: - temp=d3; - d3=d4; - d4=temp; - break; - } - } - - d7 = d4; - double d8 = d3; - double d9 = d5; - double d10 = d6; - - switch (rotation.getRotation().ordinal()) { - case 3: - d3 = icon.getInterpolatedU(aRenderer.renderMaxY * 16.0D); - d5 = icon.getInterpolatedV(16.0D - aRenderer.renderMinZ * 16.0D); - d4 = icon.getInterpolatedU(aRenderer.renderMinY * 16.0D); - d6 = icon.getInterpolatedV(16.0D - aRenderer.renderMaxZ * 16.0D); - d9 = d5; - d10 = d6; - d7 = d3; - d8 = d4; - d5 = d6; - d6 = d9; - break; - case 1: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinY * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMaxZ * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMinZ * 16.0D); - d7 = d4; - d8 = d3; - d3 = d4; - d4 = d8; - d9 = d6; - d10 = d5; - break; - case 2: - d3 = icon.getInterpolatedU(16.0D - aRenderer.renderMinZ * 16.0D); - d4 = icon.getInterpolatedU(16.0D - aRenderer.renderMaxZ * 16.0D); - d5 = icon.getInterpolatedV(aRenderer.renderMaxY * 16.0D); - d6 = icon.getInterpolatedV(aRenderer.renderMinY * 16.0D); - d7 = d4; - d8 = d3; - d9 = d5; - d10 = d6; - break; - } - - double d11 = x + aRenderer.renderMaxX; - double d12 = y + aRenderer.renderMinY; - double d13 = y + aRenderer.renderMaxY; - double d14 = z + aRenderer.renderMinZ; - double d15 = z + aRenderer.renderMaxZ; - - if (aRenderer.renderFromInside) { - d14 = z + aRenderer.renderMaxZ; - d15 = z + aRenderer.renderMinZ; - } - - if (aRenderer.enableAO) { - tessellator.setColorOpaque_F(aRenderer.colorRedTopLeft, aRenderer.colorGreenTopLeft, aRenderer.colorBlueTopLeft); - tessellator.setBrightness(aRenderer.brightnessTopLeft); - tessellator.addVertexWithUV(d11, d12, d15, d8, d10); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomLeft, aRenderer.colorGreenBottomLeft, aRenderer.colorBlueBottomLeft); - tessellator.setBrightness(aRenderer.brightnessBottomLeft); - tessellator.addVertexWithUV(d11, d12, d14, d4, d6); - tessellator.setColorOpaque_F(aRenderer.colorRedBottomRight, aRenderer.colorGreenBottomRight, aRenderer.colorBlueBottomRight); - tessellator.setBrightness(aRenderer.brightnessBottomRight); - tessellator.addVertexWithUV(d11, d13, d14, d7, d9); - tessellator.setColorOpaque_F(aRenderer.colorRedTopRight, aRenderer.colorGreenTopRight, aRenderer.colorBlueTopRight); - tessellator.setBrightness(aRenderer.brightnessTopRight); - tessellator.addVertexWithUV(d11, d13, d15, d3, d5); - } else { - tessellator.addVertexWithUV(d11, d12, d15, d8, d10); - tessellator.addVertexWithUV(d11, d12, d14, d4, d6); - tessellator.addVertexWithUV(d11, d13, d14, d7, d9); - tessellator.addVertexWithUV(d11, d13, d15, d3, d5); - } - } - - @Override - public short[] getRGBA() { - return mRGBa; - } - - @Override - public boolean isValidTexture() { - return mIconContainer != null; - } - - private static ExtendedFacing getExtendedFacing(int x, int y, int z) { - World w = Minecraft.getMinecraft().theWorld; - if (w != null) { - TileEntity te = w.getTileEntity(x, y, z); - if (te instanceof IGregTechTileEntity) { - IMetaTileEntity meta = ((IGregTechTileEntity) te).getMetaTileEntity(); - if (meta instanceof IAlignmentProvider) { - return ((IAlignmentProvider) meta).getAlignment().getExtendedFacing(); - }else{ - return ExtendedFacing.of(ForgeDirection.getOrientation(meta.getBaseMetaTileEntity().getFrontFacing())); - } - } else if (te instanceof IAlignmentProvider) { - return ((IAlignmentProvider) te).getAlignment().getExtendedFacing(); - } - } - return ExtendedFacing.DEFAULT; - } } |