Added Crystal Growth Accelerator.
Fixed Missing Textures.
This commit is contained in:
parent
8c3973f809
commit
302a41ac76
19 changed files with 314 additions and 41 deletions
2
api
2
api
|
@ -1 +1 @@
|
||||||
Subproject commit 2fed92eaa8c7dd3434e6c0c20552c6fd2605959c
|
Subproject commit 6c9e85945d5c88eb590e35c907cf9af6e27e83af
|
119
block/misc/BlockQuartzGrowthAccelerator.java
Normal file
119
block/misc/BlockQuartzGrowthAccelerator.java
Normal file
|
@ -0,0 +1,119 @@
|
||||||
|
package appeng.block.misc;
|
||||||
|
|
||||||
|
import java.util.EnumSet;
|
||||||
|
import java.util.Random;
|
||||||
|
|
||||||
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.client.Minecraft;
|
||||||
|
import net.minecraft.client.particle.EntityFX;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
import net.minecraft.world.World;
|
||||||
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import appeng.api.util.IOrientable;
|
||||||
|
import appeng.api.util.IOrientableBlock;
|
||||||
|
import appeng.block.AEBaseBlock;
|
||||||
|
import appeng.client.render.BaseBlockRender;
|
||||||
|
import appeng.client.render.blocks.RenderBlockQuartzAccelerator;
|
||||||
|
import appeng.client.render.effects.LightningEffect;
|
||||||
|
import appeng.core.AEConfig;
|
||||||
|
import appeng.core.CommonHelper;
|
||||||
|
import appeng.core.features.AEFeature;
|
||||||
|
import appeng.helpers.MetaRotation;
|
||||||
|
import appeng.tile.misc.TileQuartzGrowthAccelerator;
|
||||||
|
import appeng.util.Platform;
|
||||||
|
import cpw.mods.fml.relauncher.Side;
|
||||||
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
|
public class BlockQuartzGrowthAccelerator extends AEBaseBlock implements IOrientableBlock
|
||||||
|
{
|
||||||
|
|
||||||
|
public BlockQuartzGrowthAccelerator() {
|
||||||
|
super( BlockQuartzGrowthAccelerator.class, Material.rock );
|
||||||
|
setfeature( EnumSet.of( AEFeature.Core ) );
|
||||||
|
setTileEntiy( TileQuartzGrowthAccelerator.class );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
protected Class<? extends BaseBlockRender> getRenderer()
|
||||||
|
{
|
||||||
|
return RenderBlockQuartzAccelerator.class;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public IOrientable getOrientable(final IBlockAccess w, final int x, final int y, final int z)
|
||||||
|
{
|
||||||
|
return new MetaRotation( w, x, y, z );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@SideOnly(Side.CLIENT)
|
||||||
|
public void randomDisplayTick(World w, int x, int y, int z, Random r)
|
||||||
|
{
|
||||||
|
if ( !AEConfig.instance.enableEffects )
|
||||||
|
return;
|
||||||
|
|
||||||
|
TileQuartzGrowthAccelerator tqga = getTileEntity( w, x, y, z );
|
||||||
|
|
||||||
|
if ( tqga.hasPower && CommonHelper.proxy.shouldAddParticles( r ) )
|
||||||
|
{
|
||||||
|
double d0 = (double) (r.nextFloat() - 0.5F);
|
||||||
|
double d1 = (double) (r.nextFloat() - 0.5F);
|
||||||
|
|
||||||
|
ForgeDirection up = tqga.getUp();
|
||||||
|
ForgeDirection forward = tqga.getForward();
|
||||||
|
ForgeDirection west = Platform.crossProduct( forward, up );
|
||||||
|
|
||||||
|
double rx = 0.5 + x;
|
||||||
|
double ry = 0.5 + y;
|
||||||
|
double rz = 0.5 + z;
|
||||||
|
|
||||||
|
double dx = 0;
|
||||||
|
double dz = 0;
|
||||||
|
|
||||||
|
rx += up.offsetX * d0;
|
||||||
|
ry += up.offsetY * d0;
|
||||||
|
rz += up.offsetZ * d0;
|
||||||
|
|
||||||
|
switch (r.nextInt( 4 ))
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
dx = 0.6;
|
||||||
|
dz = d1;
|
||||||
|
if ( !w.getBlock( x + west.offsetX, y + west.offsetY, z + west.offsetZ ).isAir( w, x + west.offsetX, y + west.offsetY, z + west.offsetZ ) )
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
dx = d1;
|
||||||
|
dz += 0.6;
|
||||||
|
if ( !w.getBlock( x + forward.offsetX, y + forward.offsetY, z + forward.offsetZ ).isAir( w, x + forward.offsetX, y + forward.offsetY,
|
||||||
|
z + forward.offsetZ ) )
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
dx = d1;
|
||||||
|
dz = -0.6;
|
||||||
|
if ( !w.getBlock( x - forward.offsetX, y - forward.offsetY, z - forward.offsetZ ).isAir( w, x - forward.offsetX, y - forward.offsetY,
|
||||||
|
z - forward.offsetZ ) )
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
dx = -0.6;
|
||||||
|
dz = d1;
|
||||||
|
if ( !w.getBlock( x - west.offsetX, y - west.offsetY, z - west.offsetZ ).isAir( w, x - west.offsetX, y - west.offsetY, z - west.offsetZ ) )
|
||||||
|
return;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
rx += dx * west.offsetX;
|
||||||
|
ry += dx * west.offsetY;
|
||||||
|
rz += dx * west.offsetZ;
|
||||||
|
|
||||||
|
rx += dz * forward.offsetX;
|
||||||
|
ry += dz * forward.offsetY;
|
||||||
|
rz += dz * forward.offsetZ;
|
||||||
|
|
||||||
|
LightningEffect fx = new LightningEffect( w, rx, ry, rz, 0.0D, 0.0D, 0.0D );
|
||||||
|
Minecraft.getMinecraft().effectRenderer.addEffect( (EntityFX) fx );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -4,6 +4,7 @@ import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
import net.minecraft.creativetab.CreativeTabs;
|
import net.minecraft.creativetab.CreativeTabs;
|
||||||
import net.minecraft.item.Item;
|
import net.minecraft.item.Item;
|
||||||
import appeng.block.AEBaseBlock;
|
import appeng.block.AEBaseBlock;
|
||||||
|
@ -35,4 +36,10 @@ public class BlockMatrixFrame extends AEBaseBlock
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerBlockIcons(IIconRegister iconRegistry)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
38
client/render/blocks/RenderBlockQuartzAccelerator.java
Normal file
38
client/render/blocks/RenderBlockQuartzAccelerator.java
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
package appeng.client.render.blocks;
|
||||||
|
|
||||||
|
import net.minecraft.client.renderer.RenderBlocks;
|
||||||
|
import net.minecraft.tileentity.TileEntity;
|
||||||
|
import net.minecraft.util.IIcon;
|
||||||
|
import net.minecraft.world.IBlockAccess;
|
||||||
|
import appeng.block.AEBaseBlock;
|
||||||
|
import appeng.client.render.BaseBlockRender;
|
||||||
|
import appeng.client.texture.ExtraTextures;
|
||||||
|
import appeng.tile.misc.TileQuartzGrowthAccelerator;
|
||||||
|
|
||||||
|
public class RenderBlockQuartzAccelerator extends BaseBlockRender
|
||||||
|
{
|
||||||
|
|
||||||
|
public RenderBlockQuartzAccelerator() {
|
||||||
|
super( false, 20 );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean renderInWorld(AEBaseBlock blk, IBlockAccess world, int x, int y, int z, RenderBlocks renderer)
|
||||||
|
{
|
||||||
|
TileEntity te = world.getTileEntity( x, y, z );
|
||||||
|
if ( te instanceof TileQuartzGrowthAccelerator )
|
||||||
|
{
|
||||||
|
if ( ((TileQuartzGrowthAccelerator) te).hasPower )
|
||||||
|
{
|
||||||
|
IIcon top_Bottom = ExtraTextures.BlockQuartzGrowthAcceleratorOn.getIcon();
|
||||||
|
IIcon side = ExtraTextures.BlockQuartzGrowthAcceleratorSideOn.getIcon();
|
||||||
|
blk.getRendererInstance().setTemporaryRenderIcons( top_Bottom, top_Bottom, side, side, side, side );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean out = super.renderInWorld( blk, world, x, y, z, renderer );
|
||||||
|
blk.getRendererInstance().setTemporaryRenderIcon( null );
|
||||||
|
|
||||||
|
return out;
|
||||||
|
}
|
||||||
|
}
|
|
@ -15,8 +15,6 @@ public enum CableBusTextures
|
||||||
|
|
||||||
LevelEmitterTorchOn("ItemPart.LevelEmitterOn"), BlockWirelessOn("BlockWirelessOn"),
|
LevelEmitterTorchOn("ItemPart.LevelEmitterOn"), BlockWirelessOn("BlockWirelessOn"),
|
||||||
|
|
||||||
BlockTransPlane("BlockTransPlaneOn"),
|
|
||||||
|
|
||||||
BlockP2PTunnel2("ItemPart.P2PTunnel2"), BlockP2PTunnel3("ItemPart.P2PTunnel3"),
|
BlockP2PTunnel2("ItemPart.P2PTunnel2"), BlockP2PTunnel3("ItemPart.P2PTunnel3"),
|
||||||
|
|
||||||
// MEWaiting("MEWaiting"),
|
// MEWaiting("MEWaiting"),
|
||||||
|
@ -25,25 +23,19 @@ public enum CableBusTextures
|
||||||
|
|
||||||
Transparent("Transparent"), PartMonitorSidesStatus("PartMonitorSidesStatus"), PartMonitorSidesStatusLights("PartMonitorSidesStatusLights"),
|
Transparent("Transparent"), PartMonitorSidesStatus("PartMonitorSidesStatus"), PartMonitorSidesStatusLights("PartMonitorSidesStatusLights"),
|
||||||
|
|
||||||
PartMonitor_Solid("PartMonitor_Solid"), PartMonitor_Colored("PartMonitor_Colored"), PartMonitor_Bright("PartMonitor_Bright"),
|
PartMonitor_Colored("PartMonitor_Colored"), PartMonitor_Bright("PartMonitor_Bright"),
|
||||||
|
|
||||||
PartPatternTerm_Bright("PartPatternTerm_Bright"), PartPatternTerm_Colored("PartPatternTerm_Colored"), PartPatternTerm_Dark("PartPatternTerm_Dark"), PartPatternTerm_Solid(
|
PartPatternTerm_Bright("PartPatternTerm_Bright"), PartPatternTerm_Colored("PartPatternTerm_Colored"), PartPatternTerm_Dark("PartPatternTerm_Dark"),
|
||||||
"PartPatternTerm_Solid"),
|
|
||||||
|
|
||||||
PartConvMonitor_Bright("PartConvMonitor_Bright"), PartConvMonitor_Colored("PartConvMonitor_Colored"), PartConvMonitor_Dark("PartConvMonitor_Dark"), PartConvMonitor_Solid(
|
PartConvMonitor_Bright("PartConvMonitor_Bright"), PartConvMonitor_Colored("PartConvMonitor_Colored"), PartConvMonitor_Dark("PartConvMonitor_Dark"), PartCraftingMonitor_Bright(
|
||||||
"PartConvMonitor_Solid"),
|
"PartCraftingMonitor_Bright"), PartCraftingMonitor_Colored("PartCraftingMonitor_Colored"), PartCraftingMonitor_Dark("PartCraftingMonitor_Dark"),
|
||||||
|
|
||||||
PartCraftingMonitor_Bright("PartCraftingMonitor_Bright"), PartCraftingMonitor_Colored("PartCraftingMonitor_Colored"), PartCraftingMonitor_Dark(
|
PartCraftingTerm_Bright("PartCraftingTerm_Bright"), PartCraftingTerm_Colored("PartCraftingTerm_Colored"), PartCraftingTerm_Dark("PartCraftingTerm_Dark"), //
|
||||||
"PartCraftingMonitor_Dark"), PartCraftingMonitor_Solid("PartCraftingMonitor_Solid"),
|
|
||||||
|
|
||||||
PartCraftingTerm_Bright("PartCraftingTerm_Bright"), PartCraftingTerm_Colored("PartCraftingTerm_Colored"), PartCraftingTerm_Dark("PartCraftingTerm_Dark"), PartCraftingTerm_Solid(
|
|
||||||
"PartCraftingTerm_Solid"),
|
|
||||||
|
|
||||||
PartStorageMonitor_Bright("PartStorageMonitor_Bright"), PartStorageMonitor_Colored("PartStorageMonitor_Colored"), PartStorageMonitor_Dark(
|
PartStorageMonitor_Bright("PartStorageMonitor_Bright"), PartStorageMonitor_Colored("PartStorageMonitor_Colored"), PartStorageMonitor_Dark(
|
||||||
"PartStorageMonitor_Dark"), PartStorageMonitor_Solid("PartStorageMonitor_Solid"),
|
"PartStorageMonitor_Dark"),
|
||||||
|
|
||||||
PartTerminal_Bright("PartTerminal_Bright"), PartTerminal_Colored("PartTerminal_Colored"), PartTerminal_Dark("PartTerminal_Dark"), PartTerminal_Solid(
|
PartTerminal_Bright("PartTerminal_Bright"), PartTerminal_Colored("PartTerminal_Colored"), PartTerminal_Dark("PartTerminal_Dark"),
|
||||||
"PartTerminal_Solid"),
|
|
||||||
|
|
||||||
MECable_Green("MECable_Green"), MECable_Grey("MECable_Grey"), MECable_LightBlue("MECable_LightBlue"), MECable_LightGrey("MECable_LightGrey"), MECable_Lime(
|
MECable_Green("MECable_Green"), MECable_Grey("MECable_Grey"), MECable_LightBlue("MECable_LightBlue"), MECable_LightGrey("MECable_LightGrey"), MECable_Lime(
|
||||||
"MECable_Lime"), MECable_Magenta("MECable_Magenta"), MECable_Orange("MECable_Orange"), MECable_Pink("MECable_Pink"), MECable_Purple(
|
"MECable_Lime"), MECable_Magenta("MECable_Magenta"), MECable_Orange("MECable_Orange"), MECable_Pink("MECable_Pink"), MECable_Purple(
|
||||||
|
|
|
@ -22,12 +22,8 @@ public enum ExtraTextures
|
||||||
|
|
||||||
BlockChargerInside("BlockChargerInside"),
|
BlockChargerInside("BlockChargerInside"),
|
||||||
|
|
||||||
BlockContainmentWallMerged("BlockContainmentWallMerged"), BlockHeatVentMerged("BlockHeatVentMerged"),
|
|
||||||
|
|
||||||
MEStorageCellTextures("MEStorageCellTextures"), White("White"),
|
MEStorageCellTextures("MEStorageCellTextures"), White("White"),
|
||||||
|
|
||||||
// BlockInterfaceAlternate("BlockInterfaceAlternate"), BlockInterfaceAlternateArrow("BlockInterfaceAlternateArrow"),
|
|
||||||
|
|
||||||
BlockMatterCannonParticle("BlockMatterCannonParticle"), BlockEnergyParticle("BlockEnergyParticle"),
|
BlockMatterCannonParticle("BlockMatterCannonParticle"), BlockEnergyParticle("BlockEnergyParticle"),
|
||||||
|
|
||||||
GlassFrame("BlockQuartzGlassFrame"),
|
GlassFrame("BlockQuartzGlassFrame"),
|
||||||
|
@ -50,7 +46,9 @@ public enum ExtraTextures
|
||||||
|
|
||||||
BlockSpatialPylonE("BlockSpatialPylon_end"), BlockSpatialPylonE_dim("BlockSpatialPylon_end_dim"), BlockSpatialPylonE_red("BlockSpatialPylon_end_red"),
|
BlockSpatialPylonE("BlockSpatialPylon_end"), BlockSpatialPylonE_dim("BlockSpatialPylon_end_dim"), BlockSpatialPylonE_red("BlockSpatialPylon_end_red"),
|
||||||
|
|
||||||
BlockMESecurityOn("BlockMESecurityOn");
|
BlockMESecurityOn("BlockMESecurityOn"),
|
||||||
|
|
||||||
|
BlockQuartzGrowthAcceleratorOn("BlockQuartzGrowthAcceleratorOn"), BlockQuartzGrowthAcceleratorSideOn("BlockQuartzGrowthAcceleratorSideOn");
|
||||||
|
|
||||||
final private String name;
|
final private String name;
|
||||||
public IIcon IIcon;
|
public IIcon IIcon;
|
||||||
|
|
|
@ -33,6 +33,7 @@ import appeng.block.misc.BlockCellWorkbench;
|
||||||
import appeng.block.misc.BlockCharger;
|
import appeng.block.misc.BlockCharger;
|
||||||
import appeng.block.misc.BlockCondenser;
|
import appeng.block.misc.BlockCondenser;
|
||||||
import appeng.block.misc.BlockInterface;
|
import appeng.block.misc.BlockInterface;
|
||||||
|
import appeng.block.misc.BlockQuartzGrowthAccelerator;
|
||||||
import appeng.block.misc.BlockQuartzTorch;
|
import appeng.block.misc.BlockQuartzTorch;
|
||||||
import appeng.block.misc.BlockSecurity;
|
import appeng.block.misc.BlockSecurity;
|
||||||
import appeng.block.misc.BlockTinyTNT;
|
import appeng.block.misc.BlockTinyTNT;
|
||||||
|
@ -150,11 +151,11 @@ public class Registration
|
||||||
public void PreInit(FMLPreInitializationEvent event)
|
public void PreInit(FMLPreInitializationEvent event)
|
||||||
{
|
{
|
||||||
IRecipeHandlerRegistry recipeRegistery = AEApi.instance().registries().recipes();
|
IRecipeHandlerRegistry recipeRegistery = AEApi.instance().registries().recipes();
|
||||||
recipeRegistery.addNewCraftHandler("grind", Grind.class);
|
recipeRegistery.addNewCraftHandler( "grind", Grind.class );
|
||||||
recipeRegistery.addNewCraftHandler("shaped", Shaped.class);
|
recipeRegistery.addNewCraftHandler( "shaped", Shaped.class );
|
||||||
recipeRegistery.addNewCraftHandler("shapeless", Shapeless.class);
|
recipeRegistery.addNewCraftHandler( "shapeless", Shapeless.class );
|
||||||
recipeRegistery.addNewCraftHandler("smelt", Smelt.class);
|
recipeRegistery.addNewCraftHandler( "smelt", Smelt.class );
|
||||||
recipeRegistery.addNewCraftHandler("pureify", Pureify.class);
|
recipeRegistery.addNewCraftHandler( "pureify", Pureify.class );
|
||||||
|
|
||||||
RecipeSorter.register( "AE2-Shaped", ShapedRecipe.class, Category.SHAPED, "" );
|
RecipeSorter.register( "AE2-Shaped", ShapedRecipe.class, Category.SHAPED, "" );
|
||||||
RecipeSorter.register( "AE2-Shapeless", ShapelessRecipe.class, Category.SHAPELESS, "" );
|
RecipeSorter.register( "AE2-Shapeless", ShapelessRecipe.class, Category.SHAPELESS, "" );
|
||||||
|
@ -243,6 +244,7 @@ public class Registration
|
||||||
blocks.blockQuartzChiseled = addFeature( BlockQuartzChiseled.class );
|
blocks.blockQuartzChiseled = addFeature( BlockQuartzChiseled.class );
|
||||||
blocks.blockQuartzTorch = addFeature( BlockQuartzTorch.class );
|
blocks.blockQuartzTorch = addFeature( BlockQuartzTorch.class );
|
||||||
blocks.blockCharger = addFeature( BlockCharger.class );
|
blocks.blockCharger = addFeature( BlockCharger.class );
|
||||||
|
blocks.blockQuartzGrowthAccelerator = addFeature( BlockQuartzGrowthAccelerator.class );
|
||||||
|
|
||||||
blocks.blockGrindStone = addFeature( BlockGrinder.class );
|
blocks.blockGrindStone = addFeature( BlockGrinder.class );
|
||||||
blocks.blockCrankHandle = addFeature( BlockCrank.class );
|
blocks.blockCrankHandle = addFeature( BlockCrank.class );
|
||||||
|
|
|
@ -4,6 +4,7 @@ import java.util.EnumSet;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
import net.minecraft.world.World;
|
import net.minecraft.world.World;
|
||||||
import net.minecraftforge.common.ForgeChunkManager;
|
import net.minecraftforge.common.ForgeChunkManager;
|
||||||
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
import net.minecraftforge.common.ForgeChunkManager.LoadingCallback;
|
||||||
|
@ -27,4 +28,11 @@ public class BlockChunkloader extends AEBaseBlock implements LoadingCallback
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerBlockIcons(IIconRegister iconRegistry)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,6 +3,7 @@ package appeng.debug;
|
||||||
import java.util.EnumSet;
|
import java.util.EnumSet;
|
||||||
|
|
||||||
import net.minecraft.block.material.Material;
|
import net.minecraft.block.material.Material;
|
||||||
|
import net.minecraft.client.renderer.texture.IIconRegister;
|
||||||
import appeng.block.AEBaseBlock;
|
import appeng.block.AEBaseBlock;
|
||||||
import appeng.core.features.AEFeature;
|
import appeng.core.features.AEFeature;
|
||||||
|
|
||||||
|
@ -15,4 +16,10 @@ public class BlockItemGen extends AEBaseBlock
|
||||||
setTileEntiy( TileItemGen.class );
|
setTileEntiy( TileItemGen.class );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void registerBlockIcons(IIconRegister iconRegistry)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ public class PartConversionMonitor extends PartStorageMonitor
|
||||||
frontBright = CableBusTextures.PartConvMonitor_Bright;
|
frontBright = CableBusTextures.PartConvMonitor_Bright;
|
||||||
frontColored = CableBusTextures.PartConvMonitor_Colored;
|
frontColored = CableBusTextures.PartConvMonitor_Colored;
|
||||||
frontDark = CableBusTextures.PartConvMonitor_Dark;
|
frontDark = CableBusTextures.PartConvMonitor_Dark;
|
||||||
frontSolid = CableBusTextures.PartConvMonitor_Solid;
|
// frontSolid = CableBusTextures.PartConvMonitor_Solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -11,7 +11,7 @@ public class PartCraftingMonitor extends PartMonitor
|
||||||
frontBright = CableBusTextures.PartCraftingMonitor_Bright;
|
frontBright = CableBusTextures.PartCraftingMonitor_Bright;
|
||||||
frontColored = CableBusTextures.PartCraftingMonitor_Colored;
|
frontColored = CableBusTextures.PartCraftingMonitor_Colored;
|
||||||
frontDark = CableBusTextures.PartCraftingMonitor_Dark;
|
frontDark = CableBusTextures.PartCraftingMonitor_Dark;
|
||||||
frontSolid = CableBusTextures.PartCraftingMonitor_Solid;
|
// frontSolid = CableBusTextures.PartCraftingMonitor_Solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ public class PartCraftingTerminal extends PartTerminal implements IAEAppEngInven
|
||||||
frontBright = CableBusTextures.PartCraftingTerm_Bright;
|
frontBright = CableBusTextures.PartCraftingTerm_Bright;
|
||||||
frontColored = CableBusTextures.PartCraftingTerm_Colored;
|
frontColored = CableBusTextures.PartCraftingTerm_Colored;
|
||||||
frontDark = CableBusTextures.PartCraftingTerm_Dark;
|
frontDark = CableBusTextures.PartCraftingTerm_Dark;
|
||||||
frontSolid = CableBusTextures.PartCraftingTerm_Solid;
|
// frontSolid = CableBusTextures.PartCraftingTerm_Solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
public GuiBridge getGui()
|
public GuiBridge getGui()
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class PartDarkMonitor extends PartMonitor
|
||||||
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
||||||
|
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
||||||
frontSolid.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
||||||
rh.renderInventoryBox( renderer );
|
rh.renderInventoryBox( renderer );
|
||||||
|
|
||||||
rh.setInvColor( getColor().mediumVariant );
|
rh.setInvColor( getColor().mediumVariant );
|
||||||
|
@ -40,7 +40,7 @@ public class PartDarkMonitor extends PartMonitor
|
||||||
public void renderStatic(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer)
|
public void renderStatic(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer)
|
||||||
{
|
{
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
||||||
frontSolid.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
||||||
|
|
||||||
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
||||||
rh.renderBlock( x, y, z, renderer );
|
rh.renderBlock( x, y, z, renderer );
|
||||||
|
|
|
@ -8,6 +8,7 @@ import net.minecraft.client.renderer.RenderBlocks;
|
||||||
import net.minecraft.client.renderer.Tessellator;
|
import net.minecraft.client.renderer.Tessellator;
|
||||||
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.IPowerChannelState;
|
||||||
import appeng.api.implementations.parts.IPartMonitor;
|
import appeng.api.implementations.parts.IPartMonitor;
|
||||||
import appeng.api.networking.GridFlags;
|
import appeng.api.networking.GridFlags;
|
||||||
import appeng.api.networking.events.MENetworkBootingStatusChange;
|
import appeng.api.networking.events.MENetworkBootingStatusChange;
|
||||||
|
@ -22,10 +23,10 @@ import appeng.util.Platform;
|
||||||
import cpw.mods.fml.relauncher.Side;
|
import cpw.mods.fml.relauncher.Side;
|
||||||
import cpw.mods.fml.relauncher.SideOnly;
|
import cpw.mods.fml.relauncher.SideOnly;
|
||||||
|
|
||||||
public class PartMonitor extends AEBasePart implements IPartMonitor
|
public class PartMonitor extends AEBasePart implements IPartMonitor, IPowerChannelState
|
||||||
{
|
{
|
||||||
|
|
||||||
CableBusTextures frontSolid = CableBusTextures.PartMonitor_Solid;
|
// CableBusTextures frontSolid = CableBusTextures.PartMonitor_Solid;
|
||||||
CableBusTextures frontDark = CableBusTextures.PartMonitor_Colored;
|
CableBusTextures frontDark = CableBusTextures.PartMonitor_Colored;
|
||||||
CableBusTextures frontBright = CableBusTextures.PartMonitor_Bright;
|
CableBusTextures frontBright = CableBusTextures.PartMonitor_Bright;
|
||||||
CableBusTextures frontColored = CableBusTextures.PartMonitor_Colored;
|
CableBusTextures frontColored = CableBusTextures.PartMonitor_Colored;
|
||||||
|
@ -129,7 +130,7 @@ public class PartMonitor extends AEBasePart implements IPartMonitor
|
||||||
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
||||||
|
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
||||||
frontSolid.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
||||||
rh.renderInventoryBox( renderer );
|
rh.renderInventoryBox( renderer );
|
||||||
|
|
||||||
rh.setInvColor( getColor().whiteVariant );
|
rh.setInvColor( getColor().whiteVariant );
|
||||||
|
@ -150,7 +151,7 @@ public class PartMonitor extends AEBasePart implements IPartMonitor
|
||||||
public void renderStatic(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer)
|
public void renderStatic(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer)
|
||||||
{
|
{
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
||||||
frontSolid.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
||||||
|
|
||||||
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
||||||
rh.renderBlock( x, y, z, renderer );
|
rh.renderBlock( x, y, z, renderer );
|
||||||
|
@ -173,7 +174,7 @@ public class PartMonitor extends AEBasePart implements IPartMonitor
|
||||||
if ( notLightSource )
|
if ( notLightSource )
|
||||||
{
|
{
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(),
|
||||||
CableBusTextures.PartMonitorBack.getIcon(), frontSolid.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(),
|
CableBusTextures.PartMonitorBack.getIcon(), is.getIconIndex(), CableBusTextures.PartMonitorSidesStatus.getIcon(),
|
||||||
CableBusTextures.PartMonitorSidesStatus.getIcon() );
|
CableBusTextures.PartMonitorSidesStatus.getIcon() );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -218,4 +219,13 @@ public class PartMonitor extends AEBasePart implements IPartMonitor
|
||||||
bch.addBox( 4, 4, 13, 12, 12, 14 );
|
bch.addBox( 4, 4, 13, 12, 12, 14 );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
|
{
|
||||||
|
if ( notLightSource )
|
||||||
|
return ((clientFlags & (CHANNEL_FLAG | POWERED_FLAG)) == (CHANNEL_FLAG | POWERED_FLAG));
|
||||||
|
else
|
||||||
|
return isPowered();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,7 +11,7 @@ public class PartPatternTerminal extends PartMonitor
|
||||||
frontBright = CableBusTextures.PartPatternTerm_Bright;
|
frontBright = CableBusTextures.PartPatternTerm_Bright;
|
||||||
frontColored = CableBusTextures.PartPatternTerm_Colored;
|
frontColored = CableBusTextures.PartPatternTerm_Colored;
|
||||||
frontDark = CableBusTextures.PartPatternTerm_Dark;
|
frontDark = CableBusTextures.PartPatternTerm_Dark;
|
||||||
frontSolid = CableBusTextures.PartPatternTerm_Solid;
|
// frontSolid = CableBusTextures.PartPatternTerm_Solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,7 @@ public class PartSemiDarkMonitor extends PartMonitor
|
||||||
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
||||||
|
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
||||||
frontSolid.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
||||||
rh.renderInventoryBox( renderer );
|
rh.renderInventoryBox( renderer );
|
||||||
|
|
||||||
int light = getColor().whiteVariant;
|
int light = getColor().whiteVariant;
|
||||||
|
@ -43,7 +43,7 @@ public class PartSemiDarkMonitor extends PartMonitor
|
||||||
public void renderStatic(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer)
|
public void renderStatic(int x, int y, int z, IPartRenderHelper rh, RenderBlocks renderer)
|
||||||
{
|
{
|
||||||
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(),
|
||||||
frontSolid.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
is.getIconIndex(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() );
|
||||||
|
|
||||||
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
rh.setBounds( 2, 2, 14, 14, 14, 16 );
|
||||||
rh.renderBlock( x, y, z, renderer );
|
rh.renderBlock( x, y, z, renderer );
|
||||||
|
|
|
@ -158,7 +158,7 @@ public class PartStorageMonitor extends PartMonitor implements IPartStorageMonit
|
||||||
frontBright = CableBusTextures.PartStorageMonitor_Bright;
|
frontBright = CableBusTextures.PartStorageMonitor_Bright;
|
||||||
frontColored = CableBusTextures.PartStorageMonitor_Colored;
|
frontColored = CableBusTextures.PartStorageMonitor_Colored;
|
||||||
frontDark = CableBusTextures.PartStorageMonitor_Dark;
|
frontDark = CableBusTextures.PartStorageMonitor_Dark;
|
||||||
frontSolid = CableBusTextures.PartStorageMonitor_Solid;
|
// frontSolid = CableBusTextures.PartStorageMonitor_Solid;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -51,7 +51,7 @@ public class PartTerminal extends PartMonitor implements ITerminalHost, IConfigM
|
||||||
frontBright = CableBusTextures.PartTerminal_Bright;
|
frontBright = CableBusTextures.PartTerminal_Bright;
|
||||||
frontColored = CableBusTextures.PartTerminal_Colored;
|
frontColored = CableBusTextures.PartTerminal_Colored;
|
||||||
frontDark = CableBusTextures.PartTerminal_Dark;
|
frontDark = CableBusTextures.PartTerminal_Dark;
|
||||||
frontSolid = CableBusTextures.PartTerminal_Solid;
|
// frontSolid = CableBusTextures.PartTerminal_Solid;
|
||||||
|
|
||||||
cm.registerSetting( Settings.SORT_BY, SortOrder.NAME );
|
cm.registerSetting( Settings.SORT_BY, SortOrder.NAME );
|
||||||
cm.registerSetting( Settings.VIEW_MODE, ViewItems.ALL );
|
cm.registerSetting( Settings.VIEW_MODE, ViewItems.ALL );
|
||||||
|
|
92
tile/misc/TileQuartzGrowthAccelerator.java
Normal file
92
tile/misc/TileQuartzGrowthAccelerator.java
Normal file
|
@ -0,0 +1,92 @@
|
||||||
|
package appeng.tile.misc;
|
||||||
|
|
||||||
|
import io.netty.buffer.ByteBuf;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.util.EnumSet;
|
||||||
|
|
||||||
|
import net.minecraftforge.common.util.ForgeDirection;
|
||||||
|
import appeng.api.implementations.IPowerChannelState;
|
||||||
|
import appeng.api.networking.GridFlags;
|
||||||
|
import appeng.api.networking.events.MENetworkEventSubscribe;
|
||||||
|
import appeng.api.networking.events.MENetworkPowerStatusChange;
|
||||||
|
import appeng.api.util.AECableType;
|
||||||
|
import appeng.me.GridAccessException;
|
||||||
|
import appeng.tile.events.AETileEventHandler;
|
||||||
|
import appeng.tile.events.TileEventType;
|
||||||
|
import appeng.tile.grid.AENetworkTile;
|
||||||
|
|
||||||
|
public class TileQuartzGrowthAccelerator extends AENetworkTile implements IPowerChannelState
|
||||||
|
{
|
||||||
|
|
||||||
|
public boolean hasPower = false;
|
||||||
|
|
||||||
|
@MENetworkEventSubscribe
|
||||||
|
public void onPower(MENetworkPowerStatusChange ch)
|
||||||
|
{
|
||||||
|
markForUpdate();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public AECableType getCableConnectionType(ForgeDirection dir)
|
||||||
|
{
|
||||||
|
return AECableType.COVERED;
|
||||||
|
}
|
||||||
|
|
||||||
|
private class TileChargerHandler extends AETileEventHandler
|
||||||
|
{
|
||||||
|
|
||||||
|
public TileChargerHandler() {
|
||||||
|
super( TileEventType.NETWORK );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean readFromStream(ByteBuf data) throws IOException
|
||||||
|
{
|
||||||
|
boolean hadPower = hasPower;
|
||||||
|
hasPower = data.readBoolean();
|
||||||
|
return hasPower != hadPower;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void writeToStream(ByteBuf data) throws IOException
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
data.writeBoolean( gridProxy.getEnergy().isNetworkPowered() );
|
||||||
|
}
|
||||||
|
catch (GridAccessException e)
|
||||||
|
{
|
||||||
|
data.writeBoolean( false );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
public TileQuartzGrowthAccelerator() {
|
||||||
|
gridProxy.setValidSides( EnumSet.noneOf( ForgeDirection.class ) );
|
||||||
|
gridProxy.setFlags( GridFlags.CANNOT_CARRY );
|
||||||
|
gridProxy.setIdlePowerUsage( 2 );
|
||||||
|
addNewHandler( new TileChargerHandler() );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setOrientation(ForgeDirection inForward, ForgeDirection inUp)
|
||||||
|
{
|
||||||
|
super.setOrientation( inForward, inUp );
|
||||||
|
gridProxy.setValidSides( EnumSet.of( getUp(), getUp().getOpposite() ) );
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isPowered()
|
||||||
|
{
|
||||||
|
return hasPower;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean isActive()
|
||||||
|
{
|
||||||
|
return hasPower;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in a new issue