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:
@@ -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
@@ -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() )
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|
||||||
|
|||||||
@@ -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),
|
||||||
|
|||||||
@@ -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()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -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 ) ) );
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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());
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user