Wireless Terminal now respects WAPs and distances.

Finished Wireless Terminal.
Added WAP Gui.
Added Battery Config.
Added Wireless Config.
Fixed bug with dense cable channels, and the controller.
This commit is contained in:
AlgorithmX2
2014-02-03 22:23:14 -06:00
parent 8b81545abf
commit 6de529a889
14 changed files with 154 additions and 18 deletions
+19
View File
@@ -6,6 +6,7 @@ import java.util.List;
import net.minecraft.block.material.Material; import net.minecraft.block.material.Material;
import net.minecraft.entity.Entity; import net.minecraft.entity.Entity;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.AxisAlignedBB; import net.minecraft.util.AxisAlignedBB;
import net.minecraft.util.Icon; import net.minecraft.util.Icon;
import net.minecraft.world.World; import net.minecraft.world.World;
@@ -14,8 +15,10 @@ import appeng.block.AEBaseBlock;
import appeng.client.render.BaseBlockRender; import appeng.client.render.BaseBlockRender;
import appeng.client.render.blocks.RenderBlockWireless; import appeng.client.render.blocks.RenderBlockWireless;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.core.sync.GuiBridge;
import appeng.helpers.ICustomCollision; import appeng.helpers.ICustomCollision;
import appeng.tile.networking.TileWireless; import appeng.tile.networking.TileWireless;
import appeng.util.Platform;
public class BlockWireless extends AEBaseBlock implements ICustomCollision public class BlockWireless extends AEBaseBlock implements ICustomCollision
{ {
@@ -166,4 +169,20 @@ public class BlockWireless extends AEBaseBlock implements ICustomCollision
out.add( AxisAlignedBB.getAABBPool().getAABB( 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 ) ); out.add( AxisAlignedBB.getAABBPool().getAABB( 0.0, 0.0, 0.0, 1.0, 1.0, 1.0 ) );
} }
@Override
public boolean onActivated(World w, int x, int y, int z, EntityPlayer p, int side, float hitX, float hitY, float hitZ)
{
if ( p.isSneaking() )
return false;
TileWireless tg = getTileEntity( w, x, y, z );
if ( tg != null )
{
if ( Platform.isServer() )
Platform.openGUI( p, tg, ForgeDirection.getOrientation( side ), GuiBridge.GUI_WIRELESS );
return true;
}
return false;
}
} }
@@ -1,6 +1,7 @@
package appeng.container.implementations; package appeng.container.implementations;
import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.entity.player.InventoryPlayer;
import appeng.core.Configuration;
import appeng.core.localization.PlayerMessages; import appeng.core.localization.PlayerMessages;
import appeng.helpers.WirelessTerminalGuiObject; import appeng.helpers.WirelessTerminalGuiObject;
@@ -24,5 +25,9 @@ public class ContainerWirelessTerm extends ContainerMEPortableCell
getPlayerInv().player.closeScreen(); getPlayerInv().player.closeScreen();
getPlayerInv().player.sendChatToPlayer( PlayerMessages.OutOfRange.get() ); getPlayerInv().player.sendChatToPlayer( PlayerMessages.OutOfRange.get() );
} }
else
{
powerMultiplier = Configuration.instance.wireless_getDrainRate( wtgo.getRange() );
}
} }
} }
+27 -2
View File
@@ -40,11 +40,17 @@ public class Configuration extends net.minecraftforge.common.Configuration imple
private double WirelessBaseCost = 8; private double WirelessBaseCost = 8;
private double WirelessCostMultiplier = 1; private double WirelessCostMultiplier = 1;
private double WirelessHighWirelessCount = 64; private double WirelessHighWirelessCount = 64;
private double WirelessTerminalDrainMultiplier = 1;
private double WirelessBaseRange = 16; private double WirelessBaseRange = 16;
private double WirelessBoosterRangeMultiplier = 1; private double WirelessBoosterRangeMultiplier = 1;
private double WirelessBoosterExp = 1.5; private double WirelessBoosterExp = 1.5;
public double wireless_getDrainRate(double range)
{
return WirelessTerminalDrainMultiplier * range;
}
public double wireless_getMaxRange(int boosters) public double wireless_getMaxRange(int boosters)
{ {
return WirelessBaseRange + WirelessBoosterRangeMultiplier * Math.pow( boosters, WirelessBoosterExp ); return WirelessBaseRange + WirelessBoosterRangeMultiplier * Math.pow( boosters, WirelessBoosterExp );
@@ -74,7 +80,12 @@ public class Configuration extends net.minecraftforge.common.Configuration imple
public double oreDoublePercentage = 90.0; public double oreDoublePercentage = 90.0;
public boolean enableEffects = true; public boolean enableEffects = true;
public boolean enableNetworkProfiler = true;
public int wireless_battery = 1600000;
public int manipulator_battery = 200000;
public int mattercannon_battery = 200000;
public int portablecell_battery = 20000;
public int staff_battery = 8000;
public Configuration(File f) { public Configuration(File f) {
super( new File( f.getPath() + File.separator + "AppliedEnergistics2" + File.separator + "AppliedEnergistics2.cfg" ) ); super( new File( f.getPath() + File.separator + "AppliedEnergistics2" + File.separator + "AppliedEnergistics2.cfg" ) );
@@ -97,13 +108,27 @@ public class Configuration extends net.minecraftforge.common.Configuration imple
grinderOres = get( "GrindStone", "grinderOres", grinderOres ).getStringList(); grinderOres = get( "GrindStone", "grinderOres", grinderOres ).getStringList();
oreDoublePercentage = get( "GrindStone", "oreDoublePercentage", oreDoublePercentage ).getDouble( oreDoublePercentage ); oreDoublePercentage = get( "GrindStone", "oreDoublePercentage", oreDoublePercentage ).getDouble( oreDoublePercentage );
enableEffects = get( "Client", "enableEffects", true ).getBoolean( true ); enableEffects = get( "Client", "enableEffects", true ).getBoolean( true );
enableNetworkProfiler = get( "Server", "enableNetworkProfiler", true ).getBoolean( true );
// settings.registerSetting( Settings.SEARCH_MODS, YesNo.YES ); // settings.registerSetting( Settings.SEARCH_MODS, YesNo.YES );
settings.registerSetting( Settings.SEARCH_TOOLTIPS, YesNo.YES ); settings.registerSetting( Settings.SEARCH_TOOLTIPS, YesNo.YES );
settings.registerSetting( Settings.SORT_BY, SortOrder.NAME ); settings.registerSetting( Settings.SORT_BY, SortOrder.NAME );
settings.registerSetting( Settings.SORT_DIRECTION, SortDir.ASCENDING ); settings.registerSetting( Settings.SORT_DIRECTION, SortDir.ASCENDING );
WirelessBaseCost = get( "wireless", "WirelessBaseCost", WirelessBaseCost ).getDouble( WirelessBaseCost );
WirelessCostMultiplier = get( "wireless", "WirelessCostMultiplier", WirelessCostMultiplier ).getDouble( WirelessCostMultiplier );
WirelessBaseRange = get( "wireless", "WirelessBaseRange", WirelessBaseRange ).getDouble( WirelessBaseRange );
WirelessBoosterRangeMultiplier = get( "wireless", "WirelessBoosterRangeMultiplier", WirelessBoosterRangeMultiplier ).getDouble(
WirelessBoosterRangeMultiplier );
WirelessBoosterExp = get( "wireless", "WirelessBoosterExp", WirelessBoosterExp ).getDouble( WirelessBoosterExp );
WirelessTerminalDrainMultiplier = get( "wireless", "WirelessTerminalDrainMultiplier", WirelessTerminalDrainMultiplier ).getDouble(
WirelessTerminalDrainMultiplier );
wireless_battery = get( "battery", "wireless", wireless_battery ).getInt( wireless_battery );
staff_battery = get( "battery", "staff", staff_battery ).getInt( staff_battery );
manipulator_battery = get( "battery", "manipulator", manipulator_battery ).getInt( manipulator_battery );
portablecell_battery = get( "battery", "portablecell", portablecell_battery ).getInt( portablecell_battery );
mattercannon_battery = get( "battery", "mattercannon", mattercannon_battery ).getInt( mattercannon_battery );
for (AEFeature feature : AEFeature.values()) for (AEFeature feature : AEFeature.values())
{ {
if ( feature.isVisible() ) if ( feature.isVisible() )
+1 -1
View File
@@ -21,7 +21,7 @@ public enum GuiText
StorageBus, Priority, Security, Encoded, Blank, Unlinked, Linked, StorageBus, Priority, Security, Encoded, Blank, Unlinked, Linked,
SecurityCardEditor, NoPermissions, WirelessTerminal, SecurityCardEditor, NoPermissions, WirelessTerminal, Wireless,
METunnel, ItemTunnel, RedstoneTunnel, MJTunnel, EUTunnel, FluidTunnel; METunnel, ItemTunnel, RedstoneTunnel, MJTunnel, EUTunnel, FluidTunnel;
+4
View File
@@ -46,6 +46,7 @@ import appeng.container.implementations.ContainerSecurity;
import appeng.container.implementations.ContainerStorageBus; import appeng.container.implementations.ContainerStorageBus;
import appeng.container.implementations.ContainerUpgradeable; import appeng.container.implementations.ContainerUpgradeable;
import appeng.container.implementations.ContainerVibrationChamber; import appeng.container.implementations.ContainerVibrationChamber;
import appeng.container.implementations.ContainerWireless;
import appeng.container.implementations.ContainerWirelessTerm; import appeng.container.implementations.ContainerWirelessTerm;
import appeng.helpers.IInterfaceHost; import appeng.helpers.IInterfaceHost;
import appeng.helpers.IPriorityHost; import appeng.helpers.IPriorityHost;
@@ -58,6 +59,7 @@ import appeng.tile.misc.TileCellWorkbench;
import appeng.tile.misc.TileCondenser; import appeng.tile.misc.TileCondenser;
import appeng.tile.misc.TileSecurity; import appeng.tile.misc.TileSecurity;
import appeng.tile.misc.TileVibrationChamber; import appeng.tile.misc.TileVibrationChamber;
import appeng.tile.networking.TileWireless;
import appeng.tile.qnb.TileQuantumBridge; import appeng.tile.qnb.TileQuantumBridge;
import appeng.tile.storage.TileChest; import appeng.tile.storage.TileChest;
import appeng.tile.storage.TileDrive; import appeng.tile.storage.TileDrive;
@@ -76,6 +78,8 @@ public enum GuiBridge implements IGuiHandler
GUI_CHEST(ContainerChest.class, TileChest.class, false, SecurityPermissions.BUILD), GUI_CHEST(ContainerChest.class, TileChest.class, false, SecurityPermissions.BUILD),
GUI_WIRELESS(ContainerWireless.class, TileWireless.class, false, SecurityPermissions.BUILD),
GUI_ME(ContainerMEMonitorable.class, IStorageMonitorable.class, false, null), GUI_ME(ContainerMEMonitorable.class, IStorageMonitorable.class, false, null),
GUI_PORTABLE_CELL(ContainerMEPortableCell.class, IPortableCell.class, true, null), GUI_PORTABLE_CELL(ContainerMEPortableCell.class, IPortableCell.class, true, null),
+59 -1
View File
@@ -13,6 +13,7 @@ import appeng.api.implementations.guiobjects.IPortableCell;
import appeng.api.networking.IGrid; import appeng.api.networking.IGrid;
import appeng.api.networking.IGridHost; import appeng.api.networking.IGridHost;
import appeng.api.networking.IGridNode; import appeng.api.networking.IGridNode;
import appeng.api.networking.IMachineSet;
import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.security.BaseActionSource;
import appeng.api.networking.storage.IStorageGrid; import appeng.api.networking.storage.IStorageGrid;
import appeng.api.storage.IMEMonitor; import appeng.api.storage.IMEMonitor;
@@ -21,6 +22,7 @@ import appeng.api.storage.StorageChannel;
import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IAEFluidStack;
import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEItemStack;
import appeng.api.storage.data.IItemList; import appeng.api.storage.data.IItemList;
import appeng.tile.networking.TileWireless;
public class WirelessTerminalGuiObject implements IPortableCell public class WirelessTerminalGuiObject implements IPortableCell
{ {
@@ -31,10 +33,19 @@ public class WirelessTerminalGuiObject implements IPortableCell
IGrid targetGrid; IGrid targetGrid;
IStorageGrid sg; IStorageGrid sg;
IMEMonitor<IAEItemStack> itemStorage; IMEMonitor<IAEItemStack> itemStorage;
TileWireless myWap;
double sqRange = Double.MAX_VALUE;
double myRange = Double.MAX_VALUE;
EntityPlayer myPlayer; EntityPlayer myPlayer;
public ItemStack effectiveItem; public ItemStack effectiveItem;
public double getRange()
{
return myRange;
}
public WirelessTerminalGuiObject(IWirelessTermHandler wh, ItemStack is, EntityPlayer ep, World w, int x, int y, int z) { public WirelessTerminalGuiObject(IWirelessTermHandler wh, ItemStack is, EntityPlayer ep, World w, int x, int y, int z) {
encryptionKey = wh.getEncryptionKey( is ); encryptionKey = wh.getEncryptionKey( is );
effectiveItem = is; effectiveItem = is;
@@ -61,14 +72,61 @@ public class WirelessTerminalGuiObject implements IPortableCell
public boolean rangeCheck() public boolean rangeCheck()
{ {
sqRange = myRange = Double.MAX_VALUE;
if ( targetGrid != null && itemStorage != null ) if ( targetGrid != null && itemStorage != null )
{ {
if ( myWap != null )
{
if ( myWap.getGridNode( ForgeDirection.UNKNOWN ).getGrid() == targetGrid )
{
if ( testWap( myWap ) )
return true; return true;
} }
return false; return false;
} }
IMachineSet tw = targetGrid.getMachines( TileWireless.class );
myWap = null;
for (IGridNode n : tw)
{
TileWireless wap = (TileWireless) n.getMachine();
if ( testWap( wap ) )
myWap = wap;
}
return myWap != null;
}
return false;
}
private boolean testWap(TileWireless wap)
{
double rangeLimit = wap.getRange();
rangeLimit *= rangeLimit;
if ( wap.worldObj == myPlayer.worldObj )
{
double offX = (double) wap.xCoord - myPlayer.posX;
double offY = (double) wap.yCoord - myPlayer.posY;
double offZ = (double) wap.zCoord - myPlayer.posZ;
double r = offX * offX + offY * offY + offZ * offZ;
if ( r < rangeLimit && sqRange > r )
{
if ( wap.getGridNode( ForgeDirection.UNKNOWN ).isActive() )
{
sqRange = r;
myRange = Math.sqrt( r );
return true;
}
}
}
return false;
}
@Override @Override
public IMEMonitor<IAEItemStack> getItemInventory() public IMEMonitor<IAEItemStack> getItemInventory()
{ {
+2 -1
View File
@@ -6,6 +6,7 @@ import java.util.EnumSet;
import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.EntityLivingBase;
import net.minecraft.item.ItemStack; import net.minecraft.item.ItemStack;
import net.minecraft.util.DamageSource; import net.minecraft.util.DamageSource;
import appeng.core.Configuration;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.core.sync.packets.PacketLightning; import appeng.core.sync.packets.PacketLightning;
import appeng.items.tools.powered.powersink.AEBasePoweredItem; import appeng.items.tools.powered.powersink.AEBasePoweredItem;
@@ -18,7 +19,7 @@ public class ToolChargedStaff extends AEBasePoweredItem
public ToolChargedStaff() { public ToolChargedStaff() {
super( ToolChargedStaff.class, null ); super( ToolChargedStaff.class, null );
setfeature( EnumSet.of( AEFeature.ChargedStaff, AEFeature.PoweredTools ) ); setfeature( EnumSet.of( AEFeature.ChargedStaff, AEFeature.PoweredTools ) );
maxStoredPower = 8000; maxStoredPower = Configuration.instance.staff_battery;
} }
@Override @Override
@@ -17,6 +17,7 @@ import net.minecraft.util.EnumMovingObjectType;
import net.minecraft.util.MovingObjectPosition; import net.minecraft.util.MovingObjectPosition;
import net.minecraft.world.World; import net.minecraft.world.World;
import net.minecraftforge.common.ForgeDirection; import net.minecraftforge.common.ForgeDirection;
import appeng.core.Configuration;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.items.tools.powered.powersink.AEBasePoweredItem; import appeng.items.tools.powered.powersink.AEBasePoweredItem;
import appeng.util.InWorldToolOperationResult; import appeng.util.InWorldToolOperationResult;
@@ -103,6 +104,7 @@ public class ToolEntropyManipulator extends AEBasePoweredItem
public ToolEntropyManipulator() { public ToolEntropyManipulator() {
super( ToolEntropyManipulator.class, null ); super( ToolEntropyManipulator.class, null );
setfeature( EnumSet.of( AEFeature.EntropyManipulator, AEFeature.PoweredTools ) ); setfeature( EnumSet.of( AEFeature.EntropyManipulator, AEFeature.PoweredTools ) );
maxStoredPower = Configuration.instance.manipulator_battery;
coolDown = new Hashtable<String, InWorldToolOperationResult>(); coolDown = new Hashtable<String, InWorldToolOperationResult>();
coolDown.put( Block.stone.blockID + ":0", new InWorldToolOperationResult( new ItemStack( Block.cobblestone ) ) ); coolDown.put( Block.stone.blockID + ":0", new InWorldToolOperationResult( new ItemStack( Block.cobblestone ) ) );
+1
View File
@@ -48,6 +48,7 @@ public class ToolMassCannon extends AEBasePoweredItem implements IStorageCell
public ToolMassCannon() { public ToolMassCannon() {
super( ToolMassCannon.class, null ); super( ToolMassCannon.class, null );
setfeature( EnumSet.of( AEFeature.MatterCannon, AEFeature.PoweredTools ) ); setfeature( EnumSet.of( AEFeature.MatterCannon, AEFeature.PoweredTools ) );
maxStoredPower = Configuration.instance.mattercannon_battery;
} }
@Override @Override
+2 -1
View File
@@ -16,6 +16,7 @@ import appeng.api.implementations.items.IStorageCell;
import appeng.api.storage.IMEInventory; import appeng.api.storage.IMEInventory;
import appeng.api.storage.StorageChannel; import appeng.api.storage.StorageChannel;
import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEItemStack;
import appeng.core.Configuration;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.core.localization.GuiText; import appeng.core.localization.GuiText;
import appeng.core.sync.GuiBridge; import appeng.core.sync.GuiBridge;
@@ -33,7 +34,7 @@ public class ToolPortableCell extends AEBasePoweredItem implements IStorageCell,
public ToolPortableCell() { public ToolPortableCell() {
super( ToolPortableCell.class, null ); super( ToolPortableCell.class, null );
setfeature( EnumSet.of( AEFeature.PortableCell, AEFeature.StorageCells, AEFeature.PoweredTools ) ); setfeature( EnumSet.of( AEFeature.PortableCell, AEFeature.StorageCells, AEFeature.PoweredTools ) );
maxStoredPower = 20000; maxStoredPower = Configuration.instance.portablecell_battery;
} }
@Override @Override
@@ -10,6 +10,7 @@ import net.minecraft.util.StatCollector;
import net.minecraft.world.World; import net.minecraft.world.World;
import appeng.api.AEApi; import appeng.api.AEApi;
import appeng.api.features.IWirelessTermHandler; import appeng.api.features.IWirelessTermHandler;
import appeng.core.Configuration;
import appeng.core.features.AEFeature; import appeng.core.features.AEFeature;
import appeng.core.localization.GuiText; import appeng.core.localization.GuiText;
import appeng.items.tools.powered.powersink.AEBasePoweredItem; import appeng.items.tools.powered.powersink.AEBasePoweredItem;
@@ -18,12 +19,10 @@ import appeng.util.Platform;
public class ToolWirelessTerminal extends AEBasePoweredItem implements IWirelessTermHandler public class ToolWirelessTerminal extends AEBasePoweredItem implements IWirelessTermHandler
{ {
String name;
int DISTNACE_CALC = 2;
public ToolWirelessTerminal() { public ToolWirelessTerminal() {
super( ToolWirelessTerminal.class, null ); super( ToolWirelessTerminal.class, null );
setfeature( EnumSet.of( AEFeature.WirelessAccessTerminal, AEFeature.PoweredTools ) ); setfeature( EnumSet.of( AEFeature.WirelessAccessTerminal, AEFeature.PoweredTools ) );
maxStoredPower = Configuration.instance.wireless_battery;
} }
@Override @Override
+10 -5
View File
@@ -96,7 +96,8 @@ public class PartCable extends AEBasePart implements IPartCable
return CableBusTextures.MECable_Yellow.getIcon(); return CableBusTextures.MECable_Yellow.getIcon();
default: default:
} }
return AEApi.instance().parts().partCableGlass.item( AEColor.Transparent ).getIconIndex( AEApi.instance().parts().partCableGlass.stack( AEColor.Transparent, 1 ) ); return AEApi.instance().parts().partCableGlass.item( AEColor.Transparent ).getIconIndex(
AEApi.instance().parts().partCableGlass.stack( AEColor.Transparent, 1 ) );
} }
public Icon getTexture(AEColor c) public Icon getTexture(AEColor c)
@@ -142,7 +143,8 @@ public class PartCable extends AEBasePart implements IPartCable
return CableBusTextures.MECovered_Yellow.getIcon(); return CableBusTextures.MECovered_Yellow.getIcon();
default: default:
} }
return AEApi.instance().parts().partCableCovered.item( AEColor.Transparent ).getIconIndex( AEApi.instance().parts().partCableCovered.stack( AEColor.Transparent, 1 ) ); return AEApi.instance().parts().partCableCovered.item( AEColor.Transparent ).getIconIndex(
AEApi.instance().parts().partCableCovered.stack( AEColor.Transparent, 1 ) );
} }
public Icon getSmartTexture(AEColor c) public Icon getSmartTexture(AEColor c)
@@ -183,8 +185,8 @@ public class PartCable extends AEBasePart implements IPartCable
return CableBusTextures.MESmart_Yellow.getIcon(); return CableBusTextures.MESmart_Yellow.getIcon();
default: default:
} }
return AEApi.instance().parts().partCableCovered.item( AEColor.Transparent ).getIconIndex(
return is.getIconIndex(); AEApi.instance().parts().partCableSmart.stack( AEColor.Transparent, 1 ) );
} }
@Override @Override
@@ -242,7 +244,10 @@ public class PartCable extends AEBasePart implements IPartCable
ForgeDirection side = gc.getDirection( n ); ForgeDirection side = gc.getDirection( n );
if ( side != ForgeDirection.UNKNOWN ) if ( side != ForgeDirection.UNKNOWN )
{ {
if ( proxy.getNode().hasFlag( GridFlags.TIER_2_CAPACITY ) && gc.getOtherSide( proxy.getNode() ).hasFlag( GridFlags.TIER_2_CAPACITY ) ) boolean isTier2a = proxy.getNode().hasFlag( GridFlags.TIER_2_CAPACITY );
boolean isTier2b = gc.getOtherSide( proxy.getNode() ).hasFlag( GridFlags.TIER_2_CAPACITY );
if ( isTier2a && isTier2b )
sideOut |= (gc.getUsedChannels() / 4) << (4 * side.ordinal()); sideOut |= (gc.getUsedChannels() / 4) << (4 * side.ordinal());
else else
sideOut |= gc.getUsedChannels() << (4 * side.ordinal()); sideOut |= gc.getUsedChannels() << (4 * side.ordinal());
+1 -1
View File
@@ -29,7 +29,7 @@ public class TileController extends AENetworkPowerTile implements IAEPowerStorag
internalMaxPower = 8000; internalMaxPower = 8000;
internalPublicPowerStorage = true; internalPublicPowerStorage = true;
gridProxy.setIdlePowerUsage( 6 ); gridProxy.setIdlePowerUsage( 6 );
gridProxy.setFlags( GridFlags.CANNOT_CARRY ); gridProxy.setFlags( GridFlags.CANNOT_CARRY, GridFlags.TIER_2_CAPACITY );
} }
@Override @Override
+19 -3
View File
@@ -125,15 +125,14 @@ public class TileWireless extends AENetworkInvTile
} }
@Override @Override
public void onChangeInventory(IInventory inv, int slot, InvOperation mc, ItemStack removed, ItemStack added) public void onInventoryChanged()
{ {
updatePower(); updatePower();
} }
private void updatePower() private void updatePower()
{ {
ItemStack boosters = inv.getStackInSlot( 0 ); gridProxy.setIdlePowerUsage( Configuration.instance.wireless_getPowerDrain( getBoosters() ) );
gridProxy.setIdlePowerUsage( Configuration.instance.wireless_getPowerDrain( boosters == null ? 0 : boosters.stackSize ) );
} }
@Override @Override
@@ -142,4 +141,21 @@ public class TileWireless extends AENetworkInvTile
return sides; return sides;
} }
public double getRange()
{
return Configuration.instance.wireless_getMaxRange( getBoosters() );
}
private int getBoosters()
{
ItemStack boosters = inv.getStackInSlot( 0 );
return boosters == null ? 0 : boosters.stackSize;
}
@Override
public void onChangeInventory(IInventory inv, int slot, InvOperation mc, ItemStack removed, ItemStack added)
{
// :P
}
} }