Drop support for RF
This commit is contained in:
@@ -1,6 +1,5 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network;
|
||||
|
||||
import cofh.api.energy.EnergyStorage;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.ICraftingPattern;
|
||||
import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.IFluidGridHandler;
|
||||
@@ -25,11 +24,6 @@ import java.util.List;
|
||||
* Represents a network master, usually is a controller.
|
||||
*/
|
||||
public interface INetworkMaster {
|
||||
/**
|
||||
* @return the energy storage of this network
|
||||
*/
|
||||
EnergyStorage getEnergy();
|
||||
|
||||
/**
|
||||
* @return the energy usage per tick of this network
|
||||
*/
|
||||
|
||||
@@ -2,17 +2,17 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||
import net.minecraft.entity.player.EntityPlayer;
|
||||
import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
public class NetworkItemWirelessCraftingMonitor implements INetworkItem {
|
||||
private INetworkItemHandler handler;
|
||||
@@ -32,7 +32,7 @@ public class NetworkItemWirelessCraftingMonitor implements INetworkItem {
|
||||
|
||||
@Override
|
||||
public boolean onOpen(INetworkMaster network, EntityPlayer player, World controllerWorld, EnumHand hand) {
|
||||
if (RS.INSTANCE.config.wirelessCraftingMonitorUsesEnergy && stack.getItemDamage() != ItemWirelessCraftingMonitor.TYPE_CREATIVE && RSItems.WIRELESS_CRAFTING_MONITOR.getEnergyStored(stack) <= RS.INSTANCE.config.wirelessCraftingMonitorOpenUsage) {
|
||||
if (RS.INSTANCE.config.wirelessCraftingMonitorUsesEnergy && stack.getItemDamage() != ItemWirelessCraftingMonitor.TYPE_CREATIVE && stack.getCapability(CapabilityEnergy.ENERGY, null).getEnergyStored() <= RS.INSTANCE.config.wirelessCraftingMonitorOpenUsage) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -47,11 +47,11 @@ public class NetworkItemWirelessCraftingMonitor implements INetworkItem {
|
||||
|
||||
public void drainEnergy(int energy) {
|
||||
if (RS.INSTANCE.config.wirelessCraftingMonitorUsesEnergy && stack.getItemDamage() != ItemWirelessCraftingMonitor.TYPE_CREATIVE) {
|
||||
ItemWirelessGrid item = RSItems.WIRELESS_GRID;
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
item.extractEnergy(stack, energy, false);
|
||||
energyStorage.extractEnergy(energy, false);
|
||||
|
||||
if (item.getEnergyStored(stack) <= 0) {
|
||||
if (energyStorage.getEnergyStored() <= 0) {
|
||||
handler.onClose(player);
|
||||
|
||||
player.closeScreen();
|
||||
|
||||
@@ -2,7 +2,6 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.item;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetworkMaster;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
@@ -12,6 +11,8 @@ import net.minecraft.entity.player.EntityPlayerMP;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.util.EnumHand;
|
||||
import net.minecraft.world.World;
|
||||
import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
private INetworkItemHandler handler;
|
||||
@@ -31,7 +32,7 @@ public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
|
||||
@Override
|
||||
public boolean onOpen(INetworkMaster network, EntityPlayer player, World controllerWorld, EnumHand hand) {
|
||||
if (RS.INSTANCE.config.wirelessGridUsesEnergy && stack.getItemDamage() != ItemWirelessGrid.TYPE_CREATIVE && RSItems.WIRELESS_GRID.getEnergyStored(stack) <= RS.INSTANCE.config.wirelessGridOpenUsage) {
|
||||
if (RS.INSTANCE.config.wirelessGridUsesEnergy && stack.getItemDamage() != ItemWirelessGrid.TYPE_CREATIVE && stack.getCapability(CapabilityEnergy.ENERGY, null).getEnergyStored() <= RS.INSTANCE.config.wirelessGridOpenUsage) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -46,11 +47,11 @@ public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
|
||||
public void drainEnergy(int energy) {
|
||||
if (RS.INSTANCE.config.wirelessGridUsesEnergy && stack.getItemDamage() != ItemWirelessGrid.TYPE_CREATIVE) {
|
||||
ItemWirelessGrid item = RSItems.WIRELESS_GRID;
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
item.extractEnergy(stack, energy, false);
|
||||
energyStorage.extractEnergy(energy, false);
|
||||
|
||||
if (item.getEnergyStored(stack) <= 0) {
|
||||
if (energyStorage.getEnergyStored() <= 0) {
|
||||
handler.onClose(player);
|
||||
|
||||
player.closeScreen();
|
||||
|
||||
@@ -94,7 +94,7 @@ public class BlockController extends BlockBase {
|
||||
NBTTagCompound tag = stack.getTagCompound();
|
||||
|
||||
if (tag != null && tag.hasKey(TileController.NBT_ENERGY)) {
|
||||
controller.getEnergy().receiveEnergy(tag.getInteger(TileController.NBT_ENERGY), false);
|
||||
controller.getEnergy().setEnergyStored(tag.getInteger(TileController.NBT_ENERGY));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,42 +1,18 @@
|
||||
package com.raoulvdberge.refinedstorage.integration.forgeenergy;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.tile.TileController;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import net.minecraftforge.energy.EnergyStorage;
|
||||
|
||||
public class ControllerEnergyForge implements IEnergyStorage {
|
||||
private TileController controller;
|
||||
|
||||
public ControllerEnergyForge(TileController controller) {
|
||||
this.controller = controller;
|
||||
public class ControllerEnergyForge extends EnergyStorage {
|
||||
public ControllerEnergyForge() {
|
||||
super(RS.INSTANCE.config.controllerCapacity, Integer.MAX_VALUE, 0);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int receiveEnergy(int maxReceive, boolean simulate) {
|
||||
return controller.getEnergy().receiveEnergy(maxReceive, simulate);
|
||||
public void setMaxEnergyStored(int capacity) {
|
||||
this.capacity = capacity;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(int maxExtract, boolean simulate) {
|
||||
return controller.getEnergy().extractEnergy(maxExtract, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored() {
|
||||
return controller.getEnergy().getEnergyStored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored() {
|
||||
return controller.getEnergy().getMaxEnergyStored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtract() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canReceive() {
|
||||
return true;
|
||||
public void setEnergyStored(int energy) {
|
||||
this.energy = energy;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,43 +1,47 @@
|
||||
package com.raoulvdberge.refinedstorage.integration.forgeenergy;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
import net.minecraft.nbt.NBTTagCompound;
|
||||
import net.minecraftforge.energy.EnergyStorage;
|
||||
|
||||
public class NetworkItemEnergyForge extends EnergyStorage {
|
||||
private static final String NBT_ENERGY = "Energy";
|
||||
|
||||
public class NetworkItemEnergyForge implements IEnergyStorage {
|
||||
private ItemStack stack;
|
||||
|
||||
public NetworkItemEnergyForge(ItemStack stack) {
|
||||
public NetworkItemEnergyForge(ItemStack stack, int capacity) {
|
||||
super(capacity, Integer.MAX_VALUE, Integer.MAX_VALUE);
|
||||
|
||||
this.stack = stack;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int receiveEnergy(int maxReceive, boolean simulate) {
|
||||
return RSItems.WIRELESS_GRID.receiveEnergy(stack, maxReceive, simulate);
|
||||
int received = super.receiveEnergy(maxReceive, simulate);
|
||||
|
||||
if (received > 0 && !simulate) {
|
||||
if (!stack.hasTagCompound()) {
|
||||
stack.setTagCompound(new NBTTagCompound());
|
||||
}
|
||||
|
||||
stack.getTagCompound().setInteger(NBT_ENERGY, getEnergyStored());
|
||||
}
|
||||
|
||||
return received;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int extractEnergy(int maxExtract, boolean simulate) {
|
||||
return RSItems.WIRELESS_GRID.extractEnergy(stack, maxExtract, simulate);
|
||||
}
|
||||
int extracted = super.extractEnergy(maxExtract, simulate);
|
||||
|
||||
@Override
|
||||
public int getEnergyStored() {
|
||||
return RSItems.WIRELESS_GRID.getEnergyStored(stack);
|
||||
}
|
||||
if (extracted > 0 && !simulate) {
|
||||
if (!stack.hasTagCompound()) {
|
||||
stack.setTagCompound(new NBTTagCompound());
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored() {
|
||||
return RSItems.WIRELESS_GRID.getMaxEnergyStored(stack);
|
||||
}
|
||||
stack.getTagCompound().setInteger(NBT_ENERGY, getEnergyStored());
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canExtract() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canReceive() {
|
||||
return true;
|
||||
return extracted;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
package com.raoulvdberge.refinedstorage.integration.tesla;
|
||||
|
||||
import cofh.api.energy.EnergyStorage;
|
||||
import com.raoulvdberge.refinedstorage.integration.forgeenergy.ControllerEnergyForge;
|
||||
import net.darkhax.tesla.api.ITeslaConsumer;
|
||||
import net.darkhax.tesla.api.ITeslaHolder;
|
||||
|
||||
public class ControllerEnergyTesla implements ITeslaHolder, ITeslaConsumer {
|
||||
private EnergyStorage energy;
|
||||
private ControllerEnergyForge energy;
|
||||
|
||||
public ControllerEnergyTesla(EnergyStorage energy) {
|
||||
public ControllerEnergyTesla(ControllerEnergyForge energy) {
|
||||
this.energy = energy;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package com.raoulvdberge.refinedstorage.integration.tesla;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.RSItems;
|
||||
import net.darkhax.tesla.api.ITeslaConsumer;
|
||||
import net.darkhax.tesla.api.ITeslaHolder;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraftforge.energy.CapabilityEnergy;
|
||||
|
||||
public class NetworkItemEnergyTesla implements ITeslaHolder, ITeslaConsumer {
|
||||
private ItemStack stack;
|
||||
@@ -14,16 +14,16 @@ public class NetworkItemEnergyTesla implements ITeslaHolder, ITeslaConsumer {
|
||||
|
||||
@Override
|
||||
public long getStoredPower() {
|
||||
return RSItems.WIRELESS_GRID.getEnergyStored(stack);
|
||||
return stack.getCapability(CapabilityEnergy.ENERGY, null).getEnergyStored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long getCapacity() {
|
||||
return RSItems.WIRELESS_GRID.getMaxEnergyStored(stack);
|
||||
return stack.getCapability(CapabilityEnergy.ENERGY, null).getMaxEnergyStored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public long givePower(long power, boolean simulated) {
|
||||
return RSItems.WIRELESS_GRID.receiveEnergy(stack, (int) power, simulated);
|
||||
return stack.getCapability(CapabilityEnergy.ENERGY, null).receiveEnergy((int) power, simulated);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.raoulvdberge.refinedstorage.item;
|
||||
|
||||
import cofh.api.energy.ItemEnergyContainer;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemProvider;
|
||||
import com.raoulvdberge.refinedstorage.integration.forgeenergy.NetworkItemEnergyForge;
|
||||
@@ -25,11 +23,12 @@ import net.minecraftforge.common.DimensionManager;
|
||||
import net.minecraftforge.common.capabilities.Capability;
|
||||
import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
||||
import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
import javax.annotation.Nullable;
|
||||
import java.util.List;
|
||||
|
||||
public abstract class ItemNetworkItem extends ItemEnergyContainer implements INetworkItemProvider {
|
||||
public abstract class ItemNetworkItem extends ItemBase implements INetworkItemProvider {
|
||||
public static final int TYPE_NORMAL = 0;
|
||||
public static final int TYPE_CREATIVE = 1;
|
||||
|
||||
@@ -39,13 +38,12 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
|
||||
private static final String NBT_DIMENSION_ID = "DimensionID";
|
||||
|
||||
public ItemNetworkItem(String name) {
|
||||
super(3200);
|
||||
super(name);
|
||||
|
||||
setRegistryName(RS.ID, name);
|
||||
setMaxDamage(3200);
|
||||
setMaxStackSize(1);
|
||||
setHasSubtypes(true);
|
||||
setCreativeTab(RS.INSTANCE.tab);
|
||||
|
||||
addPropertyOverride(new ResourceLocation("connected"), (stack, world, entity) -> (entity != null && isValid(stack)) ? 1.0f : 0.0f);
|
||||
}
|
||||
|
||||
@@ -89,7 +87,9 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
|
||||
|
||||
@Override
|
||||
public double getDurabilityForDisplay(ItemStack stack) {
|
||||
return 1D - ((double) getEnergyStored(stack) / (double) getMaxEnergyStored(stack));
|
||||
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
return 1D - ((double) energy.getEnergyStored() / (double) energy.getMaxEnergyStored());
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -107,7 +107,10 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
|
||||
list.add(new ItemStack(item, 1, TYPE_NORMAL));
|
||||
|
||||
ItemStack fullyCharged = new ItemStack(item, 1, TYPE_NORMAL);
|
||||
receiveEnergy(fullyCharged, getMaxEnergyStored(fullyCharged), false);
|
||||
|
||||
IEnergyStorage energy = fullyCharged.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
energy.receiveEnergy(energy.getMaxEnergyStored(), false);
|
||||
|
||||
list.add(fullyCharged);
|
||||
|
||||
list.add(new ItemStack(item, 1, TYPE_CREATIVE));
|
||||
@@ -118,7 +121,9 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
|
||||
super.addInformation(stack, player, tooltip, advanced);
|
||||
|
||||
if (stack.getItemDamage() != TYPE_CREATIVE) {
|
||||
tooltip.add(I18n.format("misc.refinedstorage:energy_stored", getEnergyStored(stack), getMaxEnergyStored(stack)));
|
||||
IEnergyStorage energy = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
tooltip.add(I18n.format("misc.refinedstorage:energy_stored", energy.getEnergyStored(), energy.getMaxEnergyStored()));
|
||||
}
|
||||
|
||||
if (isValid(stack)) {
|
||||
@@ -187,16 +192,6 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
|
||||
return super.shouldCauseReequipAnimation(oldStack, newStack, slotChanged);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName() {
|
||||
return "item." + RS.ID + ":" + getRegistryName().getResourcePath();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getUnlocalizedName(ItemStack stack) {
|
||||
return getUnlocalizedName() + "." + stack.getItemDamage();
|
||||
}
|
||||
|
||||
public boolean isValid(ItemStack stack) {
|
||||
return stack.hasTagCompound()
|
||||
&& stack.getTagCompound().hasKey(NBT_CONTROLLER_X)
|
||||
@@ -221,7 +216,7 @@ public abstract class ItemNetworkItem extends ItemEnergyContainer implements INe
|
||||
@Override
|
||||
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
|
||||
if (capability == CapabilityEnergy.ENERGY) {
|
||||
return (T) new NetworkItemEnergyForge(stack);
|
||||
return (T) new NetworkItemEnergyForge(stack, 3200);
|
||||
}
|
||||
|
||||
if (IntegrationTesla.isLoaded() && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) {
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package com.raoulvdberge.refinedstorage.tile;
|
||||
|
||||
import cofh.api.energy.EnergyStorage;
|
||||
import cofh.api.energy.IEnergyReceiver;
|
||||
import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.RSBlocks;
|
||||
import com.raoulvdberge.refinedstorage.RSUtils;
|
||||
@@ -76,7 +74,7 @@ import javax.annotation.Nullable;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
public class TileController extends TileBase implements INetworkMaster, IEnergyReceiver, IRedstoneConfigurable {
|
||||
public class TileController extends TileBase implements INetworkMaster, IRedstoneConfigurable {
|
||||
public static final TileDataParameter<Integer> REDSTONE_MODE = RedstoneMode.createParameter();
|
||||
|
||||
public static final TileDataParameter<Integer> ENERGY_USAGE = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileController>() {
|
||||
@@ -89,14 +87,14 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
public static final TileDataParameter<Integer> ENERGY_STORED = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileController>() {
|
||||
@Override
|
||||
public Integer getValue(TileController tile) {
|
||||
return tile.getEnergy().getEnergyStored();
|
||||
return tile.energy.getEnergyStored();
|
||||
}
|
||||
});
|
||||
|
||||
public static final TileDataParameter<Integer> ENERGY_CAPACITY = new TileDataParameter<>(DataSerializers.VARINT, 0, new ITileDataProducer<Integer, TileController>() {
|
||||
@Override
|
||||
public Integer getValue(TileController tile) {
|
||||
return tile.getEnergy().getMaxEnergyStored();
|
||||
return tile.energy.getMaxEnergyStored();
|
||||
}
|
||||
});
|
||||
|
||||
@@ -176,8 +174,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
private List<ICraftingTask> craftingTasksToCancel = new ArrayList<>();
|
||||
private List<NBTTagCompound> craftingTasksToRead = new ArrayList<>();
|
||||
|
||||
private EnergyStorage energy = new EnergyStorage(RS.INSTANCE.config.controllerCapacity);
|
||||
private ControllerEnergyForge energyForge = new ControllerEnergyForge(this);
|
||||
private ControllerEnergyForge energy = new ControllerEnergyForge();
|
||||
private ControllerEnergyTesla energyTesla;
|
||||
|
||||
private int lastEnergyDisplay;
|
||||
@@ -202,14 +199,13 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BlockPos getPosition() {
|
||||
return pos;
|
||||
public ControllerEnergyForge getEnergy() {
|
||||
return energy;
|
||||
}
|
||||
|
||||
@Override
|
||||
public EnergyStorage getEnergy() {
|
||||
return energy;
|
||||
public BlockPos getPosition() {
|
||||
return pos;
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -810,7 +806,9 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
public void readFromNBT(NBTTagCompound tag) {
|
||||
super.readFromNBT(tag);
|
||||
|
||||
energy.readFromNBT(tag);
|
||||
if (tag.hasKey(NBT_ENERGY)) {
|
||||
energy.setEnergyStored(tag.getInteger(NBT_ENERGY));
|
||||
}
|
||||
|
||||
redstoneMode = RedstoneMode.read(tag);
|
||||
|
||||
@@ -843,7 +841,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
public NBTTagCompound writeToNBT(NBTTagCompound tag) {
|
||||
super.writeToNBT(tag);
|
||||
|
||||
energy.writeToNBT(tag);
|
||||
tag.setInteger(NBT_ENERGY, energy.getEnergyStored());
|
||||
|
||||
redstoneMode.write(tag);
|
||||
|
||||
@@ -882,22 +880,12 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
|
||||
@Override
|
||||
public void readUpdate(NBTTagCompound tag) {
|
||||
energy.setCapacity(tag.getInteger(NBT_ENERGY_CAPACITY));
|
||||
energy.setMaxEnergyStored(tag.getInteger(NBT_ENERGY_CAPACITY));
|
||||
energy.setEnergyStored(tag.getInteger(NBT_ENERGY));
|
||||
|
||||
super.readUpdate(tag);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int receiveEnergy(EnumFacing from, int maxReceive, boolean simulate) {
|
||||
return energy.receiveEnergy(maxReceive, simulate);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getEnergyStored(EnumFacing from) {
|
||||
return energy.getEnergyStored();
|
||||
}
|
||||
|
||||
public static int getEnergyScaled(int stored, int capacity, int scale) {
|
||||
return (int) ((float) stored / (float) capacity * (float) scale);
|
||||
}
|
||||
@@ -906,16 +894,6 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
return getEnergyScaled(energy.getEnergyStored(), energy.getMaxEnergyStored(), 7);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getMaxEnergyStored(EnumFacing from) {
|
||||
return energy.getMaxEnergyStored();
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean canConnectEnergy(EnumFacing from) {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RedstoneMode getRedstoneMode() {
|
||||
return redstoneMode;
|
||||
@@ -952,7 +930,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
||||
@Override
|
||||
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
||||
if (capability == CapabilityEnergy.ENERGY) {
|
||||
return (T) energyForge;
|
||||
return (T) energy;
|
||||
}
|
||||
|
||||
if (energyTesla != null && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) {
|
||||
|
||||
Reference in New Issue
Block a user