API Sync.
This commit is contained in:
parent
7a7484ba2f
commit
e91a3a9cc1
2 changed files with 34 additions and 11 deletions
|
@ -10,6 +10,7 @@ import appeng.api.config.Actionable;
|
||||||
import appeng.api.config.PowerMultiplier;
|
import appeng.api.config.PowerMultiplier;
|
||||||
import appeng.api.features.IWirelessTermHandler;
|
import appeng.api.features.IWirelessTermHandler;
|
||||||
import appeng.api.implementations.guiobjects.IPortableCell;
|
import appeng.api.implementations.guiobjects.IPortableCell;
|
||||||
|
import appeng.api.implementations.tiles.IWirelessAccessPoint;
|
||||||
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;
|
||||||
|
@ -22,6 +23,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.api.util.DimensionalCoord;
|
||||||
import appeng.api.util.IConfigManager;
|
import appeng.api.util.IConfigManager;
|
||||||
import appeng.tile.networking.TileWireless;
|
import appeng.tile.networking.TileWireless;
|
||||||
|
|
||||||
|
@ -34,7 +36,7 @@ public class WirelessTerminalGuiObject implements IPortableCell
|
||||||
IGrid targetGrid;
|
IGrid targetGrid;
|
||||||
IStorageGrid sg;
|
IStorageGrid sg;
|
||||||
IMEMonitor<IAEItemStack> itemStorage;
|
IMEMonitor<IAEItemStack> itemStorage;
|
||||||
TileWireless myWap;
|
IWirelessAccessPoint myWap;
|
||||||
|
|
||||||
double sqRange = Double.MAX_VALUE;
|
double sqRange = Double.MAX_VALUE;
|
||||||
double myRange = Double.MAX_VALUE;
|
double myRange = Double.MAX_VALUE;
|
||||||
|
@ -89,7 +91,7 @@ public class WirelessTerminalGuiObject implements IPortableCell
|
||||||
{
|
{
|
||||||
if ( myWap != null )
|
if ( myWap != null )
|
||||||
{
|
{
|
||||||
if ( myWap.getGridNode( ForgeDirection.UNKNOWN ).getGrid() == targetGrid )
|
if ( myWap.getGrid() == targetGrid )
|
||||||
{
|
{
|
||||||
if ( testWap( myWap ) )
|
if ( testWap( myWap ) )
|
||||||
return true;
|
return true;
|
||||||
|
@ -103,7 +105,7 @@ public class WirelessTerminalGuiObject implements IPortableCell
|
||||||
|
|
||||||
for (IGridNode n : tw)
|
for (IGridNode n : tw)
|
||||||
{
|
{
|
||||||
TileWireless wap = (TileWireless) n.getMachine();
|
IWirelessAccessPoint wap = (IWirelessAccessPoint) n.getMachine();
|
||||||
if ( testWap( wap ) )
|
if ( testWap( wap ) )
|
||||||
myWap = wap;
|
myWap = wap;
|
||||||
}
|
}
|
||||||
|
@ -113,21 +115,23 @@ public class WirelessTerminalGuiObject implements IPortableCell
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private boolean testWap(TileWireless wap)
|
private boolean testWap(IWirelessAccessPoint wap)
|
||||||
{
|
{
|
||||||
double rangeLimit = wap.getRange();
|
double rangeLimit = wap.getRange();
|
||||||
rangeLimit *= rangeLimit;
|
rangeLimit *= rangeLimit;
|
||||||
|
|
||||||
if ( wap.getWorldObj() == myPlayer.worldObj )
|
DimensionalCoord dc = wap.getLocation();
|
||||||
|
|
||||||
|
if ( dc.getWorld() == myPlayer.worldObj )
|
||||||
{
|
{
|
||||||
double offX = (double) wap.xCoord - myPlayer.posX;
|
double offX = (double) dc.x - myPlayer.posX;
|
||||||
double offY = (double) wap.yCoord - myPlayer.posY;
|
double offY = (double) dc.y - myPlayer.posY;
|
||||||
double offZ = (double) wap.zCoord - myPlayer.posZ;
|
double offZ = (double) dc.z - myPlayer.posZ;
|
||||||
|
|
||||||
double r = offX * offX + offY * offY + offZ * offZ;
|
double r = offX * offX + offY * offY + offZ * offZ;
|
||||||
if ( r < rangeLimit && sqRange > r )
|
if ( r < rangeLimit && sqRange > r )
|
||||||
{
|
{
|
||||||
if ( wap.getGridNode( ForgeDirection.UNKNOWN ).isActive() )
|
if ( wap.isActive() )
|
||||||
{
|
{
|
||||||
sqRange = r;
|
sqRange = r;
|
||||||
myRange = Math.sqrt( r );
|
myRange = Math.sqrt( r );
|
||||||
|
|
|
@ -8,7 +8,9 @@ import java.util.EnumSet;
|
||||||
import net.minecraft.inventory.IInventory;
|
import net.minecraft.inventory.IInventory;
|
||||||
import net.minecraft.item.ItemStack;
|
import net.minecraft.item.ItemStack;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import appeng.api.implementations.tiles.IWirelessAccessPoint;
|
||||||
import appeng.api.networking.GridFlags;
|
import appeng.api.networking.GridFlags;
|
||||||
|
import appeng.api.networking.IGrid;
|
||||||
import appeng.api.networking.events.MENetworkChannelsChanged;
|
import appeng.api.networking.events.MENetworkChannelsChanged;
|
||||||
import appeng.api.networking.events.MENetworkEventSubscribe;
|
import appeng.api.networking.events.MENetworkEventSubscribe;
|
||||||
import appeng.api.networking.events.MENetworkPowerStatusChange;
|
import appeng.api.networking.events.MENetworkPowerStatusChange;
|
||||||
|
@ -22,7 +24,7 @@ import appeng.tile.grid.AENetworkInvTile;
|
||||||
import appeng.tile.inventory.AppEngInternalInventory;
|
import appeng.tile.inventory.AppEngInternalInventory;
|
||||||
import appeng.tile.inventory.InvOperation;
|
import appeng.tile.inventory.InvOperation;
|
||||||
|
|
||||||
public class TileWireless extends AENetworkInvTile
|
public class TileWireless extends AENetworkInvTile implements IWirelessAccessPoint
|
||||||
{
|
{
|
||||||
|
|
||||||
public static final int POWERED_FLAG = 1;
|
public static final int POWERED_FLAG = 1;
|
||||||
|
@ -141,11 +143,28 @@ public class TileWireless extends AENetworkInvTile
|
||||||
return sides;
|
return sides;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
public double getRange()
|
public double getRange()
|
||||||
{
|
{
|
||||||
return AEConfig.instance.wireless_getMaxRange( getBoosters() );
|
return AEConfig.instance.wireless_getMaxRange( getBoosters() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
|
{
|
||||||
|
return gridProxy.isActive();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IGrid getGrid()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return gridProxy.getGrid();
|
||||||
|
} catch (GridAccessException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private int getBoosters()
|
private int getBoosters()
|
||||||
{
|
{
|
||||||
ItemStack boosters = inv.getStackInSlot( 0 );
|
ItemStack boosters = inv.getStackInSlot( 0 );
|
||||||
|
|
Loading…
Reference in a new issue