Limited LESU max storage to MAX_INT FE or MAX_INT/4 EU. Closes #1328

This commit is contained in:
drcrazy 2017-11-08 01:48:11 +03:00
parent 2ff9b6950d
commit 8cacd3d8d1
2 changed files with 23 additions and 24 deletions

View file

@ -89,7 +89,6 @@ public class Core {
public void preinit(FMLPreInitializationEvent event) throws IllegalAccessException, InstantiationException {
event.getModMetadata().version = ModInfo.MOD_VERSION;
INSTANCE = this;
// FMLCommonHandler.instance().bus().register(this);
MinecraftForge.EVENT_BUS.register(this);
configDir = new File(new File(event.getModConfigurationDirectory(), "teamreborn"), "techreborn");
@ -124,7 +123,7 @@ public class Core {
@Mod.EventHandler
public void init(FMLInitializationEvent event) throws IllegalAccessException, InstantiationException {
// Registers Chest Loot
ModLoot.init();
// ModLoot.init();
// Multiparts
ModParts.init();
// Sounds
@ -133,31 +132,21 @@ public class Core {
for (ICompatModule compatModule : CompatManager.INSTANCE.compatModules) {
compatModule.init(event);
}
MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
MinecraftForge.EVENT_BUS.register(new BlockBreakHandler());
MinecraftForge.EVENT_BUS.register(new TRRecipeHandler());
// Recipes
StopWatch watch = new StopWatch();
watch.start();
logHelper.all(watch + " : main recipes");
watch.stop();
// Client only init, needs to be done before parts system
proxy.init(event);
// WorldGen
worldGen.load();
GameRegistry.registerWorldGenerator(worldGen, 0);
// DungeonLoot.init();
GameRegistry.registerWorldGenerator(new OilLakeGenerator(), 0);
// Register Gui Handler
NetworkRegistry.INSTANCE.registerGuiHandler(INSTANCE, new GuiHandler());
// Multiblock events
MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler());
// Event busses
MinecraftForge.EVENT_BUS.register(new StackWIPHandler());
MinecraftForge.EVENT_BUS.register(new BlockBreakHandler());
MinecraftForge.EVENT_BUS.register(new TRRecipeHandler());
MinecraftForge.EVENT_BUS.register(new MultiblockEventHandler());
MinecraftForge.EVENT_BUS.register(new MultiblockServerTickHandler());
MinecraftForge.EVENT_BUS.register(new TRTickHandler());
GameRegistry.registerWorldGenerator(new OilLakeGenerator(), 0);
MinecraftForge.EVENT_BUS.register(worldGen.retroGen);
// Scrapbox
if (BehaviorDispenseScrapbox.dispenseScrapboxes) {
@ -178,7 +167,6 @@ public class Core {
logHelper.info(RecipeHandler.recipeList.size() + " recipes loaded");
// RecipeHandler.scanForDupeRecipes();
// RecipeConfigManager.save();
//recipeCompact.saveMissingItems(configDir);
}

View file

@ -29,6 +29,7 @@ import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.math.BlockPos;
import reborncore.api.power.EnumPowerTier;
import reborncore.common.RebornCoreConfig;
import reborncore.common.registration.RebornRegistry;
import reborncore.common.registration.impl.ConfigRegistry;
import techreborn.blocks.storage.BlockLapotronicSU;
@ -89,7 +90,7 @@ public class TileLapotronicSU extends TileEnergyStorage implements IContainerPro
}
}
}
this.maxStorage = ((connectedBlocks + 1) * storagePerBlock);
setMaxStorage();
this.maxOutput = (connectedBlocks * extraIOPerBlock) + baseOutput;
}
@ -110,12 +111,22 @@ public class TileLapotronicSU extends TileEnergyStorage implements IContainerPro
this.maxOutput = output;
}
public int getMaxStorage() {
return this.maxStorage;
public int getConnectedBlocksNum() {
return this.connectedBlocks;
}
public void setMaxStorage(int value) {
this.maxStorage = value;
public void setConnectedBlocksNum(int value) {
this.connectedBlocks = value;
if (world.isRemote) {
setMaxStorage();
}
}
public void setMaxStorage(){
this.maxStorage = (this.connectedBlocks + 1) * storagePerBlock;
if (this.maxStorage < 0 || this.maxStorage > Integer.MAX_VALUE / RebornCoreConfig.euPerFU) {
this.maxStorage = Integer.MAX_VALUE / RebornCoreConfig.euPerFU;
}
}
@Override
@ -123,6 +134,6 @@ public class TileLapotronicSU extends TileEnergyStorage implements IContainerPro
return new ContainerBuilder("lesu").player(player.inventory).inventory().hotbar().armor().complete(8, 18)
.addArmor().addInventory().tile(this).energySlot(0, 62, 45).energySlot(1, 98, 45).syncEnergyValue()
.syncIntegerValue(this::getOutputRate, this::setOutputRate)
.syncIntegerValue(this::getMaxStorage, this::setMaxStorage).addInventory().create(this);
.syncIntegerValue(this::getConnectedBlocksNum, this::setConnectedBlocksNum).addInventory().create(this);
}
}