diff options
author | Unknown <tudurap.com@gmail.com> | 2019-07-18 11:50:31 +0200 |
---|---|---|
committer | Unknown <tudurap.com@gmail.com> | 2019-07-18 11:50:31 +0200 |
commit | 9318f52fda71c54db3eb76741aa9a062cb0fb31b (patch) | |
tree | 375fd890578eb73a0a16dfa21e3ca37b398c4836 | |
parent | a9b9388b667ba46329ef2bf6630cae4cc655fcc6 (diff) | |
parent | b78f32c9708af415060bb162a7999495b8dfcf41 (diff) | |
download | GT5-Unofficial-9318f52fda71c54db3eb76741aa9a062cb0fb31b.tar.gz GT5-Unofficial-9318f52fda71c54db3eb76741aa9a062cb0fb31b.tar.bz2 GT5-Unofficial-9318f52fda71c54db3eb76741aa9a062cb0fb31b.zip |
Merge remote-tracking branch 'origin/ActuallyBetterParametrizers' into BassAddons
2 files changed, 135 insertions, 2 deletions
diff --git a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java index 6576a2544a..228d549258 100644 --- a/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java +++ b/src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java @@ -169,7 +169,7 @@ public class GT_MetaTileEntity_TM_microwave extends GT_MetaTileEntity_Multiblock timerValue.set(timerValue.get()+1); remainingTime.set(timerSetting.get()-timerValue.get()); IGregTechTileEntity mte=getBaseMetaTileEntity(); - double[] xyzOffsets= getTranslatedOffsets(0,-1,2); + int[] xyzOffsets= getTranslatedOffsets(0,-1,2); double xPos=mte.getXCoord()+0.5f+xyzOffsets[0]; double yPos=mte.getYCoord()+0.5f+xyzOffsets[1]; double zPos=mte.getZCoord()+0.5f+xyzOffsets[2]; 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 6899b30856..0ec865b1e2 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 @@ -184,7 +184,7 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt * @param maxC * @return */ - public final AxisAlignedBB getBoundingBox(int minA,int minB,int minC,int maxA,int maxB,int maxC){ + public final AxisAlignedBB getBoundingBox(double minA,double minB,double minC,double maxA,double maxB,double maxC){ double[] offSetsMin= getTranslatedOffsets(minA,minB,minC); double[] offSetsMax= getTranslatedOffsets(maxA,maxB,maxC); for (int i=0;i<3;i++){ @@ -341,6 +341,139 @@ public abstract class GT_MetaTileEntity_MultiblockBase_EM extends GT_MetaTileEnt return result; } + public final int[] getTranslatedOffsets(int a, int b, int c){ + int[] result=new int[3]; + switch (getBaseMetaTileEntity().getFrontFacing() +(frontRotation<<3)){ + case 4: + result[0]= c; + result[2]= a; + result[1]=- b; + break; + case 12: + result[0]= c; + result[1]=- a; + result[2]=- b; + break; + case 20: + result[0]= c; + result[2]=- a; + result[1]= b; + break; + case 28: + result[0]= c; + result[1]= a; + result[2]= b; + break; + + case 3: + result[0]= a; + result[2]=- c; + result[1]=- b; + break; + case 11: + result[1]=- a; + result[2]=- c; + result[0]=- b; + break; + case 19: + result[0]=- a; + result[2]=- c; + result[1]= b; + break; + case 27: + result[1]= a; + result[2]=- c; + result[0]= b; + break; + + case 5: + result[0]=- c; + result[2]=- a; + result[1]=- b; + break; + case 13: + result[0]=- c; + result[1]=- a; + result[2]= b; + break; + case 21: + result[0]=- c; + result[2]= a; + result[1]= b; + break; + case 29: + result[0]=- c; + result[1]= a; + result[2]=- b; + break; + + case 2: + result[0]=- a; + result[2]= c; + result[1]=- b; + break; + case 10: + result[1]=- a; + result[2]= c; + result[0]= b; + break; + case 18: + result[0]= a; + result[2]= c; + result[1]= b; + break; + case 26: + result[1]= a; + result[2]= c; + result[0]=- b; + break; + //Things get odd if the block faces up or down... + case 1: + result[0]= a; + result[2]= b; + result[1]=- c; + break;//similar to 3 + case 9: + result[2]= a; + result[0]=- b; + result[1]=- c; + break;//similar to 3 + case 17: + result[0]=- a; + result[2]=- b; + result[1]=- c; + break;//similar to 3 + case 25: + result[2]=- a; + result[0]= b; + result[1]=- c; + break;//similar to 3 + + case 0: + result[0]=- a; + result[2]= b; + result[1]= c; + break;//similar to 2 + case 8: + result[2]= a; + result[0]= b; + result[1]= c; + break; + case 16: + result[0]= a; + result[2]=- b; + result[1]= c; + break; + case 24: + result[2]=- a; + result[0]=- b; + result[0]=- b; + result[1]=+ c; + break; + } + return result; + } + //can be used to check structures of multi-blocks larger than one chunk, but... //ALL THE HATCHES AND THE CONTROLLER SHOULD BE IN ONE CHUNK OR IN LOADED CHUNKS //@Deprecated |