aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorTec <daniel112092@gmail.com>2022-02-08 21:11:12 +0100
committerTec <daniel112092@gmail.com>2022-02-08 21:11:12 +0100
commitdc67d679daffd2101c76164e0dc767e4a2f61d15 (patch)
tree2489f1a271bbd0ff5c3fe42945e5e114812eba64 /src/main/java
parentc3362115cbad2396a7b53d60c3f2ac54f3c2cb06 (diff)
downloadGT5-Unofficial-dc67d679daffd2101c76164e0dc767e4a2f61d15.tar.gz
GT5-Unofficial-dc67d679daffd2101c76164e0dc767e4a2f61d15.tar.bz2
GT5-Unofficial-dc67d679daffd2101c76164e0dc767e4a2f61d15.zip
Fix textures in items
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/com/github/technus/tectech/loader/TecTechConfig.java3
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java118
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/render/TT_RenderedExtendedFacingTexture.java894
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;
- }
}