Implemented 5% Tunnel Tax.

This commit is contained in:
AlgorithmX2 2014-05-02 00:40:46 -05:00
parent da764470a4
commit cc8c3bb75e
6 changed files with 32 additions and 14 deletions

View file

@ -25,7 +25,7 @@ public class AEConfig extends Configuration implements IConfigureableObject, ICo
public static AEConfig instance;
public static float TunnelPowerLoss = 0.05f;
public static double TunnelPowerLoss = 0.05;
public String latestVersion = VERSION;
public long latestTimeStamp = 0;

View file

@ -79,6 +79,8 @@ public class P2PTunnelRegistry implements IP2PTunnelRegistry
@Override
public TunnelType getTunnelTypeByItem(ItemStack trigger)
{
if ( trigger != null )
{
if ( FluidContainerRegistry.isContainer( trigger ) )
return TunnelType.FLUID;
@ -91,6 +93,7 @@ public class P2PTunnelRegistry implements IP2PTunnelRegistry
if ( Platform.isSameItem( is, trigger ) )
return Tunnels.get( is );
}
}
return null;
}

View file

@ -13,7 +13,6 @@ import appeng.api.networking.IGridNode;
import appeng.api.networking.ticking.IGridTickable;
import appeng.api.networking.ticking.TickRateModulation;
import appeng.api.networking.ticking.TickingRequest;
import appeng.core.AEConfig;
import appeng.core.AppEng;
import appeng.core.settings.TickRates;
import appeng.me.GridAccessException;
@ -115,7 +114,7 @@ public class PartP2PBCPower extends PartP2PTunnel<PartP2PBCPower> implements IPo
{
double toPull = currentTotal * (howmuch / totalRequiredPower);
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() );
}

View file

@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.config.PowerUnits;
import appeng.api.config.TunnelType;
import appeng.core.AppEng;
import appeng.me.GridAccessException;
@ -143,6 +144,7 @@ public class PartP2PIC2Power extends PartP2PTunnel<PartP2PIC2Power> implements i
PartP2PIC2Power x = (PartP2PIC2Power) Platform.pickRandom( Options );
if ( x != null && x.OutputPacket <= 0.001 )
{
QueueTunnelDrain( PowerUnits.EU, amount );
x.OutputPacket = amount;
return 0;
}

View file

@ -8,6 +8,7 @@ import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.tileentity.TileEntity;
import net.minecraft.util.IIcon;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.config.PowerUnits;
import appeng.api.config.TunnelType;
import appeng.core.AppEng;
import appeng.integration.modules.helpers.NullRFHandler;
@ -133,6 +134,8 @@ public class PartP2PRFPower extends PartP2PTunnel<PartP2PRFPower> implements cof
break;
}
}
QueueTunnelDrain( PowerUnits.RF, total );
}
catch (GridAccessException e)
{

View file

@ -10,6 +10,8 @@ import net.minecraft.util.IIcon;
import net.minecraft.util.Vec3;
import net.minecraftforge.common.util.ForgeDirection;
import appeng.api.AEApi;
import appeng.api.config.Actionable;
import appeng.api.config.PowerMultiplier;
import appeng.api.config.PowerUnits;
import appeng.api.config.TunnelType;
import appeng.api.implementations.items.IMemoryCard;
@ -20,6 +22,7 @@ import appeng.api.parts.IPartItem;
import appeng.api.parts.IPartRenderHelper;
import appeng.api.parts.PartItemStack;
import appeng.client.texture.CableBusTextures;
import appeng.core.AEConfig;
import appeng.me.GridAccessException;
import appeng.me.cache.P2PCache;
import appeng.me.cache.helpers.TunnelCollection;
@ -321,10 +324,18 @@ public class PartP2PTunnel<T extends PartP2PTunnel> extends PartBasicState
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