aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/gregtech/common/tileentities/machines
diff options
context:
space:
mode:
authorTechnus <daniel112092@gmail.com>2016-10-24 18:11:15 +0200
committerTechnus <daniel112092@gmail.com>2016-10-24 18:11:15 +0200
commit9ecccffd9436d9684311820b184e35d5328415da (patch)
tree9ffc73d2ab6ba8c429bc0ec8a176d2e89a44d2f2 /src/main/java/gregtech/common/tileentities/machines
parentef5a72fa51fd8d192b06cc410f6c8f21343369e7 (diff)
downloadGT5-Unofficial-9ecccffd9436d9684311820b184e35d5328415da.tar.gz
GT5-Unofficial-9ecccffd9436d9684311820b184e35d5328415da.tar.bz2
GT5-Unofficial-9ecccffd9436d9684311820b184e35d5328415da.zip
Optimized overclockedness
Diffstat (limited to 'src/main/java/gregtech/common/tileentities/machines')
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java24
-rw-r--r--src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java18
2 files changed, 25 insertions, 17 deletions
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java
index 2ddd24b138..2f59b56898 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Disassembler.java
@@ -41,25 +41,30 @@ public class GT_MetaTileEntity_Disassembler
if (getBaseMetaTileEntity().getRandomNumber(100) < 50 + 10 * this.mTier) {
this.mOutputItems[i] = GT_Utility.loadItem(tNBT, "Ingredient." + i);
if (this.mOutputItems[i] != null) {
- this.mMaxProgresstime *= (mTier>5 ? 1.7F-(mTier/10.0F) : 1.7F);
+ this.mMaxProgresstime *= 1.7F;
isAnyOutput=true;
}
}
}
- if(!isAnyOutput){
- return 0;
+ if(!isAnyOutput)
+ return DID_NOT_FIND_RECIPE;
+ for(int i=mTier-5;i>0;i--){
+ this.mMaxProgresstime>>=1;
+ if(this.mMaxProgresstime==0)
+ this.mEUt = this.mEUt>>1;
}
+ this.mMaxProgresstime = this.mMaxProgresstime==0 ? 1 : this.mMaxProgresstime;
getInputAt(0).stackSize -= 1;
- return 2;
+ return FOUND_AND_SUCCESSFULLY_USED_RECIPE;
}
}
}
- return 0;
+ return DID_NOT_FIND_RECIPE;
}
private void calculateOverclockedNessDisassembler(int aEUt) {
if(mTier==0){
- mEUt=aEUt/4;
+ mEUt=aEUt>>2;
}else{
//Long EUt calculation
long xEUt=aEUt;
@@ -67,14 +72,15 @@ public class GT_MetaTileEntity_Disassembler
long tempEUt = xEUt<GT_Values.V[1] ? GT_Values.V[1] : xEUt;
while (tempEUt <= GT_Values.V[mTier -1] * (long)mAmperage) {
- tempEUt *= 4;//this actually controls overclocking
- xEUt *= 4;//this is effect of overclocking
+ tempEUt<<=2;//this actually controls overclocking
+ xEUt<<=2;//this is effect of overclocking
}
if(xEUt>Integer.MAX_VALUE-1){
mEUt = Integer.MAX_VALUE-1;
}else{
mEUt = (int)xEUt;
- mEUt = mEUt == 0 ? 1 : mEUt;
+ if(mEUt==0)
+ mEUt = 1;
}
}
}
diff --git a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
index 5035cfa831..25ce3060ec 100644
--- a/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
+++ b/src/main/java/gregtech/common/tileentities/machines/basic/GT_MetaTileEntity_Massfabricator.java
@@ -70,17 +70,16 @@ public class GT_MetaTileEntity_Massfabricator
private void calculateOverclockedNessMassFabricator() {
if(mTier==0){
//Long time calculation
- long xMaxProgresstime = (long)sDurationMultiplier*2L;
+ long xMaxProgresstime = ((long)sDurationMultiplier)<<1;
if(xMaxProgresstime>Integer.MAX_VALUE-1){
//make impossible if too long
mEUt=Integer.MAX_VALUE-1;
mMaxProgresstime=Integer.MAX_VALUE-1;
}else{
- mEUt= (int)(GT_Values.V[1] * 4);
+ mEUt= (int)(GT_Values.V[1]<<2);//2^2=4 so shift <<2
mMaxProgresstime=(int)xMaxProgresstime;
}
}else{
- //TODO: CHECK IF THAT WORKS
//Long EUt calculation
long xEUt=GT_Values.V[1] * (long)Math.pow(2,mTier+2);
@@ -89,17 +88,20 @@ public class GT_MetaTileEntity_Massfabricator
mMaxProgresstime = sDurationMultiplier;
while (tempEUt <= V[mTier -1]) {
- tempEUt *= 4;//this actually controls overclocking
- mMaxProgresstime /= 2;//this is effect of overclocking
- xEUt = mMaxProgresstime==0 ? (long)(xEUt/1.1D) : xEUt;//U know, if the time is less than 1 tick make the machine use less power
+ tempEUt<<=2;//this actually controls overclocking
+ mMaxProgresstime>>=1;//this is effect of overclocking
+ if(mMaxProgresstime==0)
+ xEUt = (long)(xEUt/1.1D);//U know, if the time is less than 1 tick make the machine use less power
}
if(xEUt>Integer.MAX_VALUE-1){
mEUt = Integer.MAX_VALUE-1;
mMaxProgresstime = Integer.MAX_VALUE-1;
}else{
mEUt = (int)xEUt;
- mEUt = mEUt == 0 ? 1 : mEUt;
- mMaxProgresstime = mMaxProgresstime<1 ? 1 : mMaxProgresstime;//set time to 1 tick
+ if(mEUt==0)
+ mEUt = 1;
+ if(mMaxProgresstime==0)
+ mMaxProgresstime = 1;//set time to 1 tick
}
}
}