1
mirror of https://github.com/StarWishsama/Slimefun4.git synced 2024-09-19 19:25:48 +00:00
This commit is contained in:
TheBusyBiscuit 2020-04-19 13:06:58 +02:00
parent a6a061588c
commit 16e2376604
3 changed files with 25 additions and 16 deletions

View File

@ -75,6 +75,7 @@
* Even more performance improvements
* Changed Ignition Chamber Recipe
* GEO Miner is now 2 seconds faster
* All Generators will now stop consuming fuel if no energy is needed
#### Fixes
* Fixed error message when clicking empty slots in the Slimefun Guide
@ -93,6 +94,7 @@
* Fixed #1813
* Fixed #1814
* Fixed GEO Scanner being unable to deal with more than 28 different resources
* Fixed #893
## Release Candidate 10 (28 Mar 2020)

View File

@ -142,6 +142,8 @@ public abstract class AGenerator extends AbstractEnergyGenerator {
@Override
public double generateEnergy(Location l, SlimefunItem sf, Config data) {
BlockMenu inv = BlockStorage.getInventory(l);
boolean chargeable = ChargableBlock.isChargable(l);
int charge = chargeable ? ChargableBlock.getCharge(l) : 0;
if (isProcessing(l)) {
int timeleft = progress.get(l);
@ -149,13 +151,14 @@ public abstract class AGenerator extends AbstractEnergyGenerator {
if (timeleft > 0) {
ChestMenuUtils.updateProgressbar(inv, 22, timeleft, processing.get(l).getTicks(), getProgressBar());
if (ChargableBlock.isChargable(l)) {
if (ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l) >= getEnergyProduction()) {
if (chargeable) {
if (ChargableBlock.getMaxCharge(l) - charge >= getEnergyProduction()) {
ChargableBlock.addCharge(l, getEnergyProduction());
progress.put(l, timeleft - 1);
return ChargableBlock.getCharge(l);
return charge + getEnergyProduction();
}
return 0;
return charge;
}
else {
progress.put(l, timeleft - 1);
@ -173,7 +176,7 @@ public abstract class AGenerator extends AbstractEnergyGenerator {
progress.remove(l);
processing.remove(l);
return 0;
return charge;
}
}
else {
@ -188,7 +191,8 @@ public abstract class AGenerator extends AbstractEnergyGenerator {
processing.put(l, fuel);
progress.put(l, fuel.getTicks());
}
return 0;
return charge;
}
}

View File

@ -263,6 +263,7 @@ public abstract class AReactor extends AbstractEnergyGenerator {
public double generateEnergy(Location l, SlimefunItem sf, Config data) {
BlockMenu menu = BlockStorage.getInventory(l);
BlockMenu port = getAccessPort(l);
int charge = ChargableBlock.getCharge(l);
if (isProcessing(l)) {
extraTick(l);
@ -270,12 +271,8 @@ public abstract class AReactor extends AbstractEnergyGenerator {
if (timeleft > 0) {
int produced = getEnergyProduction();
int space = ChargableBlock.getMaxCharge(l) - ChargableBlock.getCharge(l);
int space = ChargableBlock.getMaxCharge(l) - charge;
if (space >= produced) {
ChargableBlock.addCharge(l, getEnergyProduction());
space -= produced;
}
if (space >= produced || !"generator".equals(BlockStorage.getLocationInfo(l, "reactor-mode"))) {
progress.put(l, timeleft - 1);
@ -319,10 +316,15 @@ public abstract class AReactor extends AbstractEnergyGenerator {
ReactorHologram.update(l, "&b\u2744 &7" + getPercentage(timeleft, processing.get(l).getTicks()) + "%");
}
}
return ChargableBlock.getCharge(l);
}
return 0;
if (space >= produced) {
ChargableBlock.addCharge(l, getEnergyProduction());
return charge + getEnergyProduction();
}
else {
return charge;
}
}
else {
menu.replaceExistingItem(22, new CustomItem(new ItemStack(Material.BLACK_STAINED_GLASS_PANE), " "));
@ -341,7 +343,7 @@ public abstract class AReactor extends AbstractEnergyGenerator {
progress.remove(l);
processing.remove(l);
return 0;
return charge;
}
}
else {
@ -360,7 +362,8 @@ public abstract class AReactor extends AbstractEnergyGenerator {
processing.put(l, fuel);
progress.put(l, fuel.getTicks());
}
return 0;
return charge;
}
}