aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com
diff options
context:
space:
mode:
authorUnknown <tudurap.com@gmail.com>2019-07-18 11:50:31 +0200
committerUnknown <tudurap.com@gmail.com>2019-07-18 11:50:31 +0200
commit9318f52fda71c54db3eb76741aa9a062cb0fb31b (patch)
tree375fd890578eb73a0a16dfa21e3ca37b398c4836 /src/main/java/com
parenta9b9388b667ba46329ef2bf6630cae4cc655fcc6 (diff)
parentb78f32c9708af415060bb162a7999495b8dfcf41 (diff)
downloadGT5-Unofficial-9318f52fda71c54db3eb76741aa9a062cb0fb31b.tar.gz
GT5-Unofficial-9318f52fda71c54db3eb76741aa9a062cb0fb31b.tar.bz2
GT5-Unofficial-9318f52fda71c54db3eb76741aa9a062cb0fb31b.zip
Merge remote-tracking branch 'origin/ActuallyBetterParametrizers' into BassAddons
Diffstat (limited to 'src/main/java/com')
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/GT_MetaTileEntity_TM_microwave.java2
-rw-r--r--src/main/java/com/github/technus/tectech/thing/metaTileEntity/multi/base/GT_MetaTileEntity_MultiblockBase_EM.java135
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