From bdea89339200e158c6357886553654bc50986f6f Mon Sep 17 00:00:00 2001 From: modmuss50 Date: Tue, 14 Apr 2015 21:23:45 +0100 Subject: [PATCH] More configs and ISidedInventory --- .../techreborn/config/ConfigTechReborn.java | 28 +++++++++++-- .../java/techreborn/tiles/TileCentrifuge.java | 42 +++++++++++++++++-- .../tiles/TileThermalGenerator.java | 2 +- 3 files changed, 64 insertions(+), 8 deletions(-) diff --git a/src/main/java/techreborn/config/ConfigTechReborn.java b/src/main/java/techreborn/config/ConfigTechReborn.java index d59540949..4399cd071 100644 --- a/src/main/java/techreborn/config/ConfigTechReborn.java +++ b/src/main/java/techreborn/config/ConfigTechReborn.java @@ -26,6 +26,7 @@ public class ConfigTechReborn { //Power public static int ThermalGenertaorOutput; + public static int CentrifugeInputTick; //Charge public static int AdvancedDrillCharge; public static int LapotronPackCharge; @@ -33,6 +34,8 @@ public class ConfigTechReborn { public static int OmniToolCharge; public static int RockCutterCharge; public static int GravityCharge; + public static int CentrifugeCharge; + public static int ThermalGeneratorCharge; //Teir public static int AdvancedDrillTier; public static int LapotronPackTier; @@ -40,7 +43,8 @@ public class ConfigTechReborn { public static int OmniToolTier; public static int RockCutterTier; public static int GravityTier; - + public static int CentrifugeTier; + public static int ThermalGeneratorTier; //Crafting public static boolean ExpensiveMacerator; public static boolean ExpensiveDrill; @@ -142,6 +146,10 @@ public class ConfigTechReborn { "Thermal Generator Power", 30, "The amount of power that the thermal generator makes for 1mb of lava") .getInt(); + CentrifugeInputTick = config.get(CATEGORY_POWER, + "Centrifuge power usage", 5, + "The amount of eu per tick that the Centrifuge uses.") + .getInt(); //Charge AdvancedDrillCharge = config.get(CATEGORY_POWER, "Advanced drill max charge", 60000, @@ -167,6 +175,14 @@ public class ConfigTechReborn { "Gravity Chestplate max charge", 100000, "The amount of power that the Gravity Chestplate can hold") .getInt(); + CentrifugeCharge = config.get(CATEGORY_POWER, + "Centrifuge max charge", 1000000, + "The amount of power that the Centrifuge can hold") + .getInt(); + ThermalGeneratorCharge = config.get(CATEGORY_POWER, + "Thermal Generator max charge", 1000000, + "The amount of power that the Thermal Generator can hold") + .getInt(); //Teir AdvancedDrillTier = config.get(CATEGORY_POWER, "Advanced drill Tier", 2, @@ -192,8 +208,14 @@ public class ConfigTechReborn { "GravityChestplate tier", 3, "The tier of the GravityChestplate") .getInt(); - - + CentrifugeTier = config.get(CATEGORY_POWER, + "Centrifuge tier", 1, + "The tier of the Centrifuge") + .getInt(); + ThermalGeneratorTier = config.get(CATEGORY_POWER, + "Thermal Generator tier", 1, + "The tier of the Thermal Generator") + .getInt(); //Crafting ExpensiveMacerator = config.get(CATEGORY_CRAFTING, diff --git a/src/main/java/techreborn/tiles/TileCentrifuge.java b/src/main/java/techreborn/tiles/TileCentrifuge.java index cf9631add..b7fce7885 100644 --- a/src/main/java/techreborn/tiles/TileCentrifuge.java +++ b/src/main/java/techreborn/tiles/TileCentrifuge.java @@ -4,6 +4,7 @@ import ic2.api.energy.prefab.BasicSink; import ic2.api.tile.IWrenchable; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; +import net.minecraft.inventory.ISidedInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.network.NetworkManager; @@ -11,11 +12,12 @@ import net.minecraft.network.Packet; import net.minecraft.network.play.server.S35PacketUpdateTileEntity; import techreborn.api.CentrifugeRecipie; import techreborn.api.TechRebornAPI; +import techreborn.config.ConfigTechReborn; import techreborn.init.ModBlocks; import techreborn.util.Inventory; import techreborn.util.ItemUtils; -public class TileCentrifuge extends TileMachineBase implements IInventory, IWrenchable { +public class TileCentrifuge extends TileMachineBase implements IInventory, IWrenchable, ISidedInventory { public BasicSink energy; public Inventory inventory = new Inventory(6, "TileCentrifuge", 64); @@ -26,11 +28,10 @@ public class TileCentrifuge extends TileMachineBase implements IInventory, IWren public boolean hasTakenCells = false; public boolean hasTakenItem = false; - public int euTick = 5; + public int euTick = ConfigTechReborn.CentrifugeInputTick; public TileCentrifuge() { - //TODO check values, + config - energy = new BasicSink(this, 100000, 1); + energy = new BasicSink(this, ConfigTechReborn.CentrifugeCharge, ConfigTechReborn.CentrifugeTier); } @Override @@ -312,4 +313,37 @@ public class TileCentrifuge extends TileMachineBase implements IInventory, IWren public ItemStack getWrenchDrop(EntityPlayer entityPlayer) { return new ItemStack(ModBlocks.centrifuge, 1); } + + @Override + public int[] getAccessibleSlotsFromSide(int side) { + //Top + if(side == 1){ + return new int[]{0}; + } + //Bottom + if(side == 0){ + return new int[]{1}; + } + //Not bottom or top + return new int[]{2, 3, 4, 5}; + } + + @Override + public boolean canInsertItem(int slot, ItemStack stack, int side) { + //Bottom + if(side == 0){ + return stack.getUnlocalizedName().equals("ic2.itemFluidCell"); + } + //Not bottom or top + if(side >= 2){ + return false; + } + return true; + } + + @Override + public boolean canExtractItem(int slot, ItemStack stack, int side) { + //Only output slots and sides + return slot >= 2 && side >= 2; + } } diff --git a/src/main/java/techreborn/tiles/TileThermalGenerator.java b/src/main/java/techreborn/tiles/TileThermalGenerator.java index 06703b89a..d303c82f2 100644 --- a/src/main/java/techreborn/tiles/TileThermalGenerator.java +++ b/src/main/java/techreborn/tiles/TileThermalGenerator.java @@ -31,7 +31,7 @@ public class TileThermalGenerator extends TileEntity implements IWrenchable, IFl public static final int euTick = ConfigTechReborn.ThermalGenertaorOutput; public TileThermalGenerator() { - this.energySource = new BasicSource(this, 1000000, 1); + this.energySource = new BasicSource(this, ConfigTechReborn.ThermalGeneratorCharge, ConfigTechReborn.ThermalGeneratorTier); } @Override