Added Legacy Controller textures and recipe
|
@ -1,12 +1,14 @@
|
||||||
package appeng.block.legacy;
|
package appeng.block.legacy;
|
||||||
|
|
||||||
import appeng.block.AEBaseTileBlock;
|
import appeng.block.AEBaseTileBlock;
|
||||||
|
import appeng.client.texture.ExtraBlockTextures;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
import appeng.core.sync.GuiBridge;
|
import appeng.core.sync.GuiBridge;
|
||||||
import appeng.tile.legacy.TileLegacyController;
|
import appeng.tile.legacy.TileLegacyController;
|
||||||
import appeng.util.Platform;
|
import appeng.util.Platform;
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
import net.minecraft.entity.player.EntityPlayer;
|
import net.minecraft.entity.player.EntityPlayer;
|
||||||
|
import net.minecraft.util.IIcon;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.util.ForgeDirection;
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
|
||||||
|
@ -26,4 +28,27 @@ public class BlockLegacyController extends AEBaseTileBlock {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IIcon getIcon(int direction, int metadata) {
|
||||||
|
if (direction == 3) {
|
||||||
|
switch (metadata) {
|
||||||
|
case 0:
|
||||||
|
return ExtraBlockTextures.Controller0.getIcon();
|
||||||
|
case 1:
|
||||||
|
return ExtraBlockTextures.Controller1.getIcon();
|
||||||
|
case 2:
|
||||||
|
return ExtraBlockTextures.Controller2.getIcon();
|
||||||
|
case 3:
|
||||||
|
return ExtraBlockTextures.Controller3.getIcon();
|
||||||
|
case 4:
|
||||||
|
return ExtraBlockTextures.Controller4.getIcon();
|
||||||
|
case 5:
|
||||||
|
return ExtraBlockTextures.Controller5.getIcon();
|
||||||
|
case 6:
|
||||||
|
return ExtraBlockTextures.ControllerLinked.getIcon();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return super.getIcon(direction, metadata);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,6 +21,7 @@ package appeng.client.texture;
|
||||||
|
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
import jdk.nashorn.internal.ir.Block;
|
||||||
import net.minecraft.client.Minecraft;
|
import net.minecraft.client.Minecraft;
|
||||||
import net.minecraft.client.renderer.texture.TextureMap;
|
import net.minecraft.client.renderer.texture.TextureMap;
|
||||||
import net.minecraft.util.IIcon;
|
import net.minecraft.util.IIcon;
|
||||||
|
@ -85,7 +86,9 @@ public enum ExtraBlockTextures
|
||||||
|
|
||||||
BlockCraftingMonitorOuter( "BlockCraftingMonitorOuter" ), BlockCraftingFitSolid( "BlockCraftingFitSolid" ),
|
BlockCraftingMonitorOuter( "BlockCraftingMonitorOuter" ), BlockCraftingFitSolid( "BlockCraftingFitSolid" ),
|
||||||
|
|
||||||
BlockPaint2( "BlockPaint2" ), BlockPaint3( "BlockPaint3" );
|
BlockPaint2( "BlockPaint2" ), BlockPaint3( "BlockPaint3" ),
|
||||||
|
|
||||||
|
Controller0("Controller0"), Controller1("Controller1"), Controller2("Controller2"), Controller3("Controller3"), Controller4("Controller4"), Controller5("BlockLegacyControllerFront"), ControllerLinked("ControllerLinked");
|
||||||
|
|
||||||
private final String name;
|
private final String name;
|
||||||
private IIcon IIcon;
|
private IIcon IIcon;
|
||||||
|
|
|
@ -14,9 +14,10 @@ public class TileLegacyController extends AENetworkPowerTile {
|
||||||
private static final IInventory NULL_INVENTORY = new AppEngInternalInventory( null, 0 );
|
private static final IInventory NULL_INVENTORY = new AppEngInternalInventory( null, 0 );
|
||||||
private static final int[] ACCESSIBLE_SLOTS_BY_SIDE = {};
|
private static final int[] ACCESSIBLE_SLOTS_BY_SIDE = {};
|
||||||
|
|
||||||
public TileLegacyController() {
|
public TileLegacyController() { //TODO Fix power storage
|
||||||
this.setInternalMaxPower( 8000 );
|
this.setInternalMaxPower( 10000 );
|
||||||
this.setInternalPublicPowerStorage( true );
|
this.setInternalPublicPowerStorage( true );
|
||||||
|
this.getProxy().setIdlePowerUsage(6.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -37,9 +38,10 @@ public class TileLegacyController extends AENetworkPowerTile {
|
||||||
@Override
|
@Override
|
||||||
protected double getFunnelPowerDemand( final double maxReceived )
|
protected double getFunnelPowerDemand( final double maxReceived )
|
||||||
{
|
{
|
||||||
|
updateMeta();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
return this.getProxy().getEnergy().getEnergyDemand( 8000 );
|
return this.getProxy().getEnergy().getEnergyDemand( 10000 );
|
||||||
}
|
}
|
||||||
catch( final GridAccessException e )
|
catch( final GridAccessException e )
|
||||||
{
|
{
|
||||||
|
@ -51,6 +53,7 @@ public class TileLegacyController extends AENetworkPowerTile {
|
||||||
@Override
|
@Override
|
||||||
protected double funnelPowerIntoStorage( final double power, final Actionable mode )
|
protected double funnelPowerIntoStorage( final double power, final Actionable mode )
|
||||||
{
|
{
|
||||||
|
updateMeta();
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
final double ret = this.getProxy().getEnergy().injectPower( power, mode );
|
final double ret = this.getProxy().getEnergy().injectPower( power, mode );
|
||||||
|
@ -67,4 +70,19 @@ public class TileLegacyController extends AENetworkPowerTile {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void updateMeta() {
|
||||||
|
int meta = (int) Math.ceil((5.0 * this.getInternalCurrentPower() / this.getInternalMaxPower()));
|
||||||
|
if (meta < 0) {
|
||||||
|
meta = 0;
|
||||||
|
} else if (meta > 5) {
|
||||||
|
meta = 5;
|
||||||
|
}
|
||||||
|
if (getProxy().isActive() && getInternalCurrentPower() == 0.0) {
|
||||||
|
meta = 6;
|
||||||
|
}
|
||||||
|
this.worldObj.setBlockMetadataWithNotify(this.xCoord, this.yCoord, this.zCoord, meta, 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,3 +27,9 @@ shaped=
|
||||||
ae2:CableGlass.Fluix ae2:ItemMaterial.LogicProcessor glass,
|
ae2:CableGlass.Fluix ae2:ItemMaterial.LogicProcessor glass,
|
||||||
oredictionary:ingotIron oredictionary:ingotIron glass
|
oredictionary:ingotIron oredictionary:ingotIron glass
|
||||||
-> ae2:BlockCraftMonitor
|
-> ae2:BlockCraftMonitor
|
||||||
|
|
||||||
|
shaped=
|
||||||
|
oredictionary:ingotIron fluixCrystal oredictionary:ingotIron,
|
||||||
|
fluixCrystal ae2:ItemMaterial.EngProcessor fluixCrystal,
|
||||||
|
oredictionary:ingotIron fluixCrystal oredictionary:ingotIron
|
||||||
|
-> ae2:BlockLegacyController
|
||||||
|
|
After Width: | Height: | Size: 398 B |
After Width: | Height: | Size: 398 B |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 438 B |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.8 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 5.9 KiB |
After Width: | Height: | Size: 6 KiB |