Added integration for Forge energy
This commit is contained in:
@@ -2,8 +2,10 @@
|
|||||||
|
|
||||||
### 1.0.3
|
### 1.0.3
|
||||||
- Fixed item loading issue (raoulvdberge)
|
- Fixed item loading issue (raoulvdberge)
|
||||||
|
- Added integration for Forge energy (raoulvdberge)
|
||||||
- Solderer now accepts items from any side, allowing easier automation (raoulvdberge)
|
- Solderer now accepts items from any side, allowing easier automation (raoulvdberge)
|
||||||
- Solderer is now intelligent about items in slots, and will only accept an item if it is part of a recipe (raoulvdberge)
|
- Solderer is now intelligent about items in slots, and will only accept an item if it is part of a recipe (raoulvdberge)
|
||||||
|
- Updated to Forge 2088 (raoulvdberge)
|
||||||
|
|
||||||
### 1.0.2
|
### 1.0.2
|
||||||
- Fixed processing patterns not handling item insertion sometimes (raoulvdberge)
|
- Fixed processing patterns not handling item insertion sometimes (raoulvdberge)
|
||||||
|
|||||||
@@ -0,0 +1,42 @@
|
|||||||
|
package refinedstorage.integration.forgeenergy;
|
||||||
|
|
||||||
|
import net.minecraftforge.energy.IEnergyStorage;
|
||||||
|
import refinedstorage.tile.TileController;
|
||||||
|
|
||||||
|
public class ControllerEnergyForge implements IEnergyStorage {
|
||||||
|
private TileController controller;
|
||||||
|
|
||||||
|
public ControllerEnergyForge(TileController controller) {
|
||||||
|
this.controller = controller;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int receiveEnergy(int maxReceive, boolean simulate) {
|
||||||
|
return controller.getEnergy().receiveEnergy(maxReceive, simulate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,43 @@
|
|||||||
|
package refinedstorage.integration.forgeenergy;
|
||||||
|
|
||||||
|
import net.minecraft.item.ItemStack;
|
||||||
|
import net.minecraftforge.energy.IEnergyStorage;
|
||||||
|
import refinedstorage.RefinedStorageItems;
|
||||||
|
|
||||||
|
public class WirelessGridEnergyForge implements IEnergyStorage {
|
||||||
|
private ItemStack stack;
|
||||||
|
|
||||||
|
public WirelessGridEnergyForge(ItemStack stack) {
|
||||||
|
this.stack = stack;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int receiveEnergy(int maxReceive, boolean simulate) {
|
||||||
|
return RefinedStorageItems.WIRELESS_GRID.receiveEnergy(stack, maxReceive, simulate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int extractEnergy(int maxExtract, boolean simulate) {
|
||||||
|
return RefinedStorageItems.WIRELESS_GRID.extractEnergy(stack, maxExtract, simulate);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getEnergyStored() {
|
||||||
|
return RefinedStorageItems.WIRELESS_GRID.getEnergyStored(stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getMaxEnergyStored() {
|
||||||
|
return RefinedStorageItems.WIRELESS_GRID.getMaxEnergyStored(stack);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canExtract() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean canReceive() {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -3,29 +3,27 @@ package refinedstorage.integration.tesla;
|
|||||||
import net.darkhax.tesla.api.ITeslaConsumer;
|
import net.darkhax.tesla.api.ITeslaConsumer;
|
||||||
import net.darkhax.tesla.api.ITeslaHolder;
|
import net.darkhax.tesla.api.ITeslaHolder;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import refinedstorage.item.ItemWirelessGrid;
|
import refinedstorage.RefinedStorageItems;
|
||||||
|
|
||||||
public class WirelessGridEnergyTesla implements ITeslaHolder, ITeslaConsumer {
|
public class WirelessGridEnergyTesla implements ITeslaHolder, ITeslaConsumer {
|
||||||
private ItemWirelessGrid wirelessGrid;
|
|
||||||
private ItemStack stack;
|
private ItemStack stack;
|
||||||
|
|
||||||
public WirelessGridEnergyTesla(ItemWirelessGrid wirelessGrid, ItemStack stack) {
|
public WirelessGridEnergyTesla(ItemStack stack) {
|
||||||
this.wirelessGrid = wirelessGrid;
|
|
||||||
this.stack = stack;
|
this.stack = stack;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getStoredPower() {
|
public long getStoredPower() {
|
||||||
return wirelessGrid.getEnergyStored(stack);
|
return RefinedStorageItems.WIRELESS_GRID.getEnergyStored(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long getCapacity() {
|
public long getCapacity() {
|
||||||
return wirelessGrid.getMaxEnergyStored(stack);
|
return RefinedStorageItems.WIRELESS_GRID.getMaxEnergyStored(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public long givePower(long power, boolean simulated) {
|
public long givePower(long power, boolean simulated) {
|
||||||
return wirelessGrid.receiveEnergy(stack, (int) power, simulated);
|
return RefinedStorageItems.WIRELESS_GRID.receiveEnergy(stack, (int) power, simulated);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,9 +20,11 @@ import net.minecraft.world.World;
|
|||||||
import net.minecraftforge.common.DimensionManager;
|
import net.minecraftforge.common.DimensionManager;
|
||||||
import net.minecraftforge.common.capabilities.Capability;
|
import net.minecraftforge.common.capabilities.Capability;
|
||||||
import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
import net.minecraftforge.common.capabilities.ICapabilityProvider;
|
||||||
|
import net.minecraftforge.energy.CapabilityEnergy;
|
||||||
import net.minecraftforge.fml.common.Optional;
|
import net.minecraftforge.fml.common.Optional;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
import refinedstorage.RefinedStorageBlocks;
|
import refinedstorage.RefinedStorageBlocks;
|
||||||
|
import refinedstorage.integration.forgeenergy.WirelessGridEnergyForge;
|
||||||
import refinedstorage.integration.ic2.IntegrationIC2;
|
import refinedstorage.integration.ic2.IntegrationIC2;
|
||||||
import refinedstorage.integration.tesla.IntegrationTesla;
|
import refinedstorage.integration.tesla.IntegrationTesla;
|
||||||
import refinedstorage.integration.tesla.WirelessGridEnergyTesla;
|
import refinedstorage.integration.tesla.WirelessGridEnergyTesla;
|
||||||
@@ -293,13 +295,18 @@ public class ItemWirelessGrid extends ItemEnergyContainer implements ISpecialEle
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
|
public boolean hasCapability(Capability<?> capability, @Nullable EnumFacing facing) {
|
||||||
return IntegrationTesla.isLoaded() && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER);
|
return capability == CapabilityEnergy.ENERGY ||
|
||||||
|
(IntegrationTesla.isLoaded() && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER));
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
|
public <T> T getCapability(Capability<T> capability, @Nullable EnumFacing facing) {
|
||||||
|
if (capability == CapabilityEnergy.ENERGY) {
|
||||||
|
return (T) new WirelessGridEnergyForge(stack);
|
||||||
|
}
|
||||||
|
|
||||||
if (IntegrationTesla.isLoaded() && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) {
|
if (IntegrationTesla.isLoaded() && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) {
|
||||||
return (T) new WirelessGridEnergyTesla(ItemWirelessGrid.this, stack);
|
return (T) new WirelessGridEnergyTesla(stack);
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import net.minecraft.util.math.BlockPos;
|
|||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.capabilities.Capability;
|
import net.minecraftforge.common.capabilities.Capability;
|
||||||
import net.minecraftforge.common.util.Constants;
|
import net.minecraftforge.common.util.Constants;
|
||||||
|
import net.minecraftforge.energy.CapabilityEnergy;
|
||||||
import net.minecraftforge.fluids.FluidStack;
|
import net.minecraftforge.fluids.FluidStack;
|
||||||
import net.minecraftforge.items.ItemHandlerHelper;
|
import net.minecraftforge.items.ItemHandlerHelper;
|
||||||
import refinedstorage.RefinedStorage;
|
import refinedstorage.RefinedStorage;
|
||||||
@@ -47,6 +48,7 @@ import refinedstorage.block.BlockController;
|
|||||||
import refinedstorage.block.EnumControllerType;
|
import refinedstorage.block.EnumControllerType;
|
||||||
import refinedstorage.block.EnumGridType;
|
import refinedstorage.block.EnumGridType;
|
||||||
import refinedstorage.container.ContainerGrid;
|
import refinedstorage.container.ContainerGrid;
|
||||||
|
import refinedstorage.integration.forgeenergy.ControllerEnergyForge;
|
||||||
import refinedstorage.integration.ic2.ControllerEnergyIC2;
|
import refinedstorage.integration.ic2.ControllerEnergyIC2;
|
||||||
import refinedstorage.integration.ic2.ControllerEnergyIC2None;
|
import refinedstorage.integration.ic2.ControllerEnergyIC2None;
|
||||||
import refinedstorage.integration.ic2.IControllerEnergyIC2;
|
import refinedstorage.integration.ic2.IControllerEnergyIC2;
|
||||||
@@ -184,6 +186,7 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
private List<NBTTagCompound> craftingTasksToRead = new ArrayList<>();
|
private List<NBTTagCompound> craftingTasksToRead = new ArrayList<>();
|
||||||
|
|
||||||
private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controllerCapacity);
|
private EnergyStorage energy = new EnergyStorage(RefinedStorage.INSTANCE.controllerCapacity);
|
||||||
|
private ControllerEnergyForge energyForge = new ControllerEnergyForge(this);
|
||||||
private IControllerEnergyIC2 energyEU;
|
private IControllerEnergyIC2 energyEU;
|
||||||
private ControllerEnergyTesla energyTesla;
|
private ControllerEnergyTesla energyTesla;
|
||||||
|
|
||||||
@@ -827,6 +830,10 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
public <T> T getCapability(Capability<T> capability, EnumFacing facing) {
|
||||||
|
if (capability == CapabilityEnergy.ENERGY) {
|
||||||
|
return (T) energyForge;
|
||||||
|
}
|
||||||
|
|
||||||
if (energyTesla != null && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) {
|
if (energyTesla != null && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) {
|
||||||
return (T) energyTesla;
|
return (T) energyTesla;
|
||||||
}
|
}
|
||||||
@@ -836,6 +843,8 @@ public class TileController extends TileBase implements INetworkMaster, IEnergyR
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
|
public boolean hasCapability(Capability<?> capability, EnumFacing facing) {
|
||||||
return (energyTesla != null && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER)) || super.hasCapability(capability, facing);
|
return capability == CapabilityEnergy.ENERGY
|
||||||
|
|| (energyTesla != null && (capability == TeslaCapabilities.CAPABILITY_HOLDER || capability == TeslaCapabilities.CAPABILITY_CONSUMER))
|
||||||
|
|| super.hasCapability(capability, facing);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user