Cleanup of wireless energy usage, fixed wireless fluid grid not using up energy
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
# Refined Storage Changelog
|
||||
|
||||
### 1.5.13
|
||||
- Fixed Wireless Fluid Grid not using up energy (raoulvdberge)
|
||||
|
||||
### 1.5.12
|
||||
- The Network Transmitter now uses 1 FE/t per block instead of 4 FE/t (raoulvdberge)
|
||||
- Added additional API for grids (raoulvdberge)
|
||||
|
||||
@@ -26,4 +26,6 @@ public interface INetworkItem {
|
||||
* @return true if the network item can be opened, false otherwise
|
||||
*/
|
||||
boolean onOpen(INetwork network, EntityPlayer player, World controllerWorld, EnumHand hand);
|
||||
|
||||
void onAction(NetworkItemAction action);
|
||||
}
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
package com.raoulvdberge.refinedstorage.api.network.item;
|
||||
|
||||
public enum NetworkItemAction {
|
||||
ITEM_INSERTED,
|
||||
ITEM_EXTRACTED,
|
||||
FLUID_INSERTED,
|
||||
FLUID_EXTRACTED,
|
||||
CRAFTING_TASK_CANCELLED,
|
||||
CRAFTING_TASK_ALL_CANCELLED
|
||||
}
|
||||
@@ -2,6 +2,8 @@ package com.raoulvdberge.refinedstorage.apiimpl.network.grid.handler;
|
||||
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IFluidGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.NetworkItemAction;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
@@ -63,6 +65,12 @@ public class FluidGridHandler implements IFluidGridHandler {
|
||||
player.inventory.setItemStack(fluidHandler.getContainer());
|
||||
player.updateHeldItem();
|
||||
}
|
||||
|
||||
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
|
||||
|
||||
if (networkItem != null) {
|
||||
networkItem.onAction(NetworkItemAction.FLUID_EXTRACTED);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -81,6 +89,12 @@ public class FluidGridHandler implements IFluidGridHandler {
|
||||
|
||||
network.insertFluid(result.getValue(), result.getValue().amount, false);
|
||||
|
||||
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
|
||||
|
||||
if (networkItem != null) {
|
||||
networkItem.onAction(NetworkItemAction.FLUID_INSERTED);
|
||||
}
|
||||
|
||||
return result.getLeft();
|
||||
}
|
||||
|
||||
|
||||
@@ -7,12 +7,11 @@ import com.raoulvdberge.refinedstorage.api.autocrafting.task.ICraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.grid.handler.IItemGridHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.NetworkItemAction;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.api.util.IStackList;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.autocrafting.task.CraftingTask;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.item.NetworkItemWirelessCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.network.item.NetworkItemWirelessGrid;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridCraftingPreviewResponse;
|
||||
import com.raoulvdberge.refinedstorage.network.MessageGridCraftingStartResponse;
|
||||
import com.raoulvdberge.refinedstorage.util.StackUtils;
|
||||
@@ -94,8 +93,8 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
|
||||
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
|
||||
|
||||
if (networkItem != null && networkItem instanceof NetworkItemWirelessGrid) {
|
||||
((NetworkItemWirelessGrid) networkItem).drainEnergy(((NetworkItemWirelessGrid) networkItem).getExtractUsage());
|
||||
if (networkItem != null) {
|
||||
networkItem.onAction(NetworkItemAction.ITEM_EXTRACTED);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -110,8 +109,8 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
|
||||
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
|
||||
|
||||
if (networkItem != null && networkItem instanceof NetworkItemWirelessGrid) {
|
||||
((NetworkItemWirelessGrid) networkItem).drainEnergy(((NetworkItemWirelessGrid) networkItem).getInsertUsage());
|
||||
if (networkItem != null) {
|
||||
networkItem.onAction(NetworkItemAction.ITEM_INSERTED);
|
||||
}
|
||||
|
||||
return remainder;
|
||||
@@ -144,8 +143,8 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
|
||||
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
|
||||
|
||||
if (networkItem != null && networkItem instanceof NetworkItemWirelessGrid) {
|
||||
((NetworkItemWirelessGrid) networkItem).drainEnergy(((NetworkItemWirelessGrid) networkItem).getInsertUsage());
|
||||
if (networkItem != null) {
|
||||
networkItem.onAction(NetworkItemAction.ITEM_INSERTED);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -226,8 +225,8 @@ public class ItemGridHandler implements IItemGridHandler {
|
||||
|
||||
INetworkItem networkItem = network.getNetworkItemHandler().getItem(player);
|
||||
|
||||
if (networkItem != null && networkItem instanceof NetworkItemWirelessCraftingMonitor) {
|
||||
((NetworkItemWirelessCraftingMonitor) networkItem).drainEnergy(id == -1 ? RS.INSTANCE.config.wirelessCraftingMonitorCancelAllUsage : RS.INSTANCE.config.wirelessCraftingMonitorCancelUsage);
|
||||
if (networkItem != null) {
|
||||
networkItem.onAction(id == -1 ? NetworkItemAction.CRAFTING_TASK_ALL_CANCELLED : NetworkItemAction.CRAFTING_TASK_CANCELLED);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ import com.raoulvdberge.refinedstorage.RSGui;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.NetworkItemAction;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessCraftingMonitor;
|
||||
import com.raoulvdberge.refinedstorage.util.WorldUtils;
|
||||
@@ -53,7 +54,19 @@ public class NetworkItemWirelessCraftingMonitor implements INetworkItem {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void drainEnergy(int energy) {
|
||||
@Override
|
||||
public void onAction(NetworkItemAction action) {
|
||||
switch (action) {
|
||||
case CRAFTING_TASK_CANCELLED:
|
||||
drainEnergy(RS.INSTANCE.config.wirelessCraftingMonitorCancelUsage);
|
||||
break;
|
||||
case CRAFTING_TASK_ALL_CANCELLED:
|
||||
drainEnergy(RS.INSTANCE.config.wirelessCraftingMonitorCancelAllUsage);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void drainEnergy(int energy) {
|
||||
if (RS.INSTANCE.config.wirelessCraftingMonitorUsesEnergy && stack.getItemDamage() != ItemWirelessCraftingMonitor.TYPE_CREATIVE) {
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.NetworkItemAction;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessFluidGrid;
|
||||
@@ -54,7 +55,19 @@ public class NetworkItemWirelessFluidGrid implements INetworkItem {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void drainEnergy(int energy) {
|
||||
@Override
|
||||
public void onAction(NetworkItemAction action) {
|
||||
switch (action) {
|
||||
case FLUID_INSERTED:
|
||||
drainEnergy(RS.INSTANCE.config.wirelessFluidGridInsertUsage);
|
||||
break;
|
||||
case FLUID_EXTRACTED:
|
||||
drainEnergy(RS.INSTANCE.config.wirelessFluidGridExtractUsage);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void drainEnergy(int energy) {
|
||||
if (RS.INSTANCE.config.wirelessFluidGridUsesEnergy && stack.getItemDamage() != ItemWirelessFluidGrid.TYPE_CREATIVE) {
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@ import com.raoulvdberge.refinedstorage.RS;
|
||||
import com.raoulvdberge.refinedstorage.api.network.INetwork;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItem;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.INetworkItemHandler;
|
||||
import com.raoulvdberge.refinedstorage.api.network.item.NetworkItemAction;
|
||||
import com.raoulvdberge.refinedstorage.api.network.security.Permission;
|
||||
import com.raoulvdberge.refinedstorage.apiimpl.API;
|
||||
import com.raoulvdberge.refinedstorage.item.ItemWirelessGrid;
|
||||
@@ -18,9 +19,9 @@ import net.minecraftforge.energy.CapabilityEnergy;
|
||||
import net.minecraftforge.energy.IEnergyStorage;
|
||||
|
||||
public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
protected INetworkItemHandler handler;
|
||||
private INetworkItemHandler handler;
|
||||
private EntityPlayer player;
|
||||
protected ItemStack stack;
|
||||
private ItemStack stack;
|
||||
|
||||
public NetworkItemWirelessGrid(INetworkItemHandler handler, EntityPlayer player, ItemStack stack) {
|
||||
this.handler = handler;
|
||||
@@ -54,7 +55,19 @@ public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
return true;
|
||||
}
|
||||
|
||||
public void drainEnergy(int energy) {
|
||||
@Override
|
||||
public void onAction(NetworkItemAction action) {
|
||||
switch (action) {
|
||||
case ITEM_INSERTED:
|
||||
drainEnergy(RS.INSTANCE.config.wirelessGridInsertUsage);
|
||||
break;
|
||||
case ITEM_EXTRACTED:
|
||||
drainEnergy(RS.INSTANCE.config.wirelessGridExtractUsage);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
private void drainEnergy(int energy) {
|
||||
if (RS.INSTANCE.config.wirelessGridUsesEnergy && stack.getItemDamage() != ItemWirelessGrid.TYPE_CREATIVE) {
|
||||
IEnergyStorage energyStorage = stack.getCapability(CapabilityEnergy.ENERGY, null);
|
||||
|
||||
@@ -67,12 +80,4 @@ public class NetworkItemWirelessGrid implements INetworkItem {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public int getInsertUsage() {
|
||||
return RS.INSTANCE.config.wirelessGridInsertUsage;
|
||||
}
|
||||
|
||||
public int getExtractUsage() {
|
||||
return RS.INSTANCE.config.wirelessGridExtractUsage;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user