Implemented 5% Tunnel Tax.
This commit is contained in:
+2
-2
@@ -25,7 +25,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
|||||||
|
|
||||||
public static AEConfig instance;
|
public static AEConfig instance;
|
||||||
|
|
||||||
public static float TunnelPowerLoss = 0.05f;
|
public static double TunnelPowerLoss = 0.05;
|
||||||
|
|
||||||
public String latestVersion = VERSION;
|
public String latestVersion = VERSION;
|
||||||
public long latestTimeStamp = 0;
|
public long latestTimeStamp = 0;
|
||||||
@@ -267,7 +267,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
|
|||||||
|
|
||||||
min = Math.max( min, thisInt + 1 );
|
min = Math.max( min, thisInt + 1 );
|
||||||
}
|
}
|
||||||
|
|
||||||
if ( alreadyUsed )
|
if ( alreadyUsed )
|
||||||
{
|
{
|
||||||
if ( min < 16383 )
|
if ( min < 16383 )
|
||||||
|
|||||||
@@ -80,16 +80,19 @@ public class P2PTunnelRegistry implements IP2PTunnelRegistry
|
|||||||
@Override
|
@Override
|
||||||
public TunnelType getTunnelTypeByItem(ItemStack trigger)
|
public TunnelType getTunnelTypeByItem(ItemStack trigger)
|
||||||
{
|
{
|
||||||
if ( FluidContainerRegistry.isContainer( trigger ) )
|
if ( trigger != null )
|
||||||
return TunnelType.FLUID;
|
|
||||||
|
|
||||||
for (ItemStack is : Tunnels.keySet())
|
|
||||||
{
|
{
|
||||||
if ( is.getItem() == trigger.getItem() && is.getItemDamage() == OreDictionary.WILDCARD_VALUE )
|
if ( FluidContainerRegistry.isContainer( trigger ) )
|
||||||
return Tunnels.get( is );
|
return TunnelType.FLUID;
|
||||||
|
|
||||||
if ( Platform.isSameItem( is, trigger ) )
|
for (ItemStack is : Tunnels.keySet())
|
||||||
return Tunnels.get( is );
|
{
|
||||||
|
if ( is.getItem() == trigger.getItem() && is.getItemDamage() == OreDictionary.WILDCARD_VALUE )
|
||||||
|
return Tunnels.get( is );
|
||||||
|
|
||||||
|
if ( Platform.isSameItem( is, trigger ) )
|
||||||
|
return Tunnels.get( is );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|||||||
@@ -13,7 +13,6 @@ import appeng.api.networking.IGridNode;
|
|||||||
import appeng.api.networking.ticking.IGridTickable;
|
import appeng.api.networking.ticking.IGridTickable;
|
||||||
import appeng.api.networking.ticking.TickRateModulation;
|
import appeng.api.networking.ticking.TickRateModulation;
|
||||||
import appeng.api.networking.ticking.TickingRequest;
|
import appeng.api.networking.ticking.TickingRequest;
|
||||||
import appeng.core.AEConfig;
|
|
||||||
import appeng.core.AppEng;
|
import appeng.core.AppEng;
|
||||||
import appeng.core.settings.TickRates;
|
import appeng.core.settings.TickRates;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
@@ -115,7 +114,7 @@ public class PartP2PBCPower extends PartP2PTunnel<PartP2PBCPower> implements IPo
|
|||||||
{
|
{
|
||||||
double toPull = currentTotal * (howmuch / totalRequiredPower);
|
double toPull = currentTotal * (howmuch / totalRequiredPower);
|
||||||
double pulled = pp.useEnergy( 0, toPull, true );
|
double pulled = pp.useEnergy( 0, toPull, true );
|
||||||
QueueTunnelDrain( PowerUnits.MJ, pulled * AEConfig.TunnelPowerLoss );
|
QueueTunnelDrain( PowerUnits.MJ, pulled );
|
||||||
|
|
||||||
tp.receiveEnergy( Type.PIPE, pulled, o.side.getOpposite() );
|
tp.receiveEnergy( Type.PIPE, pulled, o.side.getOpposite() );
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import appeng.api.config.PowerUnits;
|
||||||
import appeng.api.config.TunnelType;
|
import appeng.api.config.TunnelType;
|
||||||
import appeng.core.AppEng;
|
import appeng.core.AppEng;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
@@ -143,6 +144,7 @@ public class PartP2PIC2Power extends PartP2PTunnel<PartP2PIC2Power> implements i
|
|||||||
PartP2PIC2Power x = (PartP2PIC2Power) Platform.pickRandom( Options );
|
PartP2PIC2Power x = (PartP2PIC2Power) Platform.pickRandom( Options );
|
||||||
if ( x != null && x.OutputPacket <= 0.001 )
|
if ( x != null && x.OutputPacket <= 0.001 )
|
||||||
{
|
{
|
||||||
|
QueueTunnelDrain( PowerUnits.EU, amount );
|
||||||
x.OutputPacket = amount;
|
x.OutputPacket = amount;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound;
|
|||||||
import net.minecraft.tileentity.TileEntity;
|
import net.minecraft.tileentity.TileEntity;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import appeng.api.config.PowerUnits;
|
||||||
import appeng.api.config.TunnelType;
|
import appeng.api.config.TunnelType;
|
||||||
import appeng.core.AppEng;
|
import appeng.core.AppEng;
|
||||||
import appeng.integration.modules.helpers.NullRFHandler;
|
import appeng.integration.modules.helpers.NullRFHandler;
|
||||||
@@ -133,6 +134,8 @@ public class PartP2PRFPower extends PartP2PTunnel<PartP2PRFPower> implements cof
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QueueTunnelDrain( PowerUnits.RF, total );
|
||||||
}
|
}
|
||||||
catch (GridAccessException e)
|
catch (GridAccessException e)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -10,6 +10,8 @@ import net.minecraft.util.IIcon;
|
|||||||
import net.minecraft.util.Vec3;
|
import net.minecraft.util.Vec3;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
import appeng.api.AEApi;
|
import appeng.api.AEApi;
|
||||||
|
import appeng.api.config.Actionable;
|
||||||
|
import appeng.api.config.PowerMultiplier;
|
||||||
import appeng.api.config.PowerUnits;
|
import appeng.api.config.PowerUnits;
|
||||||
import appeng.api.config.TunnelType;
|
import appeng.api.config.TunnelType;
|
||||||
import appeng.api.implementations.items.IMemoryCard;
|
import appeng.api.implementations.items.IMemoryCard;
|
||||||
@@ -20,6 +22,7 @@ import appeng.api.parts.IPartItem;
|
|||||||
import appeng.api.parts.IPartRenderHelper;
|
import appeng.api.parts.IPartRenderHelper;
|
||||||
import appeng.api.parts.PartItemStack;
|
import appeng.api.parts.PartItemStack;
|
||||||
import appeng.client.texture.CableBusTextures;
|
import appeng.client.texture.CableBusTextures;
|
||||||
|
import appeng.core.AEConfig;
|
||||||
import appeng.me.GridAccessException;
|
import appeng.me.GridAccessException;
|
||||||
import appeng.me.cache.P2PCache;
|
import appeng.me.cache.P2PCache;
|
||||||
import appeng.me.cache.helpers.TunnelCollection;
|
import appeng.me.cache.helpers.TunnelCollection;
|
||||||
@@ -321,10 +324,18 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
|
|||||||
renderLights( x, y, z, rh, renderer );
|
renderLights( x, y, z, rh, renderer );
|
||||||
}
|
}
|
||||||
|
|
||||||
protected void QueueTunnelDrain(PowerUnits mj, double f)
|
protected void QueueTunnelDrain(PowerUnits unit, double f)
|
||||||
{
|
{
|
||||||
// TODO Auto-generated method stub
|
double ae_to_tax = unit.convertTo( PowerUnits.AE, f * AEConfig.TunnelPowerLoss );
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
proxy.getEnergy().extractAEPower( ae_to_tax, Actionable.MODULATE, PowerMultiplier.ONE );
|
||||||
|
}
|
||||||
|
catch (GridAccessException e)
|
||||||
|
{
|
||||||
|
// :P
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
Reference in New Issue
Block a user