Show required stacks when building fusion reactor

This commit is contained in:
modmuss50 2018-06-10 11:36:21 +01:00
parent 7ac0b83bc9
commit dace0e56d0
No known key found for this signature in database
GPG key ID: 773D17BE8BF49C82
2 changed files with 25 additions and 0 deletions

View file

@ -50,6 +50,7 @@ import reborncore.common.multiblock.MultiblockEventHandler;
import reborncore.common.multiblock.MultiblockServerTickHandler;
import reborncore.common.network.RegisterPacketEvent;
import reborncore.common.util.LogHelper;
import reborncore.common.util.Torus;
import techreborn.api.TechRebornAPI;
import techreborn.blocks.cable.EnumCableType;
import techreborn.client.GuiHandler;
@ -65,6 +66,7 @@ import techreborn.init.*;
import techreborn.lib.ModInfo;
import techreborn.packets.*;
import techreborn.proxies.CommonProxy;
import techreborn.tiles.fusionReactor.TileFusionControlComputer;
import techreborn.utils.StackWIPHandler;
import techreborn.world.OilLakeGenerator;
import techreborn.world.TechRebornWorldGen;
@ -172,6 +174,9 @@ public class Core {
if (BehaviorDispenseScrapbox.dispenseScrapboxes) {
BlockDispenser.DISPENSE_BEHAVIOR_REGISTRY.putObject(ModItems.SCRAP_BOX, new BehaviorDispenseScrapbox());
}
Torus.genSizeMap(TileFusionControlComputer.maxCoilSize);
logHelper.info("Initialization Complete");
}

View file

@ -28,6 +28,7 @@ import net.minecraft.block.state.IBlockState;
import net.minecraft.client.gui.GuiButton;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.math.BlockPos;
import org.apache.commons.lang3.tuple.Pair;
import reborncore.client.multiblock.Multiblock;
import reborncore.client.multiblock.MultiblockRenderEvent;
import reborncore.client.multiblock.MultiblockSet;
@ -43,6 +44,7 @@ import techreborn.tiles.fusionReactor.TileFusionControlComputer;
import java.awt.*;
import java.io.IOException;
import java.util.List;
import java.util.Optional;
public class GuiFusionReactor extends GuiBase {
TileFusionControlComputer tile;
@ -89,6 +91,16 @@ public class GuiFusionReactor extends GuiBase {
builder.drawMultiblockMissingBar(this, layer);
addHologramButton(76, 56, 212, layer);
builder.drawHologramButton(this, 76, 56, mouseX, mouseY, layer);
Optional<Pair<Integer, Integer>> stackSize = getCoilStackCount();
if(stackSize.isPresent()){
if(stackSize.get().getLeft() > 0){
drawCentredString("Required Coils: " + stackSize.get().getLeft() + "x64 +" + stackSize.get().getRight(), 25, 0xFFFFFF, layer);
} else {
drawCentredString("Required Coils: " + stackSize.get().getRight(), 25, 0xFFFFFF, layer);
}
}
}
this.builder.drawUpDownButtons(this, 121, 79, layer);
drawString("Size: " + tile.size, 83, 81, 0xFFFFFF, layer);
@ -158,4 +170,12 @@ public class GuiFusionReactor extends GuiBase {
public void addComponent(final int x, final int y, final int z, final IBlockState blockState, final Multiblock multiblock) {
multiblock.addComponent(new BlockPos(x, y, z), blockState);
}
public Optional<Pair<Integer, Integer>> getCoilStackCount(){
if(!Torus.TORUS_SIZE_MAP.containsKey(tile.size)){
return Optional.empty();
}
int count = Torus.TORUS_SIZE_MAP.get(tile.size);
return Optional.of(Pair.of(count / 64, count % 64));
}
}