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
+2 -2
View File
@@ -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;
+1 -2
View File
@@ -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() );
} }
+2
View File
@@ -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;
} }
+3
View File
@@ -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)
{ {
+13 -2
View File
@@ -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