diff --git a/src/api/java/appeng/api/parts/IFacadePart.java b/src/api/java/appeng/api/parts/IFacadePart.java index 02d76b2de..7984d1c8a 100644 --- a/src/api/java/appeng/api/parts/IFacadePart.java +++ b/src/api/java/appeng/api/parts/IFacadePart.java @@ -28,12 +28,8 @@ import net.minecraft.entity.Entity; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; /** @@ -57,28 +53,6 @@ public interface IFacadePart */ void getBoxes( IPartCollisionHelper ch, Entity e ); - /** - * render the part. - * - * @param pos pos of part - * @param instance render helper - * @param renderer renderer - * @param fc face container - * @param busBounds bounding box - * @param renderStilt if to render stilt - */ - @SideOnly( Side.CLIENT ) - void renderStatic( BlockPos pos, IPartRenderHelper instance, ModelGenerator renderer, IFacadeContainer fc, AxisAlignedBB busBounds, boolean renderStilt ); - - /** - * render the part in inventory. - * - * @param instance render helper - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderInventory( IPartRenderHelper instance, ModelGenerator renderer ); - /** * @return side the facade is in */ diff --git a/src/api/java/appeng/api/parts/IPart.java b/src/api/java/appeng/api/parts/IPart.java index faf1e7ad2..2e59adce7 100644 --- a/src/api/java/appeng/api/parts/IPart.java +++ b/src/api/java/appeng/api/parts/IPart.java @@ -30,7 +30,6 @@ import java.util.Random; import io.netty.buffer.ByteBuf; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -41,12 +40,9 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.networking.IGridNode; import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; public interface IPart extends IBoxProvider @@ -66,50 +62,6 @@ public interface IPart extends IBoxProvider */ ItemStack getItemStack( PartItemStack type ); - /** - * render item form for inventory, or entity. - * - * GL Available - * - * @param rh helper - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderInventory( IPartRenderHelper rh, ModelGenerator renderer ); - - /** - * render world renderer ( preferred ) - * - * GL is NOT Available - * - * @param pos pos of block - * @param rh helper - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderStatic( BlockPos pos, IPartRenderHelper rh, ModelGenerator renderer ); - - /** - * render TESR. - * - * GL Available - * - * @param x x coord - * @param y y coord - * @param z z coord - * @param rh helper - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderDynamic( double x, double y, double z, IPartRenderHelper rh, ModelGenerator renderer ); - - /** - * @return the Block sheet icon used when rendering the breaking particles, return null to use the ItemStack - * texture. - */ - @SideOnly( Side.CLIENT ) - TextureAtlasSprite getBreakingTexture( ModelGenerator renderer ); - /** * return true only if your part require dynamic rendering, must be consistent. * diff --git a/src/api/java/appeng/api/parts/IPartHelper.java b/src/api/java/appeng/api/parts/IPartHelper.java index 9202f4267..319e984c3 100644 --- a/src/api/java/appeng/api/parts/IPartHelper.java +++ b/src/api/java/appeng/api/parts/IPartHelper.java @@ -61,11 +61,6 @@ public interface IPartHelper */ boolean registerNewLayer( String string, String layerInterface ); - /** - * Register IBusItem with renderer - */ - void setItemBusRenderer( IPartItem i ); - /** * use in use item, to try and place a IBusItem * diff --git a/src/api/java/appeng/api/parts/IPartItem.java b/src/api/java/appeng/api/parts/IPartItem.java index 1e0293a2d..41688c846 100644 --- a/src/api/java/appeng/api/parts/IPartItem.java +++ b/src/api/java/appeng/api/parts/IPartItem.java @@ -28,9 +28,9 @@ import javax.annotation.Nullable; import net.minecraft.item.ItemStack; - //@formatter:off + /** * This is a pretty basic requirement, once you implement the interface, and createPartFromItemStack * @@ -46,7 +46,7 @@ import net.minecraft.item.ItemStack; * { * return 0; * } - * + * * {@literal @}Override * public boolean onItemUse(ItemStack is, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) * { @@ -67,4 +67,4 @@ public interface IPartItem */ @Nullable IPart createPartFromItemStack( ItemStack is ); -} +} \ No newline at end of file diff --git a/src/api/java/appeng/api/parts/IPartRenderHelper.java b/src/api/java/appeng/api/parts/IPartRenderHelper.java deleted file mode 100644 index 0446ddbe7..000000000 --- a/src/api/java/appeng/api/parts/IPartRenderHelper.java +++ /dev/null @@ -1,182 +0,0 @@ -/* - * The MIT License (MIT) - * - * Copyright (c) 2013 AlgorithmX2 - * - * Permission is hereby granted, free of charge, to any person obtaining a copy of - * this software and associated documentation files (the "Software"), to deal in - * the Software without restriction, including without limitation the rights to - * use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of - * the Software, and to permit persons to whom the Software is furnished to do so, - * subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS - * FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR - * COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER - * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN - * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - */ - -package appeng.api.parts; - - -import java.util.EnumSet; - -import net.minecraft.block.Block; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; - - -public interface IPartRenderHelper -{ - /** - * sets the Render Helpers Block Bounds. 0.0 - 16.0 block coords. - * - * No complaints about the size, I like using pixels :P - * - * @param minX minimal x bound - * @param minY minimal y bound - * @param minZ minimal z bound - * @param maxX maximal x bound - * @param maxY maximal y bound - * @param maxZ maximal z bound - */ - void setBounds( float minX, float minY, float minZ, float maxX, float maxY, float maxZ ); - - /** - * static renderer - * - * render a single face. - * - * @param pos POSITION of part - * @param ico icon of part - * @param face direction its facing - * @param renderer renderer of part - */ - @SideOnly( Side.CLIENT ) - void renderFace( BlockPos pos, IAESprite ico, EnumFacing face, ModelGenerator renderer ); - - /** - * static renderer - * - * render a box with a cut out box in the center. - * - * @param pos pos of part - * @param ico icon of part - * @param face face of part - * @param edgeThickness thickness of the edge - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderFaceCutout( BlockPos pos, IAESprite ico, EnumFacing face, float edgeThickness, ModelGenerator renderer ); - - /** - * static renderer - * - * render a block of specified bounds. - * - * @param pos pos of block - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderBlock( BlockPos pos, ModelGenerator renderer ); - - /** - * render a single face in inventory renderer. - * - * @param IIcon icon of part - * @param direction face of part - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderInventoryFace( IAESprite IIcon, EnumFacing direction, ModelGenerator renderer ); - - /** - * render a box in inventory renderer. - * - * @param renderer renderer - */ - @SideOnly( Side.CLIENT ) - void renderInventoryBox( ModelGenerator renderer ); - - /** - * inventory, and static renderer. - * - * set unique icons for each side of the block. - * - * @param down down face - * @param up up face - * @param north north face - * @param south south face - * @param west west face - * @param east east face - */ - void setTexture( IAESprite down, IAESprite up, IAESprite north, IAESprite south, IAESprite west, IAESprite east ); - - /** - * inventory, and static renderer. - * - * set all sides to a single TextureAtlasSprite. - * - * @param ico to be set icon - */ - void setTexture( IAESprite ico ); - - /** - * configure the color multiplier for the inventory renderer. - * - * @param whiteVariant color multiplier - */ - void setInvColor( int whiteVariant ); - - /** - * @return the block used for rendering, might need it for some reason... - */ - Block getBlock(); - - /** - * @return the east vector in world directions, rather then renderer - */ - EnumFacing getWorldX(); - - /** - * @return the up vector in world directions, rather then renderer. - */ - EnumFacing getWorldY(); - - /** - * @return the forward vector in world directions, rather then renderer. - */ - EnumFacing getWorldZ(); - - /** - * render a block using the current renderer state. - * - * @param pos pos of part - * @param renderer renderer of part - */ - void renderBlockCurrentBounds( BlockPos pos, ModelGenerator renderer ); - - /** - * allow you to enable your part to render during the alpha pass or the standard pass. - * - * @param pass render pass - */ - void renderForPass( int pass ); - - /** - * Set which faces to render, remember to set back to ALL when you are done. - * - * @param complementOf sides to render - */ - void setFacesToRender( EnumSet complementOf ); -} \ No newline at end of file diff --git a/src/api/java/appeng/api/storage/ICellHandler.java b/src/api/java/appeng/api/storage/ICellHandler.java index a8dcbeabd..9d5224158 100644 --- a/src/api/java/appeng/api/storage/ICellHandler.java +++ b/src/api/java/appeng/api/storage/ICellHandler.java @@ -26,11 +26,8 @@ package appeng.api.storage; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.implementations.tiles.IChestOrDrive; -import appeng.api.util.IAESprite; /** @@ -61,30 +58,6 @@ public interface ICellHandler */ IMEInventoryHandler getCellInventory( ItemStack is, ISaveProvider host, StorageChannel channel ); - /** - * @return the ME Chest texture for light pixels this storage cell type, should be 10x10 with 3px of transparent - * padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the - * assets for examples. - */ - @SideOnly( Side.CLIENT ) - IAESprite getTopTexture_Light(); - - /** - * @return the ME Chest texture for medium pixels this storage cell type, should be 10x10 with 3px of transparent - * padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the - * assets for examples. - */ - @SideOnly( Side.CLIENT ) - IAESprite getTopTexture_Medium(); - - /** - * @return the ME Chest texture for dark pixels this storage cell type, should be 10x10 with 3px of transparent - * padding on a 16x16 texture, null is valid if your cell cannot be used in the ME Chest. refer to the - * assets for examples. - */ - @SideOnly( Side.CLIENT ) - IAESprite getTopTexture_Dark(); - /** * Called when the storage cell is planed in an ME Chest and the user tries to open the terminal side, if your item * is not available via ME Chests simply tell the user they can't use it, or something, other wise you should open diff --git a/src/api/java/appeng/api/util/IAESprite.java b/src/api/java/appeng/api/util/IAESprite.java deleted file mode 100644 index e76ece1c6..000000000 --- a/src/api/java/appeng/api/util/IAESprite.java +++ /dev/null @@ -1,31 +0,0 @@ - -package appeng.api.util; - - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; - - -public interface IAESprite -{ - - int getIconWidth(); - - int getIconHeight(); - - float getMaxU(); - - float getInterpolatedU( double px ); - - float getMinV(); - - float getMaxV(); - - String getIconName(); - - float getInterpolatedV( double px ); - - float getMinU(); - - TextureAtlasSprite getAtlas(); - -} diff --git a/src/api/java/appeng/api/util/ModelGenerator.java b/src/api/java/appeng/api/util/ModelGenerator.java deleted file mode 100644 index 7d1adb715..000000000 --- a/src/api/java/appeng/api/util/ModelGenerator.java +++ /dev/null @@ -1,119 +0,0 @@ -package appeng.api.util; - - -import java.util.EnumSet; - -import javax.annotation.Nullable; - -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - - -/** - * This is a helper to render stuff in 1.8.+ - * - * This is required by all blocks which require a better renderer than the in house default renderer - * - * @author thatsIch - * @version rv3 - 16.02.2016 - * @since rv3 - 16.02.2016 - */ -public interface ModelGenerator -{ - int setUvRotateBottom( int i ); - - int setUvRotateTop( int i ); - - int setUvRotateEast( int i ); - - int setUvRotateWest( int i ); - - int setUvRotateNorth( int i ); - - int setUvRotateSouth( int i ); - - IAESprite[] getIcon( IBlockState iBlockState ); - - IAESprite getOverrideBlockTexture(); - - IBlockAccess getBlockAccess(); - - void setBlockAccess( IBlockAccess theWorld ); - - void setRenderAllFaces( boolean b ); - - void setOverrideBlockTexture( IAESprite o ); - - void setFlipTexture( boolean b ); - - void setRenderBoundsFromBlock( IBlockState state, @Nullable BlockPos pos ); - - void setRenderBounds( double v, double v1, double v2, double v3, double v4, double v5 ); - - boolean renderStandardBlock( Block block, BlockPos pos ); - - void setRenderFaces( EnumSet faces ); - - void setNormal( float v, float v1, float v2 ); - - void setColorOpaque_I( int color ); - - void setRenderMinX( double min ); - - void setRenderMinY( double min ); - - void setRenderMinZ( double min ); - - void setRenderMaxX( double max ); - - void setRenderMaxY( double max ); - - void setRenderMaxZ( double max ); - - void addVertexWithUV( EnumFacing face, double v, double v1, double v2, double interpolatedU, double interpolatedV ); - - void renderFaceZNeg( Block block, BlockPos pos, IAESprite ico ); - - void renderFaceZPos( Block block, BlockPos pos, IAESprite ico ); - - void renderFaceXPos( Block block, BlockPos pos, IAESprite ico ); - - void renderFaceXNeg( Block block, BlockPos pos, IAESprite ico ); - - void renderFaceYPos( Block block, BlockPos pos, IAESprite ico ); - - void renderFaceYNeg( Block block, BlockPos pos, IAESprite ico ); - - void setTranslation( int i, int i1, int i2 ); - - IAESprite getIcon( ItemStack itemStack ); - - void setBrightness( int i ); - - void setColorOpaque_F( float v, float v1, float v2 ); - - boolean isAlphaPass(); - - void setColorRGBA_F( int i, int i1, int i2, float v ); - - double getRenderMinX(); - - double getRenderMaxX(); - - double getRenderMinY(); - - double getRenderMaxY(); - - double getRenderMinZ(); - - double getRenderMaxZ(); - - void finalizeModel( boolean b ); - - IBakedModel getOutput(); -} diff --git a/src/main/java/appeng/block/AEBaseBlock.java b/src/main/java/appeng/block/AEBaseBlock.java index 23ca98959..2fc6eaa3a 100644 --- a/src/main/java/appeng/block/AEBaseBlock.java +++ b/src/main/java/appeng/block/AEBaseBlock.java @@ -35,8 +35,6 @@ import net.minecraft.block.properties.PropertyEnum; import net.minecraft.block.state.BlockStateContainer; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.client.resources.IResource; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; @@ -44,7 +42,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; @@ -57,15 +54,8 @@ import net.minecraftforge.common.property.IUnlistedProperty; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; import appeng.api.util.IOrientable; import appeng.api.util.IOrientableBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BlockRenderInfo; -import appeng.client.texture.BaseIcon; -import appeng.client.texture.FlippableIcon; -import appeng.core.AppEng; import appeng.core.features.AEBlockFeatureHandler; import appeng.core.features.AEFeature; import appeng.core.features.FeatureNameExtractor; @@ -88,8 +78,6 @@ public abstract class AEBaseBlock extends Block implements IAEFeature private boolean hasSubtypes = false; private boolean isInventory = false; private IFeatureHandler handler; - @SideOnly( Side.CLIENT ) - private BlockRenderInfo renderInfo; private String textureName; protected AxisAlignedBB boundingBox = FULL_BLOCK_AABB; @@ -160,42 +148,6 @@ public abstract class AEBaseBlock extends Block implements IAEFeature return new IProperty[0]; } - @SideOnly( Side.CLIENT ) - public BlockRenderInfo getRendererInstance() - { - if( this.renderInfo != null ) - { - return this.renderInfo; - } - - try - { - final Class re = this.getRenderer(); - if( re == null ) - { - return null; // use 1.8 models. - } - final BaseBlockRender renderer = re.newInstance(); - this.renderInfo = new BlockRenderInfo( renderer ); - - return this.renderInfo; - } - catch( final InstantiationException e ) - { - throw new IllegalStateException( "Failed to create a new instance of an illegal class " + this.getRenderer(), e ); - } - catch( final IllegalAccessException e ) - { - throw new IllegalStateException( "Failed to create a new instance of " + this.getRenderer() + " because of permissions.", e ); - } - } - - @SideOnly( Side.CLIENT ) - protected Class getRenderer() - { - return BaseBlockRender.class; - } - protected void setFeature( final EnumSet f ) { final AEBlockFeatureHandler featureHandler = new AEBlockFeatureHandler( f, this, this.getFeatureSubName() ); @@ -239,26 +191,6 @@ public abstract class AEBaseBlock extends Block implements IAEFeature return null; } - @SideOnly( Side.CLIENT ) - public IAESprite getIcon( final IBlockAccess w, final BlockPos pos, final EnumFacing side ) - { - final IBlockState state = w.getBlockState( pos ); - final IOrientable ori = this.getOrientable( w, pos ); - - if( ori == null ) - { - return this.getIcon( side, state ); - } - - return this.getIcon( this.mapRotation( ori, side ), state ); - } - - @SideOnly( Side.CLIENT ) - public IAESprite getIcon( final EnumFacing side, final IBlockState state ) - { - return this.getRendererInstance().getTexture( AEPartLocation.fromFacing( side ) ); - } - @Override public AxisAlignedBB getBoundingBox( IBlockState state, IBlockAccess source, BlockPos pos ) { @@ -618,54 +550,6 @@ public abstract class AEBaseBlock extends Block implements IAEFeature return null; } - @SideOnly( Side.CLIENT ) - public void registerBlockIcons( final TextureMap clientHelper, final String name ) - { - final BlockRenderInfo info = this.getRendererInstance(); - final FlippableIcon topIcon; - - final FlippableIcon blockIcon = topIcon = this.optionalIcon( clientHelper, this.getTextureName(), null ); - final FlippableIcon bottomIcon = this.optionalIcon( clientHelper, this.getTextureName() + "Bottom", topIcon ); - final FlippableIcon sideIcon = this.optionalIcon( clientHelper, this.getTextureName() + "Side", topIcon ); - final FlippableIcon eastIcon = this.optionalIcon( clientHelper, this.getTextureName() + "East", sideIcon ); - final FlippableIcon westIcon = this.optionalIcon( clientHelper, this.getTextureName() + "West", sideIcon ); - final FlippableIcon southIcon = this.optionalIcon( clientHelper, this.getTextureName() + "Front", sideIcon ); - final FlippableIcon northIcon = this.optionalIcon( clientHelper, this.getTextureName() + "Back", sideIcon ); - - info.updateIcons( bottomIcon, topIcon, northIcon, southIcon, eastIcon, westIcon ); - } - - @SideOnly( Side.CLIENT ) - private FlippableIcon optionalIcon( final TextureMap ir, final String name, IAESprite substitute ) - { - // if the input is an flippable IAESprite find the original. - while( substitute instanceof FlippableIcon ) - { - substitute = ( (FlippableIcon) substitute ).getOriginal(); - } - - if( substitute != null ) - { - try - { - final ResourceLocation resLoc = new ResourceLocation( AppEng.MOD_ID, String.format( "%s/%s%s", "textures/blocks", name, ".png" ) ); - - final IResource res = Minecraft.getMinecraft().getResourceManager().getResource( resLoc ); - if( res != null ) - { - return new FlippableIcon( new BaseIcon( ir.registerSprite( new ResourceLocation( AppEng.MOD_ID, "blocks/" + name ) ) ) ); - } - } - catch( final Throwable e ) - { - return new FlippableIcon( substitute ); - } - } - - final ResourceLocation resLoc = new ResourceLocation( AppEng.MOD_ID, "blocks/" + name ); - return new FlippableIcon( new BaseIcon( ir.registerSprite( resLoc ) ) ); - } - public void setBlockTextureName( final String texture ) { this.textureName = texture; diff --git a/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java b/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java index e5d9e3f88..a05654129 100644 --- a/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java +++ b/src/main/java/appeng/block/crafting/BlockCraftingMonitor.java @@ -21,20 +21,12 @@ package appeng.block.crafting; import java.util.List; -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.AEApi; -import appeng.api.util.IAESprite; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockCraftingCPUMonitor; -import appeng.client.texture.ExtraBlockTextures; import appeng.tile.crafting.TileCraftingMonitorTile; @@ -46,26 +38,6 @@ public class BlockCraftingMonitor extends BlockCraftingUnit this.setTileEntity( TileCraftingMonitorTile.class ); } - @Override - protected Class getRenderer() - { - return RenderBlockCraftingCPUMonitor.class; - } - - @Override - public IAESprite getIcon( final EnumFacing side, final IBlockState state ) - { - if( side != EnumFacing.SOUTH ) - { - for( final Block craftingUnitBlock : AEApi.instance().definitions().blocks().craftingUnit().maybeBlock().asSet() ) - { - return ( (BlockCraftingUnit) craftingUnitBlock ).getIcon( side, state ); - } - } - - return ExtraBlockTextures.BlockCraftingMonitorFit_Light.getIcon(); - } - @Override @SideOnly( Side.CLIENT ) public void getCheckedSubBlocks( final Item item, final CreativeTabs tabs, final List itemStacks ) diff --git a/src/main/java/appeng/block/crafting/BlockCraftingStorage.java b/src/main/java/appeng/block/crafting/BlockCraftingStorage.java index 3f8c8f1f5..f00f385e9 100644 --- a/src/main/java/appeng/block/crafting/BlockCraftingStorage.java +++ b/src/main/java/appeng/block/crafting/BlockCraftingStorage.java @@ -27,8 +27,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.util.IAESprite; -import appeng.client.texture.ExtraBlockTextures; import appeng.tile.crafting.TileCraftingStorageTile; @@ -47,25 +45,6 @@ public class BlockCraftingStorage extends BlockCraftingUnit return ItemCraftingStorage.class; } - @Override - public IAESprite getIcon( final net.minecraft.util.EnumFacing side, final net.minecraft.block.state.IBlockState state ) - { - final boolean formed = (boolean) state.getValue( FORMED ); - switch( this.type ) - { - default: - case STORAGE_1K: - return formed ? super.getIcon( side, state ) : ExtraBlockTextures.BlockCraftingStorage1kFit.getIcon(); - case STORAGE_4K: - return formed ? ExtraBlockTextures.BlockCraftingStorage4k.getIcon() : ExtraBlockTextures.BlockCraftingStorage1kFit.getIcon(); - case STORAGE_16K: - return formed ? ExtraBlockTextures.BlockCraftingStorage16k.getIcon() : ExtraBlockTextures.BlockCraftingStorage16kFit.getIcon(); - case STORAGE_64K: - return formed ? ExtraBlockTextures.BlockCraftingStorage64k.getIcon() : ExtraBlockTextures.BlockCraftingStorage64kFit.getIcon(); - - } - } - @Override @SideOnly( Side.CLIENT ) public void getCheckedSubBlocks( final Item item, final CreativeTabs tabs, final List itemStacks ) diff --git a/src/main/java/appeng/block/crafting/BlockCraftingUnit.java b/src/main/java/appeng/block/crafting/BlockCraftingUnit.java index 198b9a3ce..f2f54ac51 100644 --- a/src/main/java/appeng/block/crafting/BlockCraftingUnit.java +++ b/src/main/java/appeng/block/crafting/BlockCraftingUnit.java @@ -44,11 +44,7 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockCraftingCPU; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.crafting.TileCraftingTile; @@ -145,33 +141,6 @@ public class BlockCraftingUnit extends AEBaseTileBlock return new IProperty[] { POWERED, FORMED }; } - @Override - protected Class getRenderer() - { - return RenderBlockCraftingCPU.class; - } - - @Override - public IAESprite getIcon( final EnumFacing side, final IBlockState state ) - { - if( this.type == CraftingUnitType.ACCELERATOR ) - { - if( (boolean) state.getValue( FORMED ) ) - { - return ExtraBlockTextures.BlockCraftingAcceleratorFit.getIcon(); - } - - return ExtraBlockTextures.BlockCraftingAccelerator.getIcon(); - } - - if( (boolean) state.getValue( FORMED ) ) - { - return ExtraBlockTextures.BlockCraftingUnitFit.getIcon(); - } - - return super.getIcon( side, state ); - } - @Override @SideOnly( Side.CLIENT ) public void getCheckedSubBlocks( final Item item, final CreativeTabs tabs, final List itemStacks ) diff --git a/src/main/java/appeng/block/crafting/BlockMolecularAssembler.java b/src/main/java/appeng/block/crafting/BlockMolecularAssembler.java index 0b22d70af..ee9f5cb8f 100644 --- a/src/main/java/appeng/block/crafting/BlockMolecularAssembler.java +++ b/src/main/java/appeng/block/crafting/BlockMolecularAssembler.java @@ -32,13 +32,9 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockAssembler; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.crafting.TileMolecularAssembler; @@ -64,13 +60,6 @@ public class BlockMolecularAssembler extends AEBaseTileBlock return layer == BlockRenderLayer.CUTOUT_MIPPED; } - @Override - @SideOnly( Side.CLIENT ) - public Class getRenderer() - { - return RenderBlockAssembler.class; - } - @Override public boolean onBlockActivated( final World w, final BlockPos pos, final IBlockState state, final EntityPlayer p, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/grindstone/BlockCrank.java b/src/main/java/appeng/block/grindstone/BlockCrank.java index 1875d47eb..b25c73471 100644 --- a/src/main/java/appeng/block/grindstone/BlockCrank.java +++ b/src/main/java/appeng/block/grindstone/BlockCrank.java @@ -38,8 +38,6 @@ import net.minecraftforge.common.util.FakePlayer; import appeng.api.implementations.tiles.ICrankable; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockCrank; import appeng.core.features.AEFeature; import appeng.core.stats.Stats; import appeng.tile.AEBaseTile; @@ -60,12 +58,6 @@ public class BlockCrank extends AEBaseTileBlock this.setFeature( EnumSet.of( AEFeature.GrindStone ) ); } - @Override - public Class getRenderer() - { - return RenderBlockCrank.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer player, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/misc/BlockCharger.java b/src/main/java/appeng/block/misc/BlockCharger.java index ac2118f22..355dedf28 100644 --- a/src/main/java/appeng/block/misc/BlockCharger.java +++ b/src/main/java/appeng/block/misc/BlockCharger.java @@ -43,8 +43,6 @@ import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.util.AEAxisAlignedBB; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockCharger; import appeng.client.render.effects.LightningFX; import appeng.core.AEConfig; import appeng.core.CommonHelper; @@ -68,12 +66,6 @@ public class BlockCharger extends AEBaseTileBlock implements ICustomCollision this.setFeature( EnumSet.of( AEFeature.Core ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockCharger.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer player, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/misc/BlockInscriber.java b/src/main/java/appeng/block/misc/BlockInscriber.java index 523cbd6df..5e3c3db2a 100644 --- a/src/main/java/appeng/block/misc/BlockInscriber.java +++ b/src/main/java/appeng/block/misc/BlockInscriber.java @@ -33,8 +33,6 @@ import net.minecraft.world.World; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockInscriber; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.misc.TileInscriber; @@ -54,12 +52,6 @@ public class BlockInscriber extends AEBaseTileBlock this.setFeature( EnumSet.of( AEFeature.Inscriber ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockInscriber.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer p, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/misc/BlockInterface.java b/src/main/java/appeng/block/misc/BlockInterface.java index 0a0b1a364..01b49bf7b 100644 --- a/src/main/java/appeng/block/misc/BlockInterface.java +++ b/src/main/java/appeng/block/misc/BlockInterface.java @@ -34,8 +34,6 @@ import net.minecraft.world.World; import appeng.api.util.AEPartLocation; import appeng.api.util.IOrientable; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockInterface; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.misc.TileInterface; @@ -53,12 +51,6 @@ public class BlockInterface extends AEBaseTileBlock this.setFeature( EnumSet.of( AEFeature.Core ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockInterface.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer p, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/misc/BlockLightDetector.java b/src/main/java/appeng/block/misc/BlockLightDetector.java index 312e73f99..79cd69d57 100644 --- a/src/main/java/appeng/block/misc/BlockLightDetector.java +++ b/src/main/java/appeng/block/misc/BlockLightDetector.java @@ -39,7 +39,6 @@ import net.minecraft.world.World; import appeng.api.util.IOrientable; import appeng.api.util.IOrientableBlock; import appeng.block.AEBaseTileBlock; -import appeng.client.render.blocks.RenderQuartzTorch; import appeng.core.features.AEFeature; import appeng.helpers.ICustomCollision; import appeng.helpers.MetaRotation; @@ -108,12 +107,6 @@ public class BlockLightDetector extends AEBaseTileBlock implements IOrientableBl // cancel out lightning } - @Override - protected Class getRenderer() - { - return RenderQuartzTorch.class; - } - @Override public boolean isValidOrientation( final World w, final BlockPos pos, final EnumFacing forward, final EnumFacing up ) { diff --git a/src/main/java/appeng/block/misc/BlockPaint.java b/src/main/java/appeng/block/misc/BlockPaint.java index 7c7fb6401..9af46808d 100644 --- a/src/main/java/appeng/block/misc/BlockPaint.java +++ b/src/main/java/appeng/block/misc/BlockPaint.java @@ -39,8 +39,6 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockPaint; import appeng.core.features.AEFeature; import appeng.tile.misc.TilePaint; import appeng.util.Platform; @@ -66,12 +64,6 @@ public class BlockPaint extends AEBaseTileBlock return BlockRenderLayer.CUTOUT; } - @Override - protected Class getRenderer() - { - return RenderBlockPaint.class; - } - @Override @SideOnly( Side.CLIENT ) public void getCheckedSubBlocks( final Item item, final CreativeTabs tabs, final List itemStacks ) diff --git a/src/main/java/appeng/block/misc/BlockQuartzGrowthAccelerator.java b/src/main/java/appeng/block/misc/BlockQuartzGrowthAccelerator.java index ce983a4c3..64f5bac97 100644 --- a/src/main/java/appeng/block/misc/BlockQuartzGrowthAccelerator.java +++ b/src/main/java/appeng/block/misc/BlockQuartzGrowthAccelerator.java @@ -31,8 +31,6 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockQuartzAccelerator; import appeng.client.render.effects.LightningFX; import appeng.core.AEConfig; import appeng.core.CommonHelper; @@ -51,12 +49,6 @@ public class BlockQuartzGrowthAccelerator extends AEBaseTileBlock this.setFeature( EnumSet.of( AEFeature.Core ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockQuartzAccelerator.class; - } - @Override public void randomDisplayTick( final IBlockState state, final World w, final BlockPos pos, final Random r ) { diff --git a/src/main/java/appeng/block/misc/BlockQuartzTorch.java b/src/main/java/appeng/block/misc/BlockQuartzTorch.java index 63b742a07..808c2a249 100644 --- a/src/main/java/appeng/block/misc/BlockQuartzTorch.java +++ b/src/main/java/appeng/block/misc/BlockQuartzTorch.java @@ -42,8 +42,6 @@ import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.util.IOrientable; import appeng.api.util.IOrientableBlock; import appeng.block.AEBaseBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderQuartzTorch; import appeng.client.render.effects.LightningFX; import appeng.core.AEConfig; import appeng.core.CommonHelper; @@ -83,12 +81,6 @@ public class BlockQuartzTorch extends AEBaseBlock implements IOrientableBlock, I return new IProperty[] { BlockTorch.FACING }; } - @Override - protected Class getRenderer() - { - return RenderQuartzTorch.class; - } - @Override public boolean isValidOrientation( final World w, final BlockPos pos, final EnumFacing forward, final EnumFacing up ) { diff --git a/src/main/java/appeng/block/misc/BlockSecurity.java b/src/main/java/appeng/block/misc/BlockSecurity.java index f3e0c6d94..22d97ac13 100644 --- a/src/main/java/appeng/block/misc/BlockSecurity.java +++ b/src/main/java/appeng/block/misc/BlockSecurity.java @@ -34,8 +34,6 @@ import net.minecraft.world.World; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RendererSecurity; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.misc.TileSecurity; @@ -59,12 +57,6 @@ public class BlockSecurity extends AEBaseTileBlock return BlockRenderLayer.CUTOUT; } - @Override - protected Class getRenderer() - { - return RendererSecurity.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer p, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/misc/BlockSkyCompass.java b/src/main/java/appeng/block/misc/BlockSkyCompass.java index fad7360f8..5522518be 100644 --- a/src/main/java/appeng/block/misc/BlockSkyCompass.java +++ b/src/main/java/appeng/block/misc/BlockSkyCompass.java @@ -33,8 +33,6 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockSkyCompass; import appeng.core.features.AEFeature; import appeng.helpers.ICustomCollision; import appeng.tile.misc.TileSkyCompass; @@ -52,12 +50,6 @@ public class BlockSkyCompass extends AEBaseTileBlock implements ICustomCollision this.setFeature( EnumSet.of( AEFeature.MeteoriteCompass ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockSkyCompass.class; - } - @Override public boolean isValidOrientation( final World w, final BlockPos pos, final EnumFacing forward, final EnumFacing up ) { diff --git a/src/main/java/appeng/block/misc/BlockTinyTNT.java b/src/main/java/appeng/block/misc/BlockTinyTNT.java index 57e2535f5..69192b5eb 100644 --- a/src/main/java/appeng/block/misc/BlockTinyTNT.java +++ b/src/main/java/appeng/block/misc/BlockTinyTNT.java @@ -48,7 +48,6 @@ import net.minecraft.world.World; import net.minecraftforge.fml.common.registry.EntityRegistry; import appeng.block.AEBaseBlock; -import appeng.client.render.BaseBlockRender; import appeng.core.AppEng; import appeng.core.features.AEFeature; import appeng.entity.EntityIds; @@ -73,12 +72,6 @@ public class BlockTinyTNT extends AEBaseBlock implements ICustomCollision EntityRegistry.registerModEntity( EntityTinyTNTPrimed.class, "EntityTinyTNTPrimed", EntityIds.get( EntityTinyTNTPrimed.class ), AppEng.instance(), 16, 4, true ); } - @Override - protected Class getRenderer() - { - return null; - } - @Override public void postInit() { diff --git a/src/main/java/appeng/block/misc/BlockVibrationChamber.java b/src/main/java/appeng/block/misc/BlockVibrationChamber.java index dd6ca55b5..4da37d99d 100644 --- a/src/main/java/appeng/block/misc/BlockVibrationChamber.java +++ b/src/main/java/appeng/block/misc/BlockVibrationChamber.java @@ -32,13 +32,10 @@ import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; import appeng.block.AEBaseTileBlock; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.AEConfig; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; @@ -58,20 +55,6 @@ public final class BlockVibrationChamber extends AEBaseTileBlock this.setFeature( EnumSet.of( AEFeature.PowerGen ) ); } - @Override - public IAESprite getIcon( final IBlockAccess w, final BlockPos pos, final EnumFacing side ) - { - final IAESprite ico = super.getIcon( w, pos, side ); - final TileVibrationChamber tvc = this.getTileEntity( w, pos ); - - if( tvc != null && tvc.isOn && ico == this.getRendererInstance().getTexture( AEPartLocation.SOUTH ) ) - { - return ExtraBlockTextures.BlockVibrationChamberFrontOn.getIcon(); - } - - return ico; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer player, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/networking/BlockCableBus.java b/src/main/java/appeng/block/networking/BlockCableBus.java index 08469d5a2..92828dd83 100644 --- a/src/main/java/appeng/block/networking/BlockCableBus.java +++ b/src/main/java/appeng/block/networking/BlockCableBus.java @@ -53,8 +53,6 @@ import appeng.api.parts.PartItemStack; import appeng.api.parts.SelectedPart; import appeng.api.util.AEColor; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RendererCableBus; import appeng.core.AEConfig; import appeng.core.Api; import appeng.core.CommonHelper; @@ -323,12 +321,6 @@ public class BlockCableBus extends AEBaseTileBlock // implements return out == null ? NULL_CABLE_BUS : out; } - @Override - protected Class getRenderer() - { - return RendererCableBus.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer player, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/networking/BlockController.java b/src/main/java/appeng/block/networking/BlockController.java index 924f7ba75..ac032f0bc 100644 --- a/src/main/java/appeng/block/networking/BlockController.java +++ b/src/main/java/appeng/block/networking/BlockController.java @@ -32,8 +32,6 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockController; import appeng.core.features.AEFeature; import appeng.tile.networking.TileController; @@ -96,10 +94,4 @@ public class BlockController extends AEBaseTileBlock tc.onNeighborChange( false ); } } - - @Override - protected Class getRenderer() - { - return RenderBlockController.class; - } } diff --git a/src/main/java/appeng/block/networking/BlockDenseEnergyCell.java b/src/main/java/appeng/block/networking/BlockDenseEnergyCell.java index 0dc346eee..afac9c476 100644 --- a/src/main/java/appeng/block/networking/BlockDenseEnergyCell.java +++ b/src/main/java/appeng/block/networking/BlockDenseEnergyCell.java @@ -21,8 +21,6 @@ package appeng.block.networking; import java.util.EnumSet; -import appeng.api.util.IAESprite; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.features.AEFeature; import appeng.tile.networking.TileDenseEnergyCell; @@ -36,31 +34,6 @@ public class BlockDenseEnergyCell extends BlockEnergyCell this.setFeature( EnumSet.of( AEFeature.DenseEnergyCells ) ); } - @Override - public IAESprite getIcon( final net.minecraft.util.EnumFacing side, final net.minecraft.block.state.IBlockState state ) - { - switch( (int) state.getValue( ENERGY_STORAGE ) ) - { - default: - case 0: - return ExtraBlockTextures.MEDenseEnergyCell0.getIcon(); - case 1: - return ExtraBlockTextures.MEDenseEnergyCell1.getIcon(); - case 2: - return ExtraBlockTextures.MEDenseEnergyCell2.getIcon(); - case 3: - return ExtraBlockTextures.MEDenseEnergyCell3.getIcon(); - case 4: - return ExtraBlockTextures.MEDenseEnergyCell4.getIcon(); - case 5: - return ExtraBlockTextures.MEDenseEnergyCell5.getIcon(); - case 6: - return ExtraBlockTextures.MEDenseEnergyCell6.getIcon(); - case 7: - return ExtraBlockTextures.MEDenseEnergyCell7.getIcon(); - } - } - @Override public double getMaxPower() { diff --git a/src/main/java/appeng/block/networking/BlockEnergyCell.java b/src/main/java/appeng/block/networking/BlockEnergyCell.java index ea2c746dc..9474bd09f 100644 --- a/src/main/java/appeng/block/networking/BlockEnergyCell.java +++ b/src/main/java/appeng/block/networking/BlockEnergyCell.java @@ -32,13 +32,9 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.util.IAESprite; import appeng.block.AEBaseItemBlock; import appeng.block.AEBaseItemBlockChargeable; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockEnergyCube; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.features.AEFeature; import appeng.helpers.AEGlassMaterial; import appeng.tile.networking.TileEnergyCell; @@ -70,37 +66,6 @@ public class BlockEnergyCell extends AEBaseTileBlock this.setFeature( EnumSet.of( AEFeature.Core ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockEnergyCube.class; - } - - @Override - public IAESprite getIcon( final net.minecraft.util.EnumFacing side, final IBlockState state ) - { - switch( (int) state.getValue( ENERGY_STORAGE ) ) - { - default: - case 0: - return ExtraBlockTextures.MEEnergyCell0.getIcon(); - case 1: - return ExtraBlockTextures.MEEnergyCell1.getIcon(); - case 2: - return ExtraBlockTextures.MEEnergyCell2.getIcon(); - case 3: - return ExtraBlockTextures.MEEnergyCell3.getIcon(); - case 4: - return ExtraBlockTextures.MEEnergyCell4.getIcon(); - case 5: - return ExtraBlockTextures.MEEnergyCell5.getIcon(); - case 6: - return ExtraBlockTextures.MEEnergyCell6.getIcon(); - case 7: - return ExtraBlockTextures.MEEnergyCell7.getIcon(); - } - } - @Override @SideOnly( Side.CLIENT ) public void getCheckedSubBlocks( final Item item, final CreativeTabs tabs, final List itemStacks ) diff --git a/src/main/java/appeng/block/networking/BlockWireless.java b/src/main/java/appeng/block/networking/BlockWireless.java index 0a75416a3..98ca1222b 100644 --- a/src/main/java/appeng/block/networking/BlockWireless.java +++ b/src/main/java/appeng/block/networking/BlockWireless.java @@ -38,8 +38,6 @@ import net.minecraft.world.World; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockWireless; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.helpers.AEGlassMaterial; @@ -61,12 +59,6 @@ public class BlockWireless extends AEBaseTileBlock implements ICustomCollision this.setFeature( EnumSet.of( AEFeature.Core, AEFeature.WirelessAccessTerminal ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockWireless.class; - } - @Override public BlockRenderLayer getBlockLayer() { diff --git a/src/main/java/appeng/block/qnb/BlockQuantumBase.java b/src/main/java/appeng/block/qnb/BlockQuantumBase.java index 54dece94c..0a229b9f6 100644 --- a/src/main/java/appeng/block/qnb/BlockQuantumBase.java +++ b/src/main/java/appeng/block/qnb/BlockQuantumBase.java @@ -30,7 +30,6 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.client.render.blocks.RenderQNB; import appeng.core.features.AEFeature; import appeng.helpers.ICustomCollision; import appeng.tile.qnb.TileQuantumBridge; @@ -78,10 +77,4 @@ public abstract class BlockQuantumBase extends AEBaseTileBlock implements ICusto super.breakBlock( w, pos, state ); } - @Override - protected Class getRenderer() - { - return RenderQNB.class; - } - } diff --git a/src/main/java/appeng/block/spatial/BlockMatrixFrame.java b/src/main/java/appeng/block/spatial/BlockMatrixFrame.java index b0387d928..87e666aac 100644 --- a/src/main/java/appeng/block/spatial/BlockMatrixFrame.java +++ b/src/main/java/appeng/block/spatial/BlockMatrixFrame.java @@ -38,8 +38,6 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import appeng.block.AEBaseBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderNull; import appeng.core.features.AEFeature; import appeng.helpers.ICustomCollision; @@ -57,12 +55,6 @@ public class BlockMatrixFrame extends AEBaseBlock implements ICustomCollision this.setFeature( EnumSet.of( AEFeature.SpatialIO ) ); } - @Override - protected Class getRenderer() - { - return RenderNull.class; - } - @Override @SideOnly( Side.CLIENT ) public void getCheckedSubBlocks( final Item item, final CreativeTabs tabs, final List itemStacks ) diff --git a/src/main/java/appeng/block/spatial/BlockSpatialPylon.java b/src/main/java/appeng/block/spatial/BlockSpatialPylon.java index 16f1eb6b1..64c4c4e16 100644 --- a/src/main/java/appeng/block/spatial/BlockSpatialPylon.java +++ b/src/main/java/appeng/block/spatial/BlockSpatialPylon.java @@ -28,8 +28,6 @@ import net.minecraft.world.IBlockAccess; import net.minecraft.world.World; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderSpatialPylon; import appeng.core.features.AEFeature; import appeng.helpers.AEGlassMaterial; import appeng.tile.spatial.TileSpatialPylon; @@ -65,10 +63,4 @@ public class BlockSpatialPylon extends AEBaseTileBlock } return super.getLightValue( state, w, pos ); } - - @Override - protected Class getRenderer() - { - return RenderSpatialPylon.class; - } } diff --git a/src/main/java/appeng/block/storage/BlockChest.java b/src/main/java/appeng/block/storage/BlockChest.java index 3518e0703..d73782d3f 100644 --- a/src/main/java/appeng/block/storage/BlockChest.java +++ b/src/main/java/appeng/block/storage/BlockChest.java @@ -36,8 +36,6 @@ import appeng.api.AEApi; import appeng.api.storage.ICellHandler; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderMEChest; import appeng.core.features.AEFeature; import appeng.core.localization.PlayerMessages; import appeng.core.sync.GuiBridge; @@ -61,12 +59,6 @@ public class BlockChest extends AEBaseTileBlock return BlockRenderLayer.CUTOUT; } - @Override - protected Class getRenderer() - { - return RenderMEChest.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer p, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/storage/BlockDrive.java b/src/main/java/appeng/block/storage/BlockDrive.java index b0eaa1d98..48e1dd341 100644 --- a/src/main/java/appeng/block/storage/BlockDrive.java +++ b/src/main/java/appeng/block/storage/BlockDrive.java @@ -34,8 +34,6 @@ import net.minecraft.world.World; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderDrive; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.tile.storage.TileDrive; @@ -58,12 +56,6 @@ public class BlockDrive extends AEBaseTileBlock return BlockRenderLayer.CUTOUT; } - @Override - protected Class getRenderer() - { - return RenderDrive.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer p, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/block/storage/BlockSkyChest.java b/src/main/java/appeng/block/storage/BlockSkyChest.java index 99ef4fd03..6a71786da 100644 --- a/src/main/java/appeng/block/storage/BlockSkyChest.java +++ b/src/main/java/appeng/block/storage/BlockSkyChest.java @@ -39,8 +39,6 @@ import net.minecraft.world.World; import appeng.api.util.AEPartLocation; import appeng.block.AEBaseTileBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderBlockSkyChest; import appeng.core.features.AEFeature; import appeng.core.sync.GuiBridge; import appeng.helpers.ICustomCollision; @@ -71,12 +69,6 @@ public class BlockSkyChest extends AEBaseTileBlock implements ICustomCollision this.setFeature( EnumSet.of( AEFeature.Core, AEFeature.SkyStoneChests ) ); } - @Override - protected Class getRenderer() - { - return RenderBlockSkyChest.class; - } - @Override public boolean onActivated( final World w, final BlockPos pos, final EntityPlayer player, final EnumHand hand, final @Nullable ItemStack heldItem, final EnumFacing side, final float hitX, final float hitY, final float hitZ ) { diff --git a/src/main/java/appeng/client/ClientHelper.java b/src/main/java/appeng/client/ClientHelper.java index 6ad679227..d3dde9057 100644 --- a/src/main/java/appeng/client/ClientHelper.java +++ b/src/main/java/appeng/client/ClientHelper.java @@ -21,10 +21,7 @@ package appeng.client; import java.io.IOException; import java.util.ArrayList; -import java.util.HashMap; -import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.Random; import org.lwjgl.opengl.GL11; @@ -32,11 +29,7 @@ import org.lwjgl.opengl.GL11; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.ItemMeshDefinition; -import net.minecraft.client.renderer.ItemModelMesher; -import net.minecraft.client.renderer.block.model.ModelBakery; import net.minecraft.client.renderer.block.model.ModelResourceLocation; -import net.minecraft.client.renderer.block.statemap.DefaultStateMapper; import net.minecraft.client.renderer.color.IBlockColor; import net.minecraft.client.renderer.color.IItemColor; import net.minecraft.client.renderer.entity.RenderManager; @@ -47,7 +40,6 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.RayTraceResult; import net.minecraft.util.math.Vec3d; @@ -56,32 +48,21 @@ import net.minecraft.world.World; import net.minecraftforge.client.event.ModelBakeEvent; import net.minecraftforge.client.event.MouseEvent; import net.minecraftforge.client.event.RenderLivingEvent; -import net.minecraftforge.client.event.TextureStitchEvent; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.client.registry.ClientRegistry; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import appeng.api.parts.CableRenderMode; -import appeng.api.parts.IPartItem; import appeng.api.util.AEColor; import appeng.block.AEBaseBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BlockRenderInfo; -import appeng.client.render.TESRWrapper; -import appeng.client.render.blocks.RendererCableBus; import appeng.client.render.effects.AssemblerFX; import appeng.client.render.effects.CraftingFx; import appeng.client.render.effects.EnergyFx; import appeng.client.render.effects.LightningArcFX; import appeng.client.render.effects.LightningFX; import appeng.client.render.effects.VibrantFX; -import appeng.client.texture.CableBusTextures; -import appeng.client.texture.ExtraBlockTextures; -import appeng.client.texture.ExtraItemTextures; import appeng.core.AEConfig; import appeng.core.AELog; import appeng.core.Api; -import appeng.core.AppEng; import appeng.core.CommonHelper; import appeng.core.features.IAEFeature; import appeng.core.sync.network.NetworkHandler; @@ -91,11 +72,9 @@ import appeng.entity.EntityFloatingItem; import appeng.entity.EntityTinyTNTPrimed; import appeng.entity.RenderFloatingItem; import appeng.entity.RenderTinyTNTPrimed; -import appeng.facade.IFacadeItem; import appeng.helpers.IMouseWheelItem; import appeng.hooks.TickHandler; import appeng.hooks.TickHandler.PlayerColor; -import appeng.items.AEBaseItem; import appeng.items.misc.ItemPaintBall; import appeng.server.ServerHelper; import appeng.transformer.MissingCoreMod; @@ -105,18 +84,6 @@ import appeng.util.Platform; public class ClientHelper extends ServerHelper { - private final ModelResourceLocation partRenderer = new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, "DynamicPartRenderer" ), "inventory" ); - - private final Map> iconRegistrations = new HashMap<>(); - private final List iconTmp = new ArrayList<>(); - private final List extraIcons = new ArrayList<>(); - - @Override - public void configureIcon( final Object item, final String name ) - { - this.iconTmp.add( new IconReg( item, 0, name ) ); - } - @Override public void preinit() { @@ -171,11 +138,7 @@ public class ClientHelper extends ServerHelper @Override public void bindTileEntitySpecialRenderer( final Class tile, final AEBaseBlock blk ) { - final BaseBlockRender bbr = blk.getRendererInstance().getRendererInstance(); - if( bbr.hasTESR() && tile != null ) - { - ClientRegistry.bindTileEntitySpecialRenderer( tile, new TESRWrapper( bbr ) ); - } + } @Override @@ -276,76 +239,6 @@ public class ClientHelper extends ServerHelper inst.entityRenderMap.put( EntityTinyTNTPrimed.class, new RenderTinyTNTPrimed( inst ) ); inst.entityRenderMap.put( EntityFloatingItem.class, new RenderFloatingItem( inst ) ); - - final ItemModelMesher mesher = Minecraft.getMinecraft().getRenderItem().getItemModelMesher(); - final ItemMeshDefinition imd = new ItemMeshDefinition(){ - - @Override - public ModelResourceLocation getModelLocation( final ItemStack stack ) - { - return ClientHelper.this.partRenderer; - } - }; - - for( final IconReg reg : this.iconTmp ) - { - if( reg.item instanceof IPartItem || reg.item instanceof IFacadeItem ) - { - mesher.register( reg.item instanceof Item ? (Item) reg.item : Item.getItemFromBlock( (Block) reg.item ), imd ); - continue; - } - - if( reg.item instanceof AEBaseBlock ) - { - final BlockRenderInfo renderer = ( (AEBaseBlock) reg.item ).getRendererInstance(); - if( renderer == null ) - { - continue; - } - - this.addIcon( reg.name ); - - mesher.register( reg.item instanceof Item ? (Item) reg.item : Item.getItemFromBlock( (Block) reg.item ), stack -> renderer.getRendererInstance().getResourcePath() ); - continue; - } - - if( reg.name == null ) - { - continue; - } - - if( reg.item instanceof AEBaseItem ) - { - ( (AEBaseItem) reg.item ).registerIcons( this, reg.name ); - } - else if( reg.item instanceof Item ) - { - this.setIcon( (Item) reg.item, 0, reg.name ); - } - } - - final String MODID = AppEng.MOD_ID + ":"; - for( final List reg : this.iconRegistrations.values() ) - { - final ResourceLocation[] names = new ResourceLocation[reg.size()]; - - Item it = null; - - int offset = 0; - for( final IconReg r : reg ) - { - it = (Item) r.item; - - if( r.meta >= 0 ) - { - mesher.register( (Item) r.item, r.meta, r.loc ); - } - - names[offset++] = new ResourceLocation( MODID, r.name ); - } - - ModelBakery.registerItemVariants( it, names ); - } } @Override @@ -388,40 +281,6 @@ public class ClientHelper extends ServerHelper throw new MissingCoreMod(); } - @Override - public ResourceLocation addIcon( final String string ) - { - final ModelResourceLocation n = new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, string ), "inventory" ); - this.extraIcons.add( n ); - return n; - } - - public ModelResourceLocation setIcon( final Item item, final String name ) - { - List reg = this.iconRegistrations.get( item ); - if( reg == null ) - { - this.iconRegistrations.put( item, reg = new LinkedList<>() ); - } - - final ModelResourceLocation res = new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, name ), "inventory" ); - reg.add( new IconReg( item, -1, name, res ) ); - return res; - } - - public ModelResourceLocation setIcon( final Item item, final int meta, final String name ) - { - List reg = this.iconRegistrations.get( item ); - if( reg == null ) - { - this.iconRegistrations.put( item, reg = new LinkedList<>() ); - } - - final ModelResourceLocation res = new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, name ), "inventory" ); - reg.add( new IconReg( item, meta, name, res ) ); - return res; - } - @SubscribeEvent public void postPlayerRender( final RenderLivingEvent.Pre p ) { @@ -503,37 +362,7 @@ public class ClientHelper extends ServerHelper @SubscribeEvent public void onModelBakeEvent( final ModelBakeEvent event ) { - // inventory renderer - final SmartModel buses = new SmartModel( new BlockRenderInfo( ( new RendererCableBus() ) ) ); - event.getModelRegistry().putObject( this.partRenderer, buses ); - for( final IconReg reg : this.iconTmp ) - { - if( reg.item instanceof IPartItem || reg.item instanceof IFacadeItem ) - { - final ResourceLocation i = Item.REGISTRY.getNameForObject( (Item) reg.item ); - event.getModelRegistry().putObject( new ModelResourceLocation( new ResourceLocation( i.getResourceDomain(), i.getResourcePath() ), "inventory" ), buses ); - } - - if( reg.item instanceof AEBaseBlock ) - { - final BlockRenderInfo renderer = ( (AEBaseBlock) reg.item ).getRendererInstance(); - if( renderer == null ) - { - continue; - } - - final SmartModel sm = new SmartModel( renderer ); - event.getModelRegistry().putObject( renderer.getRendererInstance().getResourcePath(), sm ); - - final Map data = new DefaultStateMapper().putStateModelLocations( (Block) reg.item ); - for( final Object Loc : data.values() ) - { - final ModelResourceLocation res = (ModelResourceLocation) Loc; - event.getModelRegistry().putObject( res, sm ); - } - } - } } @SubscribeEvent @@ -575,51 +404,6 @@ public class ClientHelper extends ServerHelper } } - @SubscribeEvent - public void updateTextureSheet( final TextureStitchEvent.Pre ev ) - { - for( final IconReg reg : this.iconTmp ) - { - if( reg.item instanceof AEBaseItem ) - { - ( (AEBaseItem) reg.item ).registerCustomIcon( ev.getMap() ); - } - else if( reg.item instanceof AEBaseBlock ) - { - final BlockRenderInfo renderer = ( (AEBaseBlock) reg.item ).getRendererInstance(); - if( renderer == null ) - { - continue; - } - - ( (AEBaseBlock) reg.item ).registerBlockIcons( ev.getMap(), reg.name ); - } - } - - this.extraIcons.forEach( ev.getMap()::registerSprite ); - - // if( ev.map.getTextureType() == ITEM_RENDERER ) - { - for( final ExtraItemTextures et : ExtraItemTextures.values() ) - { - et.registerIcon( ev.getMap() ); - } - } - - // if( ev.map. == BLOCK_RENDERER ) - { - for( final ExtraBlockTextures et : ExtraBlockTextures.values() ) - { - et.registerIcon( ev.getMap() ); - } - - for( final CableBusTextures cb : CableBusTextures.values() ) - { - cb.registerIcon( ev.getMap() ); - } - } - } - private static class IconReg { public final String name; diff --git a/src/main/java/appeng/client/ItemRenderType.java b/src/main/java/appeng/client/ItemRenderType.java deleted file mode 100644 index 5d73015bd..000000000 --- a/src/main/java/appeng/client/ItemRenderType.java +++ /dev/null @@ -1,9 +0,0 @@ - -package appeng.client; - - -public enum ItemRenderType -{ - INVENTORY, ENTITY - -} diff --git a/src/main/java/appeng/client/SmartModel.java b/src/main/java/appeng/client/SmartModel.java deleted file mode 100644 index 532ce4cb2..000000000 --- a/src/main/java/appeng/client/SmartModel.java +++ /dev/null @@ -1,107 +0,0 @@ - -package appeng.client; - - -import java.util.List; - -import com.google.common.collect.Lists; - -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.block.model.ItemOverrideList; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.entity.EntityLivingBase; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraft.world.World; -import net.minecraftforge.common.property.IExtendedBlockState; - -import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.render.BakingModelGenerator; -import appeng.client.render.BlockRenderInfo; -import appeng.client.texture.MissingIcon; - - -// net.minecraft.client.renderer.tileentity.TileEntityItemStackRenderer -public class SmartModel implements IBakedModel -{ - - private final BlockRenderInfo aeRenderer; - - public SmartModel( final BlockRenderInfo rendererInstance ) - { - this.aeRenderer = rendererInstance; - } - - @Override - public boolean isAmbientOcclusion() - { - return true; - } - - @Override - public boolean isGui3d() - { - return true; - } - - @Override - public boolean isBuiltInRenderer() - { - return false; - } - - @Override - public TextureAtlasSprite getParticleTexture() - { - return this.aeRenderer != null ? this.aeRenderer.getTexture( AEPartLocation.UP ).getAtlas() : MissingIcon.getMissing(); - } - - @Override - public ItemCameraTransforms getItemCameraTransforms() - { - return ItemCameraTransforms.DEFAULT; - } - - @Override - public List getQuads( IBlockState state, EnumFacing side, long rand ) - { - final ModelGenerator helper = new BakingModelGenerator(); - final Block blk = state.getBlock(); - final BlockPos pos = ( (IExtendedBlockState) state ).getValue( AEBaseBlock.AE_BLOCK_POS ); - final IBlockAccess world = ( (IExtendedBlockState) state ).getValue( AEBaseBlock.AE_BLOCK_ACCESS ); - helper.setTranslation( -pos.getX(), -pos.getY(), -pos.getZ() ); - helper.setRenderBoundsFromBlock( state, pos ); - helper.setBlockAccess( world ); - this.aeRenderer.getRendererInstance().renderInWorld( blk instanceof AEBaseBlock ? (AEBaseBlock) blk : null, world, pos, helper ); - helper.finalizeModel( false ); - return helper.getOutput().getQuads( state, side, rand ); - } - - @Override - public ItemOverrideList getOverrides() - { - return new ItemOverrideList( Lists.newArrayList() ){ - - @Override - public IBakedModel handleItemState( IBakedModel originalModel, ItemStack stack, World world, EntityLivingBase entity ) - { - final ModelGenerator helper = new BakingModelGenerator(); - final Block blk = Block.getBlockFromItem( stack.getItem() ); - helper.setRenderBoundsFromBlock( blk != null ? blk.getDefaultState() : null, null ); - aeRenderer.getRendererInstance().renderInventory( blk instanceof AEBaseBlock ? (AEBaseBlock) blk : null, stack, helper, ItemRenderType.INVENTORY, null ); - helper.finalizeModel( true ); - return helper.getOutput(); - } - - }; - } - -} diff --git a/src/main/java/appeng/client/gui/widgets/GuiImgButton.java b/src/main/java/appeng/client/gui/widgets/GuiImgButton.java index f2ca74101..38e45ecd6 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiImgButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiImgButton.java @@ -27,6 +27,7 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.translation.I18n; import appeng.api.config.AccessRestriction; @@ -49,7 +50,6 @@ import appeng.api.config.StorageFilter; import appeng.api.config.TerminalStyle; import appeng.api.config.ViewItems; import appeng.api.config.YesNo; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.localization.ButtonToolTips; @@ -208,7 +208,7 @@ public class GuiImgButton extends GuiButton implements ITooltip GL11.glColor4f( 0.5f, 0.5f, 0.5f, 1.0f ); } - par1Minecraft.renderEngine.bindTexture( ExtraBlockTextures.GuiTexture( "guis/states.png" ) ); + par1Minecraft.renderEngine.bindTexture( new ResourceLocation( "appliedenergistics2", "textures/guis/states.png" ) ); this.hovered = par2 >= this.xPosition && par3 >= this.yPosition && par2 < this.xPosition + this.width && par3 < this.yPosition + this.height; final int uv_y = (int) Math.floor( iconIndex / 16 ); @@ -231,7 +231,7 @@ public class GuiImgButton extends GuiButton implements ITooltip GL11.glColor4f( 0.5f, 0.5f, 0.5f, 1.0f ); } - par1Minecraft.renderEngine.bindTexture( ExtraBlockTextures.GuiTexture( "guis/states.png" ) ); + par1Minecraft.renderEngine.bindTexture( new ResourceLocation( "appliedenergistics2", "textures/guis/states.png" ) ); this.hovered = par2 >= this.xPosition && par3 >= this.yPosition && par2 < this.xPosition + this.width && par3 < this.yPosition + this.height; final int uv_y = (int) Math.floor( iconIndex / 16 ); diff --git a/src/main/java/appeng/client/gui/widgets/GuiTabButton.java b/src/main/java/appeng/client/gui/widgets/GuiTabButton.java index 9743274b3..7d551cd46 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiTabButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiTabButton.java @@ -27,8 +27,7 @@ import net.minecraft.client.gui.GuiButton; import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.RenderItem; import net.minecraft.item.ItemStack; - -import appeng.client.texture.ExtraBlockTextures; +import net.minecraft.util.ResourceLocation; public class GuiTabButton extends GuiButton implements ITooltip @@ -79,7 +78,7 @@ public class GuiTabButton extends GuiButton implements ITooltip if( this.visible ) { GL11.glColor4f( 1.0f, 1.0f, 1.0f, 1.0f ); - minecraft.renderEngine.bindTexture( ExtraBlockTextures.GuiTexture( "guis/states.png" ) ); + minecraft.renderEngine.bindTexture( new ResourceLocation( "appliedenergistics2", "textures/guis/states.png" ) ); this.hovered = x >= this.xPosition && y >= this.yPosition && x < this.xPosition + this.width && y < this.yPosition + this.height; int uv_x = ( this.hideEdge > 0 ? 11 : 13 ); diff --git a/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java b/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java index 0879a58e1..5407ddf1b 100644 --- a/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java +++ b/src/main/java/appeng/client/gui/widgets/GuiToggleButton.java @@ -25,10 +25,9 @@ import org.lwjgl.opengl.GL11; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.GuiButton; +import net.minecraft.util.ResourceLocation; import net.minecraft.util.text.translation.I18n; -import appeng.client.texture.ExtraBlockTextures; - public class GuiToggleButton extends GuiButton implements ITooltip { @@ -67,7 +66,7 @@ public class GuiToggleButton extends GuiButton implements ITooltip final int iconIndex = this.getIconIndex(); GL11.glColor4f( 1.0f, 1.0f, 1.0f, 1.0f ); - par1Minecraft.renderEngine.bindTexture( ExtraBlockTextures.GuiTexture( "guis/states.png" ) ); + par1Minecraft.renderEngine.bindTexture( new ResourceLocation( "appliedenergistics2", "textures/guis/states.png" ) ); this.hovered = par2 >= this.xPosition && par3 >= this.yPosition && par2 < this.xPosition + this.width && par3 < this.yPosition + this.height; final int uv_y = (int) Math.floor( iconIndex / 16 ); diff --git a/src/main/java/appeng/client/render/BakingModelGenerator.java b/src/main/java/appeng/client/render/BakingModelGenerator.java deleted file mode 100644 index 6c2e54bd9..000000000 --- a/src/main/java/appeng/client/render/BakingModelGenerator.java +++ /dev/null @@ -1,790 +0,0 @@ -package appeng.client.render; - - -import java.util.ArrayList; -import java.util.EnumSet; -import java.util.List; - -import javax.annotation.Nullable; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.util.vector.Vector3f; - -import net.minecraft.block.Block; -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.client.renderer.block.model.BakedQuad; -import net.minecraft.client.renderer.block.model.BlockFaceUV; -import net.minecraft.client.renderer.block.model.BlockPartFace; -import net.minecraft.client.renderer.block.model.FaceBakery; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.block.model.ItemCameraTransforms; -import net.minecraft.client.renderer.block.model.ItemOverrideList; -import net.minecraft.client.renderer.block.model.ModelRotation; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.MinecraftForgeClient; - -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.texture.BaseIcon; -import appeng.client.texture.MissingIcon; -import appeng.items.AEBaseItem; -import appeng.items.parts.ItemMultiPart; - -public class BakingModelGenerator implements ModelGenerator -{ - private static final class CachedModel implements IBakedModel - { - private final List general; - private final List[] faces = new List[6]; - - public CachedModel() - { - this.general = new ArrayList(); - for( final EnumFacing f : EnumFacing.VALUES ) - { - this.faces[f.ordinal()] = new ArrayList(); - } - } - - @Override - public boolean isGui3d() - { - return true; - } - - @Override - public boolean isBuiltInRenderer() - { - return false; - } - - @Override - public boolean isAmbientOcclusion() - { - return true; - } - - @Override - public TextureAtlasSprite getParticleTexture() - { - return Minecraft.getMinecraft().getTextureMapBlocks().getMissingSprite(); - } - - @Override - public ItemCameraTransforms getItemCameraTransforms() - { - return ItemCameraTransforms.DEFAULT; - } - - @Override - public List getQuads( IBlockState state, EnumFacing side, long rand ) - { - return side == null ? general : this.faces[side.ordinal()]; - } - - @Override - public ItemOverrideList getOverrides() - { - return null; - } - } - - - private int uvRotateBottom; - private int uvRotateEast; - private int uvRotateNorth; - private int uvRotateSouth; - private int uvRotateTop; - private int uvRotateWest; - private IAESprite overrideBlockTexture; - private boolean renderAllFaces; - - private double renderMinX; - private double renderMaxX; - - private double renderMinY; - private double renderMaxY; - - private double renderMinZ; - private double renderMaxZ; - - private IBlockAccess blockAccess; - - private final CachedModel generatedModel = new CachedModel(); - - // used to create faces... - private final FaceBakery faceBakery = new FaceBakery(); - - private float tx = 0, ty = 0, tz = 0; - private final float[] defUVs = { 0, 0, 1, 1 }; - - private final float[] quadsUV = { 0, 0, 1, 1, 0, 0, 1, 1 }; - private EnumSet renderFaces = EnumSet.allOf( EnumFacing.class ); - private boolean flipTexture = false; - private final List faces = new ArrayList(); - - // private int point = 0; - private int brightness = -1; - private VertexBuffer vertexBuffer; - //private final float[][] points = new float[4][]; - private EnumFacing currentFace = EnumFacing.UP; - private int color = -1; - - public void setRenderBoundsFromBlock( final IBlockState state, final @Nullable BlockPos pos ) - { - if( state == null ) - { - return; - } - - AxisAlignedBB boundingBox; - try - { - boundingBox = state.getBoundingBox( getBlockAccess(), pos ); - } - catch( NullPointerException e ) - { - boundingBox = Block.FULL_BLOCK_AABB; - } - - this.setRenderMinX( boundingBox.minX ); - this.setRenderMinY( boundingBox.minY ); - this.setRenderMinZ( boundingBox.minZ ); - this.setRenderMaxX( boundingBox.maxX ); - this.setRenderMaxY( boundingBox.maxY ); - this.setRenderMaxZ( boundingBox.maxZ ); - } - - public void setRenderBounds( final double d, final double e, final double f, final double g, final double h, final double i ) - { - this.setRenderMinX( d ); - this.setRenderMinY( e ); - this.setRenderMinZ( f ); - this.setRenderMaxX( g ); - this.setRenderMaxY( h ); - this.setRenderMaxZ( i ); - } - - public void setBrightness( final int i ) - { - this.brightness = i; - } - - public void setColorRGBA_F( final int r, final int g, final int b, final float a ) - { - final int alpha = (int) ( a * 0xff ); - this.color = alpha << 24 | r << 16 | b << 8 | b; - } - - public void setColorOpaque_I( final int whiteVariant ) - { - final int alpha = 0xff; - this.color = // alpha << 24 | - whiteVariant; - } - - public void setColorOpaque( final int r, final int g, final int b ) - { - final int alpha = 0xff; - this.color = // alpha << 24 | - r << 16 | g << 8 | b; - } - - public void setColorOpaque_F( final int r, final int g, final int b ) - { - final int alpha = 0xff; - this.color = // alpha << 24 | - Math.min( 0xff, Math.max( 0, r ) ) << 16 | Math.min( 0xff, Math.max( 0, g ) ) << 8 | Math.min( 0xff, Math.max( 0, b ) ); - } - - public void setColorOpaque_F( final float rf, final float bf, final float gf ) - { - final int r = (int) ( rf * 0xff ); - final int g = (int) ( gf * 0xff ); - final int b = (int) ( bf * 0xff ); - final int alpha = 0xff; - this.color = // alpha << 24 | - Math.min( 0xff, Math.max( 0, r ) ) << 16 | Math.min( 0xff, Math.max( 0, g ) ) << 8 | Math.min( 0xff, Math.max( 0, b ) ); - } - - public IAESprite getIcon( final ItemStack is ) - { - final Item it = is.getItem(); - - if( it instanceof ItemMultiPart ) - { - return ( (ItemMultiPart) it ).getIcon( is ); - } - - final Block blk = Block.getBlockFromItem( it ); - - if( blk != null ) - { - return this.getIcon( blk.getStateFromMeta( is.getMetadata() ) )[0]; - } - - if( it instanceof AEBaseItem ) - { - final IAESprite ico = ( (AEBaseItem) it ).getIcon( is ); - if( ico != null ) - { - return ico; - } - } - - return new MissingIcon( is ); - } - - public IAESprite[] getIcon( final IBlockState state ) - { - final IAESprite[] out = new IAESprite[6]; - - final Block blk = state.getBlock(); - if( blk instanceof AEBaseBlock ) - { - final AEBaseBlock base = (AEBaseBlock) blk; - for( final EnumFacing face : EnumFacing.VALUES ) - { - out[face.ordinal()] = base.getIcon( face, state ); - } - } - else - { - final TextureAtlasSprite spite = Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getTexture( state ); - if( spite == null ) - { - out[0] = new MissingIcon( blk ); - out[1] = new MissingIcon( blk ); - out[2] = new MissingIcon( blk ); - out[3] = new MissingIcon( blk ); - out[4] = new MissingIcon( blk ); - out[5] = new MissingIcon( blk ); - } - else - { - final IAESprite mySpite = new BaseIcon( spite ); - out[0] = mySpite; - out[1] = mySpite; - out[2] = mySpite; - out[3] = mySpite; - out[4] = mySpite; - out[5] = mySpite; - } - } - - return out; - } - - public IAESprite[] getIcon( final IBlockAccess world, final BlockPos pos ) - { - final IBlockState state = world.getBlockState( pos ); - final Block blk = state.getBlock(); - - if( blk instanceof AEBaseBlock ) - { - final IAESprite[] out = new IAESprite[6]; - - final AEBaseBlock base = (AEBaseBlock) blk; - for( final EnumFacing face : EnumFacing.VALUES ) - { - out[face.ordinal()] = base.getIcon( world, pos, face ); - } - - return out; - } - - return this.getIcon( state ); - } - - //TODO 1.9.4 aftermath - Check that this shit still works. VertexBuffer - public void addVertexWithUV( final EnumFacing face, final double x, final double y, final double z, final double u, final double v ) - { - //this.points[this.point++] = new float[] { (float) x + this.tx, (float) y + this.ty, (float) z + this.tz, (float) u, (float) v }; - if( vertexBuffer == null ) - { - vertexBuffer = new VertexBuffer( 4 ); - vertexBuffer.begin( GL11.GL_QUADS, DefaultVertexFormats.POSITION_TEX); - } - vertexBuffer.pos( x, y, z ).tex( u, v ).endVertex(); - // if( this.point == 4 ) - if( vertexBuffer.getVertexCount() == 4) - { - /*this.brightness = -1; - final int[] vertData = { - Float.floatToRawIntBits( this.points[0][0] ), - Float.floatToRawIntBits( this.points[0][1] ), - Float.floatToRawIntBits( this.points[0][2] ), - this.brightness, - Float.floatToRawIntBits( this.points[0][3] ), - Float.floatToRawIntBits( this.points[0][4] ), - // 0, - - Float.floatToRawIntBits( this.points[1][0] ), - Float.floatToRawIntBits( this.points[1][1] ), - Float.floatToRawIntBits( this.points[1][2] ), - this.brightness, - Float.floatToRawIntBits( this.points[1][3] ), - Float.floatToRawIntBits( this.points[1][4] ), - // 0, - - Float.floatToRawIntBits( this.points[2][0] ), - Float.floatToRawIntBits( this.points[2][1] ), - Float.floatToRawIntBits( this.points[2][2] ), - this.brightness, - Float.floatToRawIntBits( this.points[2][3] ), - Float.floatToRawIntBits( this.points[2][4] ), - // 0, - - Float.floatToRawIntBits( this.points[3][0] ), - Float.floatToRawIntBits( this.points[3][1] ), - Float.floatToRawIntBits( this.points[3][2] ), - this.brightness, - Float.floatToRawIntBits( this.points[3][3] ), - Float.floatToRawIntBits( this.points[3][4] ), - // 0, - }; - - this.generatedModel.general.add( new BakedQuad( vertData, this.color, face, Minecraft.getMinecraft().getTextureMapBlocks().getTextureExtry( TextureMap.LOCATION_BLOCKS_TEXTURE.toString() ), true, DefaultVertexFormats.POSITION_TEX ) ); - for( List list : this.generatedModel.faces ) - { - list.add( new BakedQuad( vertData, this.color, face, Minecraft.getMinecraft().getTextureMapBlocks().getTextureExtry( TextureMap.LOCATION_BLOCKS_TEXTURE.toString() ), true, DefaultVertexFormats.POSITION_TEX ) ); - } - - this.point = 0;*/ - - vertexBuffer.finishDrawing(); - final VertexBuffer.State state = vertexBuffer.getVertexState(); - this.generatedModel.general.add( new BakedQuad( state.getRawBuffer(), this.color, face, Minecraft.getMinecraft().getTextureMapBlocks().getTextureExtry( TextureMap.LOCATION_BLOCKS_TEXTURE.toString() ), true, state.getVertexFormat() ) ); - for( List list : this.generatedModel.faces ) - { - list.add( new BakedQuad( state.getRawBuffer(), this.color, face, Minecraft.getMinecraft().getTextureMapBlocks().getTextureExtry( TextureMap.LOCATION_BLOCKS_TEXTURE.toString() ), true, state.getVertexFormat() ) ); - } - vertexBuffer = null; - } - } - - public boolean renderStandardBlock( final Block block, final BlockPos pos ) - { - // setRenderBoundsFromBlock( block ); - - final IAESprite[] textures = this.getIcon( this.getBlockAccess(), pos ); - this.setColorOpaque_I( 0xffffff ); - - this.renderFaceXNeg( block, pos, textures[EnumFacing.WEST.ordinal()] ); - this.renderFaceXPos( block, pos, textures[EnumFacing.EAST.ordinal()] ); - this.renderFaceYNeg( block, pos, textures[EnumFacing.DOWN.ordinal()] ); - this.renderFaceYPos( block, pos, textures[EnumFacing.UP.ordinal()] ); - this.renderFaceZNeg( block, pos, textures[EnumFacing.NORTH.ordinal()] ); - this.renderFaceZPos( block, pos, textures[EnumFacing.SOUTH.ordinal()] ); - - return false; - } - - public void setTranslation( final int x, final int y, final int z ) - { - this.tx = x; - this.ty = y; - this.tz = z; - } - - public boolean isAlphaPass() - { - return MinecraftForgeClient.getRenderLayer() == BlockRenderLayer.TRANSLUCENT; - } - - private float[] getFaceUvs( final EnumFacing face, final Vector3f to_16, final Vector3f from_16 ) - { - float from_a = 0; - float from_b = 0; - float to_a = 0; - float to_b = 0; - - switch( face ) - { - case UP: - from_a = from_16.x / 16.0f; - from_b = from_16.z / 16.0f; - to_a = to_16.x / 16.0f; - to_b = to_16.z / 16.0f; - break; - case DOWN: - from_a = from_16.x / 16.0f; - from_b = from_16.z / 16.0f; - to_a = to_16.x / 16.0f; - to_b = to_16.z / 16.0f; - break; - case SOUTH: - from_a = from_16.x / 16.0f; - from_b = from_16.y / 16.0f; - to_a = to_16.x / 16.0f; - to_b = to_16.y / 16.0f; - break; - case NORTH: - from_a = from_16.x / 16.0f; - from_b = from_16.y / 16.0f; - to_a = to_16.x / 16.0f; - to_b = to_16.y / 16.0f; - break; - case EAST: - from_a = from_16.y / 16.0f; - from_b = from_16.z / 16.0f; - to_a = to_16.y / 16.0f; - to_b = to_16.z / 16.0f; - break; - case WEST: - from_a = from_16.y / 16.0f; - from_b = from_16.z / 16.0f; - to_a = to_16.y / 16.0f; - to_b = to_16.z / 16.0f; - break; - default: - } - - from_a = 1.0f - from_a; - from_b = 1.0f - from_b; - to_a = 1.0f - to_a; - to_b = 1.0f - to_b; - - final float[] afloat = {// :P - 16.0f * ( this.quadsUV[0] + this.quadsUV[2] * from_a + this.quadsUV[4] * from_b ), // 0 - 16.0f * ( this.quadsUV[1] + this.quadsUV[3] * from_a + this.quadsUV[5] * from_b ), // 1 - - 16.0f * ( this.quadsUV[0] + this.quadsUV[2] * to_a + this.quadsUV[4] * from_b ), // 2 - 16.0f * ( this.quadsUV[1] + this.quadsUV[3] * to_a + this.quadsUV[5] * from_b ), // 3 - - 16.0f * ( this.quadsUV[0] + this.quadsUV[2] * to_a + this.quadsUV[4] * to_b ), // 2 - 16.0f * ( this.quadsUV[1] + this.quadsUV[3] * to_a + this.quadsUV[5] * to_b ), // 3 - - 16.0f * ( this.quadsUV[0] + this.quadsUV[2] * from_a + this.quadsUV[4] * to_b ), // 0 - 16.0f * ( this.quadsUV[1] + this.quadsUV[3] * from_a + this.quadsUV[5] * to_b ), // 1 - }; - - return afloat; - } - - public void renderFaceXNeg( final Block blk, final BlockPos pos, final IAESprite lights ) - { - final boolean isEdge = this.getRenderMinX() < 0.0001; - final Vector3f to = new Vector3f( (float) this.getRenderMinX() * 16.0f, (float) this.getRenderMinY() * 16.0f, (float) this.getRenderMinZ() * 16.0f ); - final Vector3f from = new Vector3f( (float) this.getRenderMinX() * 16.0f, (float) this.getRenderMaxY() * 16.0f, (float) this.getRenderMaxZ() * 16.0f ); - - final EnumFacing myFace = EnumFacing.WEST; - this.addFace( myFace, isEdge, to, from, this.defUVs, lights ); - } - - public void renderFaceYNeg( final Block blk, final BlockPos pos, final IAESprite lights ) - { - final boolean isEdge = this.getRenderMinY() < 0.0001; - final Vector3f to = new Vector3f( (float) this.getRenderMinX() * 16.0f, (float) this.getRenderMinY() * 16.0f, (float) this.getRenderMinZ() * 16.0f ); - final Vector3f from = new Vector3f( (float) this.getRenderMaxX() * 16.0f, (float) this.getRenderMinY() * 16.0f, (float) this.getRenderMaxZ() * 16.0f ); - - final EnumFacing myFace = EnumFacing.DOWN; - this.addFace( myFace, isEdge, to, from, this.defUVs, lights ); - } - - public void renderFaceZNeg( final Block blk, final BlockPos pos, final IAESprite lights ) - { - final boolean isEdge = this.getRenderMinZ() < 0.0001; - final Vector3f to = new Vector3f( (float) this.getRenderMinX() * 16.0f, (float) this.getRenderMinY() * 16.0f, (float) this.getRenderMinZ() * 16.0f ); - final Vector3f from = new Vector3f( (float) this.getRenderMaxX() * 16.0f, (float) this.getRenderMaxY() * 16.0f, (float) this.getRenderMinZ() * 16.0f ); - - final EnumFacing myFace = EnumFacing.NORTH; - this.addFace( myFace, isEdge, to, from, this.defUVs, lights ); - } - - public void renderFaceYPos( final Block blk, final BlockPos pos, final IAESprite lights ) - { - final boolean isEdge = this.getRenderMaxY() > 0.9999; - final Vector3f to = new Vector3f( (float) this.getRenderMinX() * 16.0f, (float) this.getRenderMaxY() * 16.0f, (float) this.getRenderMinZ() * 16.0f ); - final Vector3f from = new Vector3f( (float) this.getRenderMaxX() * 16.0f, (float) this.getRenderMaxY() * 16.0f, (float) this.getRenderMaxZ() * 16.0f ); - - final EnumFacing myFace = EnumFacing.UP; - this.addFace( myFace, isEdge, to, from, this.defUVs, lights ); - } - - public void renderFaceZPos( final Block blk, final BlockPos pos, final IAESprite lights ) - { - final boolean isEdge = this.getRenderMaxZ() > 0.9999; - final Vector3f to = new Vector3f( (float) this.getRenderMinX() * 16.0f, (float) this.getRenderMinY() * 16.0f, (float) this.getRenderMaxZ() * 16.0f ); - final Vector3f from = new Vector3f( (float) this.getRenderMaxX() * 16.0f, (float) this.getRenderMaxY() * 16.0f, (float) this.getRenderMaxZ() * 16.0f ); - - final EnumFacing myFace = EnumFacing.SOUTH; - this.addFace( myFace, isEdge, to, from, this.defUVs, lights ); - } - - public void renderFaceXPos( final Block blk, final BlockPos pos, final IAESprite lights ) - { - final boolean isEdge = this.getRenderMaxX() > 0.9999; - final Vector3f to = new Vector3f( (float) this.getRenderMaxX() * 16.0f, (float) this.getRenderMinY() * 16.0f, (float) this.getRenderMinZ() * 16.0f ); - final Vector3f from = new Vector3f( (float) this.getRenderMaxX() * 16.0f, (float) this.getRenderMaxY() * 16.0f, (float) this.getRenderMaxZ() * 16.0f ); - - final EnumFacing myFace = EnumFacing.EAST; - this.addFace( myFace, isEdge, to, from, this.defUVs, lights ); - } - - private void addFace( final EnumFacing face, final boolean isEdge, final Vector3f to, final Vector3f from, final float[] defUVs2, IAESprite texture ) - { - if( this.getOverrideBlockTexture() != null ) - { - texture = this.getOverrideBlockTexture(); - } - - this.faces.add( new SMFace( face, isEdge, this.color, to, from, defUVs2, new IconUnwrapper( texture ) ) ); - } - - public void setNormal( final float x, final float y, final float z ) - { - if( x > 0.5 ) - { - this.currentFace = EnumFacing.EAST; - } - if( x < -0.5 ) - { - this.currentFace = EnumFacing.WEST; - } - if( y > 0.5 ) - { - this.currentFace = EnumFacing.UP; - } - if( y < -0.5 ) - { - this.currentFace = EnumFacing.DOWN; - } - if( z > 0.5 ) - { - this.currentFace = EnumFacing.SOUTH; - } - if( z < -0.5 ) - { - this.currentFace = EnumFacing.NORTH; - } - } - - public void setOverrideBlockTexture( final IAESprite object ) - { - this.overrideBlockTexture = object; - } - - public void finalizeModel( final boolean Flip ) - { - ModelRotation mr = ModelRotation.X0_Y0; - - if( Flip ) - { - mr = ModelRotation.X0_Y180; - } - - for( final SMFace face : this.faces ) - { - final EnumFacing myFace = face.getFace(); - final float[] uvs = this.getFaceUvs( myFace, face.getFrom(), face.getTo() ); - - final BlockFaceUV uv = new BlockFaceUV( uvs, 0 ); - final BlockPartFace bpf = new BlockPartFace( myFace, face.getColor(), "", uv ); - - BakedQuad bf = this.faceBakery.makeBakedQuad( face.getTo(), face.getFrom(), bpf, face.getSpite(), myFace, mr, null, true, true ); - bf = new BakedQuad( bf.getVertexData(), face.getColor(), bf.getFace(), Minecraft.getMinecraft().getTextureMapBlocks().getTextureExtry( TextureMap.LOCATION_BLOCKS_TEXTURE.toString() ), true, DefaultVertexFormats.POSITION_TEX ); - - if( face.isEdge() ) - { - this.generatedModel.faces[myFace.ordinal()].add( bf ); - } - else - { - this.generatedModel.general.add( bf ); - for( List list : this.generatedModel.faces ) - { - list.add( bf ); - } - } - } - } - - public IBakedModel getOutput() - { - return this.generatedModel; - } - - public IAESprite getOverrideBlockTexture() - { - return this.overrideBlockTexture; - } - - public IBlockAccess getBlockAccess() - { - return this.blockAccess; - } - - public void setBlockAccess( final IBlockAccess blockAccess ) - { - this.blockAccess = blockAccess; - } - - public boolean isRenderAllFaces() - { - return this.renderAllFaces; - } - - public void setRenderAllFaces( final boolean renderAllFaces ) - { - this.renderAllFaces = renderAllFaces; - } - - public int getUvRotateBottom() - { - return this.uvRotateBottom; - } - - public int setUvRotateBottom( final int uvRotateBottom ) - { - this.uvRotateBottom = uvRotateBottom; - return uvRotateBottom; - } - - public int getUvRotateEast() - { - return this.uvRotateEast; - } - - public int setUvRotateEast( final int uvRotateEast ) - { - this.uvRotateEast = uvRotateEast; - return uvRotateEast; - } - - public int getUvRotateNorth() - { - return this.uvRotateNorth; - } - - public int setUvRotateNorth( final int uvRotateNorth ) - { - this.uvRotateNorth = uvRotateNorth; - return uvRotateNorth; - } - - public int getUvRotateSouth() - { - return this.uvRotateSouth; - } - - public int setUvRotateSouth( final int uvRotateSouth ) - { - this.uvRotateSouth = uvRotateSouth; - return uvRotateSouth; - } - - public int getUvRotateTop() - { - return this.uvRotateTop; - } - - public int setUvRotateTop( final int uvRotateTop ) - { - this.uvRotateTop = uvRotateTop; - return uvRotateTop; - } - - public int getUvRotateWest() - { - return this.uvRotateWest; - } - - public int setUvRotateWest( final int uvRotateWest ) - { - this.uvRotateWest = uvRotateWest; - return uvRotateWest; - } - - public double getRenderMinX() - { - return this.renderMinX; - } - - public void setRenderMinX( final double renderMinX ) - { - this.renderMinX = renderMinX; - } - - public double getRenderMinY() - { - return this.renderMinY; - } - - public void setRenderMinY( final double renderMinY ) - { - this.renderMinY = renderMinY; - } - - public double getRenderMinZ() - { - return this.renderMinZ; - } - - public void setRenderMinZ( final double renderMinZ ) - { - this.renderMinZ = renderMinZ; - } - - public double getRenderMaxX() - { - return this.renderMaxX; - } - - public void setRenderMaxX( final double renderMaxX ) - { - this.renderMaxX = renderMaxX; - } - - public double getRenderMaxY() - { - return this.renderMaxY; - } - - public void setRenderMaxY( final double renderMaxY ) - { - this.renderMaxY = renderMaxY; - } - - public double getRenderMaxZ() - { - return this.renderMaxZ; - } - - public void setRenderMaxZ( final double renderMaxZ ) - { - this.renderMaxZ = renderMaxZ; - } - - public boolean isFlipTexture() - { - return this.flipTexture; - } - - public void setFlipTexture( final boolean flipTexture ) - { - this.flipTexture = flipTexture; - } - - public EnumSet getRenderFaces() - { - return this.renderFaces; - } - - public void setRenderFaces( final EnumSet renderFaces ) - { - this.renderFaces = renderFaces; - } -} diff --git a/src/main/java/appeng/client/render/BaseBlockRender.java b/src/main/java/appeng/client/render/BaseBlockRender.java deleted file mode 100644 index 288983e50..000000000 --- a/src/main/java/appeng/client/render/BaseBlockRender.java +++ /dev/null @@ -1,768 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import java.nio.FloatBuffer; -import java.util.EnumSet; - -import javax.annotation.Nullable; - -import org.lwjgl.BufferUtils; -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.client.renderer.block.model.ModelResourceLocation; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.entity.item.EntityItem; -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.IOrientable; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.texture.ExtraBlockTextures; -import appeng.core.AppEng; -import appeng.tile.AEBaseTile; -import appeng.util.Platform; - - -@SideOnly( Side.CLIENT ) -public class BaseBlockRender -{ - private static final int ORIENTATION_BITS = 7; - private static final int FLIP_H_BIT = 8; - private static final int FLIP_V_BIT = 16; - private static final byte[][][] ORIENTATION_MAP = new byte[6][6][6]; - - private final boolean hasTESR; - private final double renderDistance; - private final FloatBuffer rotMat = BufferUtils.createFloatBuffer( 16 ); - - private static int dynRender = 0; - private final ModelResourceLocation modelPath = new ModelResourceLocation( new ResourceLocation( AppEng.MOD_ID, "DynamicRender" + dynRender++ ), "inventory" ); - - public BaseBlockRender() - { - this( false, 20 ); - } - - public BaseBlockRender( final boolean enableTESR, final double renderDistance ) - { - this.hasTESR = enableTESR; - this.renderDistance = renderDistance; - setOriMap(); - } - - private static void setOriMap() - { - // pointed up... - ORIENTATION_MAP[0][3][1] = 0; - ORIENTATION_MAP[1][3][1] = 0; - ORIENTATION_MAP[2][3][1] = 0; - ORIENTATION_MAP[3][3][1] = 0; - ORIENTATION_MAP[4][3][1] = 0; - ORIENTATION_MAP[5][3][1] = 0; - - ORIENTATION_MAP[0][5][1] = 1; - ORIENTATION_MAP[1][5][1] = 2; - ORIENTATION_MAP[2][5][1] = 0; - ORIENTATION_MAP[3][5][1] = 0; - ORIENTATION_MAP[4][5][1] = 0; - ORIENTATION_MAP[5][5][1] = 0; - - ORIENTATION_MAP[0][2][1] = 3; - ORIENTATION_MAP[1][2][1] = 3; - ORIENTATION_MAP[2][2][1] = 0; - ORIENTATION_MAP[3][2][1] = 0; - ORIENTATION_MAP[4][2][1] = 0; - ORIENTATION_MAP[5][2][1] = 0; - - ORIENTATION_MAP[0][4][1] = 2; - ORIENTATION_MAP[1][4][1] = 1; - ORIENTATION_MAP[2][4][1] = 0; - ORIENTATION_MAP[3][4][1] = 0; - ORIENTATION_MAP[4][4][1] = 0; - ORIENTATION_MAP[5][4][1] = 0; - - // upside down - ORIENTATION_MAP[0][3][0] = FLIP_H_BIT; - ORIENTATION_MAP[1][3][0] = FLIP_H_BIT; - ORIENTATION_MAP[2][3][0] = 3; - ORIENTATION_MAP[3][3][0] = 3; - ORIENTATION_MAP[4][3][0] = 3; - ORIENTATION_MAP[5][3][0] = 3; - - ORIENTATION_MAP[0][4][0] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[1][4][0] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[2][4][0] = 3; - ORIENTATION_MAP[3][4][0] = 3; - ORIENTATION_MAP[4][4][0] = 3; - ORIENTATION_MAP[5][4][0] = 3; - - ORIENTATION_MAP[0][5][0] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[1][5][0] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[2][5][0] = 3; - ORIENTATION_MAP[3][5][0] = 3; - ORIENTATION_MAP[4][5][0] = 3; - ORIENTATION_MAP[5][5][0] = 3; - - ORIENTATION_MAP[0][2][0] = 3 | FLIP_H_BIT; - ORIENTATION_MAP[1][2][0] = 3 | FLIP_H_BIT; - ORIENTATION_MAP[2][2][0] = 3; - ORIENTATION_MAP[3][2][0] = 3; - ORIENTATION_MAP[4][2][0] = 3; - ORIENTATION_MAP[5][2][0] = 3; - - // side 1 - ORIENTATION_MAP[0][3][5] = 1 | FLIP_V_BIT; - ORIENTATION_MAP[1][3][5] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[2][3][5] = 1; - ORIENTATION_MAP[3][3][5] = 1; - ORIENTATION_MAP[4][3][5] = 1; - ORIENTATION_MAP[5][3][5] = 1 | FLIP_V_BIT; - - ORIENTATION_MAP[0][1][5] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[1][1][5] = 1; - ORIENTATION_MAP[2][1][5] = 3 | FLIP_V_BIT; - ORIENTATION_MAP[3][1][5] = 3; - ORIENTATION_MAP[4][1][5] = 1 | FLIP_V_BIT; - ORIENTATION_MAP[5][1][5] = 1; - - ORIENTATION_MAP[0][2][5] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[1][2][5] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[2][2][5] = 1; - ORIENTATION_MAP[3][2][5] = 2 | FLIP_V_BIT; - ORIENTATION_MAP[4][2][5] = 1 | FLIP_V_BIT; - ORIENTATION_MAP[5][2][5] = 1; - - ORIENTATION_MAP[0][0][5] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[1][0][5] = 1; - ORIENTATION_MAP[2][0][5] = 0; - ORIENTATION_MAP[3][0][5] = FLIP_V_BIT; - ORIENTATION_MAP[4][0][5] = 1; - ORIENTATION_MAP[5][0][5] = 1 | FLIP_V_BIT; - - // side 2 - ORIENTATION_MAP[0][1][2] = FLIP_H_BIT; - ORIENTATION_MAP[1][1][2] = 0; - ORIENTATION_MAP[2][1][2] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[3][1][2] = 1; - ORIENTATION_MAP[4][1][2] = 3; - ORIENTATION_MAP[5][1][2] = 3 | FLIP_H_BIT; - - ORIENTATION_MAP[0][4][2] = FLIP_H_BIT; - ORIENTATION_MAP[1][4][2] = FLIP_H_BIT; - ORIENTATION_MAP[2][4][2] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[3][4][2] = 1; - ORIENTATION_MAP[4][4][2] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[5][4][2] = 2; - - ORIENTATION_MAP[0][0][2] = FLIP_V_BIT; - ORIENTATION_MAP[1][0][2] = 0; - ORIENTATION_MAP[2][0][2] = 2; - ORIENTATION_MAP[3][0][2] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[4][0][2] = 3 | FLIP_H_BIT; - ORIENTATION_MAP[5][0][2] = 0; - - ORIENTATION_MAP[0][5][2] = FLIP_H_BIT; - ORIENTATION_MAP[1][5][2] = FLIP_H_BIT; - ORIENTATION_MAP[2][5][2] = 2; - ORIENTATION_MAP[3][5][2] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[4][5][2] = 2; - ORIENTATION_MAP[5][5][2] = 1 | FLIP_H_BIT; - - // side 3 - ORIENTATION_MAP[0][0][3] = 3 | FLIP_H_BIT; - ORIENTATION_MAP[1][0][3] = 3; - ORIENTATION_MAP[2][0][3] = 1; - ORIENTATION_MAP[3][0][3] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[4][0][3] = 0; - ORIENTATION_MAP[5][0][3] = FLIP_H_BIT; - - ORIENTATION_MAP[0][4][3] = 3; - ORIENTATION_MAP[1][4][3] = 3; - ORIENTATION_MAP[2][4][3] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[3][4][3] = 2; - ORIENTATION_MAP[4][4][3] = 1; - ORIENTATION_MAP[5][4][3] = 2 | FLIP_H_BIT; - - ORIENTATION_MAP[0][1][3] = 3 | FLIP_V_BIT; - ORIENTATION_MAP[1][1][3] = 3; - ORIENTATION_MAP[2][1][3] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[3][1][3] = 2; - ORIENTATION_MAP[4][1][3] = 3 | FLIP_H_BIT; - ORIENTATION_MAP[5][1][3] = 0; - - ORIENTATION_MAP[0][5][3] = 3; - ORIENTATION_MAP[1][5][3] = 3; - ORIENTATION_MAP[2][5][3] = 1; - ORIENTATION_MAP[3][5][3] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[4][5][3] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[5][5][3] = 1; - - // side 4 - ORIENTATION_MAP[0][3][4] = 1; - ORIENTATION_MAP[1][3][4] = 2; - ORIENTATION_MAP[2][3][4] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[3][3][4] = 1; - ORIENTATION_MAP[4][3][4] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[5][3][4] = 1; - - ORIENTATION_MAP[0][0][4] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[1][0][4] = 2; - ORIENTATION_MAP[2][0][4] = 0; - ORIENTATION_MAP[3][0][4] = FLIP_H_BIT; - ORIENTATION_MAP[4][0][4] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[5][0][4] = 1; - - ORIENTATION_MAP[0][1][4] = 1 | FLIP_H_BIT; - ORIENTATION_MAP[1][1][4] = 2; - ORIENTATION_MAP[2][1][4] = 3 | FLIP_H_BIT; - ORIENTATION_MAP[3][1][4] = 3; - ORIENTATION_MAP[4][1][4] = 2; - ORIENTATION_MAP[5][1][4] = 1 | FLIP_H_BIT; - - ORIENTATION_MAP[0][2][4] = 1; - ORIENTATION_MAP[1][2][4] = 2; - ORIENTATION_MAP[2][2][4] = 1; - ORIENTATION_MAP[3][2][4] = 2 | FLIP_H_BIT; - ORIENTATION_MAP[4][2][4] = 2; - ORIENTATION_MAP[5][2][4] = 1 | FLIP_H_BIT; - } - - public boolean hasTESR() - { - return this.hasTESR; - } - - protected int adjustBrightness( final int v, final double d ) - { - int r = 0xff & ( v >> 16 ); - int g = 0xff & ( v >> 8 ); - int b = 0xff & ( v ); - - r *= d; - g *= d; - b *= d; - - r = Math.min( 255, Math.max( 0, r ) ); - g = Math.min( 255, Math.max( 0, g ) ); - b = Math.min( 255, Math.max( 0, b ) ); - - return ( r << 16 ) | ( g << 8 ) | b; - } - - double getTesrRenderDistance() - { - return this.renderDistance; - } - - public void renderInventory( final B block, final ItemStack item, final ModelGenerator renderer, final appeng.client.ItemRenderType type, final Object[] data ) - { - final BlockRenderInfo info = block.getRendererInstance(); - if( info.isValid() ) - { - if( block.hasSubtypes() ) - { - block.setRenderStateByMeta( item.getItemDamage() ); - } - - renderer.setUvRotateBottom( info.getTexture( AEPartLocation.DOWN ).setFlip( getOrientation( EnumFacing.DOWN, EnumFacing.SOUTH, EnumFacing.UP ) ) ); - renderer.setUvRotateTop( info.getTexture( AEPartLocation.UP ).setFlip( getOrientation( EnumFacing.UP, EnumFacing.SOUTH, EnumFacing.UP ) ) ); - - renderer.setUvRotateEast( info.getTexture( AEPartLocation.EAST ).setFlip( getOrientation( EnumFacing.EAST, EnumFacing.SOUTH, EnumFacing.UP ) ) ); - renderer.setUvRotateWest( info.getTexture( AEPartLocation.WEST ).setFlip( getOrientation( EnumFacing.WEST, EnumFacing.SOUTH, EnumFacing.UP ) ) ); - - renderer.setUvRotateNorth( info.getTexture( AEPartLocation.NORTH ).setFlip( getOrientation( EnumFacing.NORTH, EnumFacing.SOUTH, EnumFacing.UP ) ) ); - renderer.setUvRotateSouth( info.getTexture( AEPartLocation.SOUTH ).setFlip( getOrientation( EnumFacing.SOUTH, EnumFacing.SOUTH, EnumFacing.UP ) ) ); - } - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), block, item, 0xffffff, renderer ); - - if( block.hasSubtypes() ) - { - info.setTemporaryRenderIcon( null ); - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - } - - static int getOrientation( final EnumFacing in, final EnumFacing forward, final EnumFacing up ) - { - if( in == null // 1 - || forward == null // 2 - || up == null ) - { - return 0; - } - - final int a = in.ordinal(); - final int b = forward.ordinal(); - final int c = up.ordinal(); - - return ORIENTATION_MAP[a][b][c]; - } - - public void renderInvBlock( final EnumSet sides, final B block, final ItemStack item, final int color, final ModelGenerator tess ) - { - if( block != null && block.hasSubtypes() && item != null ) - { - final int meta = item.getItemDamage(); - } - - final IAESprite[] icons = tess.getIcon( item == null ? block.getDefaultState() : block.getStateFromMeta( item.getMetadata() ) ); - final BlockPos zero = new BlockPos( 0, 0, 0 ); - - if( sides.contains( AEPartLocation.DOWN ) ) - { - tess.setNormal( 0.0F, -1.0F, 0.0F ); - tess.setColorOpaque_I( color ); - tess.renderFaceYNeg( block, zero, this.firstNotNull( tess.getOverrideBlockTexture(), block.getRendererInstance().getTexture( AEPartLocation.DOWN ), icons[AEPartLocation.DOWN.ordinal()] ) ); - } - - if( sides.contains( AEPartLocation.UP ) ) - { - tess.setNormal( 0.0F, 1.0F, 0.0F ); - tess.setColorOpaque_I( color ); - tess.renderFaceYPos( block, zero, this.firstNotNull( tess.getOverrideBlockTexture(), block.getRendererInstance().getTexture( AEPartLocation.UP ), icons[AEPartLocation.UP.ordinal()] ) ); - } - - if( sides.contains( AEPartLocation.NORTH ) ) - { - tess.setNormal( 0.0F, 0.0F, -1.0F ); - tess.setColorOpaque_I( color ); - tess.renderFaceZNeg( block, zero, this.firstNotNull( tess.getOverrideBlockTexture(), block.getRendererInstance().getTexture( AEPartLocation.NORTH ), icons[AEPartLocation.NORTH.ordinal()] ) ); - } - - if( sides.contains( AEPartLocation.SOUTH ) ) - { - tess.setNormal( 0.0F, 0.0F, 1.0F ); - tess.setColorOpaque_I( color ); - tess.renderFaceZPos( block, zero, this.firstNotNull( tess.getOverrideBlockTexture(), block.getRendererInstance().getTexture( AEPartLocation.SOUTH ), icons[AEPartLocation.SOUTH.ordinal()] ) ); - } - - if( sides.contains( AEPartLocation.WEST ) ) - { - tess.setNormal( -1.0F, 0.0F, 0.0F ); - tess.setColorOpaque_I( color ); - tess.renderFaceXNeg( block, zero, this.firstNotNull( tess.getOverrideBlockTexture(), block.getRendererInstance().getTexture( AEPartLocation.WEST ), icons[AEPartLocation.WEST.ordinal()] ) ); - } - - if( sides.contains( AEPartLocation.EAST ) ) - { - tess.setNormal( 1.0F, 0.0F, 0.0F ); - tess.setColorOpaque_I( color ); - tess.renderFaceXPos( block, zero, this.firstNotNull( tess.getOverrideBlockTexture(), block.getRendererInstance().getTexture( AEPartLocation.EAST ), icons[AEPartLocation.EAST.ordinal()] ) ); - } - } - - private IAESprite firstNotNull( final IAESprite... s ) - { - for( final IAESprite o : s ) - { - if( o != null ) - { - return o; - } - } - return ExtraBlockTextures.getMissing(); - } - - public boolean renderInWorld( final B block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - this.preRenderInWorld( block, world, pos, renderer ); - - final boolean o = renderer.renderStandardBlock( block, pos ); - - this.postRenderInWorld( renderer ); - return o; - } - - public void preRenderInWorld( final B block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - - final BlockRenderInfo info = block.getRendererInstance(); - final IOrientable te = this.getOrientable( block, world, pos ); - if( te != null ) - { - final EnumFacing forward = te.getForward(); - final EnumFacing up = te.getUp(); - - renderer.setUvRotateBottom( info.getTexture( AEPartLocation.DOWN ).setFlip( getOrientation( EnumFacing.DOWN, forward, up ) ) ); - renderer.setUvRotateTop( info.getTexture( AEPartLocation.UP ).setFlip( getOrientation( EnumFacing.UP, forward, up ) ) ); - - renderer.setUvRotateEast( info.getTexture( AEPartLocation.EAST ).setFlip( getOrientation( EnumFacing.EAST, forward, up ) ) ); - renderer.setUvRotateWest( info.getTexture( AEPartLocation.WEST ).setFlip( getOrientation( EnumFacing.WEST, forward, up ) ) ); - - renderer.setUvRotateNorth( info.getTexture( AEPartLocation.NORTH ).setFlip( getOrientation( EnumFacing.NORTH, forward, up ) ) ); - renderer.setUvRotateSouth( info.getTexture( AEPartLocation.SOUTH ).setFlip( getOrientation( EnumFacing.SOUTH, forward, up ) ) ); - } - } - - public void postRenderInWorld( final ModelGenerator renderer ) - { - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - } - - @Nullable - public IOrientable getOrientable( final B block, final IBlockAccess w, final BlockPos pos ) - { - return block.getOrientable( w, pos ); - } - - protected void setInvRenderBounds( final ModelGenerator renderer, final int i, final int j, final int k, final int l, final int m, final int n ) - { - renderer.setRenderBounds( i / 16.0, j / 16.0, k / 16.0, l / 16.0, m / 16.0, n / 16.0 ); - } - - protected void renderBlockBounds( final ModelGenerator renderer, - - double minX, double minY, double minZ, - - double maxX, double maxY, double maxZ, - - final EnumFacing x, final EnumFacing y, final EnumFacing z ) - { - minX /= 16.0; - minY /= 16.0; - minZ /= 16.0; - maxX /= 16.0; - maxY /= 16.0; - maxZ /= 16.0; - - double aX = minX * x.getFrontOffsetX() + minY * y.getFrontOffsetX() + minZ * z.getFrontOffsetX(); - double aY = minX * x.getFrontOffsetY() + minY * y.getFrontOffsetY() + minZ * z.getFrontOffsetY(); - double aZ = minX * x.getFrontOffsetZ() + minY * y.getFrontOffsetZ() + minZ * z.getFrontOffsetZ(); - - double bX = maxX * x.getFrontOffsetX() + maxY * y.getFrontOffsetX() + maxZ * z.getFrontOffsetX(); - double bY = maxX * x.getFrontOffsetY() + maxY * y.getFrontOffsetY() + maxZ * z.getFrontOffsetY(); - double bZ = maxX * x.getFrontOffsetZ() + maxY * y.getFrontOffsetZ() + maxZ * z.getFrontOffsetZ(); - - if( x.getFrontOffsetX() + y.getFrontOffsetX() + z.getFrontOffsetX() < 0 ) - { - aX += 1; - bX += 1; - } - - if( x.getFrontOffsetY() + y.getFrontOffsetY() + z.getFrontOffsetY() < 0 ) - { - aY += 1; - bY += 1; - } - - if( x.getFrontOffsetZ() + y.getFrontOffsetZ() + z.getFrontOffsetZ() < 0 ) - { - aZ += 1; - bZ += 1; - } - - renderer.setRenderMinX( Math.min( aX, bX ) ); - renderer.setRenderMinY( Math.min( aY, bY ) ); - renderer.setRenderMinZ( Math.min( aZ, bZ ) ); - renderer.setRenderMaxX( Math.max( aX, bX ) ); - renderer.setRenderMaxY( Math.max( aY, bY ) ); - renderer.setRenderMaxZ( Math.max( aZ, bZ ) ); - } - - @SideOnly( Side.CLIENT ) - protected void renderCutoutFace( final B block, final IAESprite ico, final BlockPos pos, final ModelGenerator tess, final EnumFacing orientation, final float edgeThickness ) - { - double offsetX = 0.0; - double offsetY = 0.0; - double offsetZ = 0.0; - double layerAX = 0.0; - double layerAZ = 0.0; - double layerBY = 0.0; - double layerBZ = 0.0; - - boolean flip = false; - switch( orientation ) - { - case NORTH: - - layerAX = 1.0; - layerBY = 1.0; - flip = true; - - break; - case SOUTH: - - layerAX = 1.0; - layerBY = 1.0; - offsetZ = 1.0; - - break; - case EAST: - - flip = true; - layerAZ = 1.0; - layerBY = 1.0; - offsetX = 1.0; - - break; - case WEST: - - layerAZ = 1.0; - layerBY = 1.0; - - break; - case UP: - - flip = true; - layerAX = 1.0; - layerBZ = 1.0; - offsetY = 1.0; - - break; - case DOWN: - - layerAX = 1.0; - layerBZ = 1.0; - - break; - default: - break; - } - - offsetX += pos.getX(); - offsetY += pos.getY(); - offsetZ += pos.getZ(); - - final double layerBX = 0.0; - final double layerAY = 0.0; - this.renderFace( orientation, tess, offsetX, offsetY, offsetZ, layerAX, layerAY, layerAZ, layerBX, layerBY, layerBZ, - // u -> u - 0, 1.0, - // v -> v - 0, edgeThickness, ico, flip ); - - this.renderFace( orientation, tess, offsetX, offsetY, offsetZ, layerAX, layerAY, layerAZ, layerBX, layerBY, layerBZ, - // u -> u - 0.0, edgeThickness, - // v -> v - edgeThickness, 1.0 - edgeThickness, ico, flip ); - - this.renderFace( orientation, tess, offsetX, offsetY, offsetZ, layerAX, layerAY, layerAZ, layerBX, layerBY, layerBZ, - // u -> u - 1.0 - edgeThickness, 1.0, - // v -> v - edgeThickness, 1.0 - edgeThickness, ico, flip ); - - this.renderFace( orientation, tess, offsetX, offsetY, offsetZ, layerAX, layerAY, layerAZ, layerBX, layerBY, layerBZ, - // u -> u - 0, 1.0, - // v -> v - 1.0 - edgeThickness, 1.0, ico, flip ); - } - - @SideOnly( Side.CLIENT ) - private void renderFace( final EnumFacing face, final ModelGenerator tess, final double offsetX, final double offsetY, final double offsetZ, final double ax, final double ay, final double az, final double bx, final double by, final double bz, final double ua, final double ub, final double va, final double vb, final IAESprite ico, final boolean flip ) - { - if( flip ) - { - tess.addVertexWithUV( face, offsetX + ax * ua + bx * va, offsetY + ay * ua + by * va, offsetZ + az * ua + bz * va, ico.getInterpolatedU( ua * 16.0 ), ico.getInterpolatedV( va * 16.0 ) ); - tess.addVertexWithUV( face, offsetX + ax * ua + bx * vb, offsetY + ay * ua + by * vb, offsetZ + az * ua + bz * vb, ico.getInterpolatedU( ua * 16.0 ), ico.getInterpolatedV( vb * 16.0 ) ); - tess.addVertexWithUV( face, offsetX + ax * ub + bx * vb, offsetY + ay * ub + by * vb, offsetZ + az * ub + bz * vb, ico.getInterpolatedU( ub * 16.0 ), ico.getInterpolatedV( vb * 16.0 ) ); - tess.addVertexWithUV( face, offsetX + ax * ub + bx * va, offsetY + ay * ub + by * va, offsetZ + az * ub + bz * va, ico.getInterpolatedU( ub * 16.0 ), ico.getInterpolatedV( va * 16.0 ) ); - } - else - { - tess.addVertexWithUV( face, offsetX + ax * ua + bx * va, offsetY + ay * ua + by * va, offsetZ + az * ua + bz * va, ico.getInterpolatedU( ua * 16.0 ), ico.getInterpolatedV( va * 16.0 ) ); - tess.addVertexWithUV( face, offsetX + ax * ub + bx * va, offsetY + ay * ub + by * va, offsetZ + az * ub + bz * va, ico.getInterpolatedU( ub * 16.0 ), ico.getInterpolatedV( va * 16.0 ) ); - tess.addVertexWithUV( face, offsetX + ax * ub + bx * vb, offsetY + ay * ub + by * vb, offsetZ + az * ub + bz * vb, ico.getInterpolatedU( ub * 16.0 ), ico.getInterpolatedV( vb * 16.0 ) ); - tess.addVertexWithUV( face, offsetX + ax * ua + bx * vb, offsetY + ay * ua + by * vb, offsetZ + az * ua + bz * vb, ico.getInterpolatedU( ua * 16.0 ), ico.getInterpolatedV( vb * 16.0 ) ); - } - } - - @SideOnly( Side.CLIENT ) - protected void renderFace( final BlockPos pos, final B block, final IAESprite ico, final ModelGenerator renderer, final EnumFacing orientation ) - { - switch( orientation ) - { - case NORTH: - renderer.renderFaceZNeg( block, pos, ico ); - break; - case SOUTH: - renderer.renderFaceZPos( block, pos, ico ); - break; - case EAST: - renderer.renderFaceXPos( block, pos, ico ); - break; - case WEST: - renderer.renderFaceXNeg( block, pos, ico ); - break; - case UP: - renderer.renderFaceYPos( block, pos, ico ); - break; - case DOWN: - renderer.renderFaceYNeg( block, pos, ico ); - break; - default: - break; - } - } - - public void selectFace( final ModelGenerator renderer, final EnumFacing west, final EnumFacing up, final EnumFacing forward, final int u1, final int u2, int v1, int v2 ) - { - v1 = 16 - v1; - v2 = 16 - v2; - - final double minX = ( forward.getFrontOffsetX() > 0 ? 1 : 0 ) + this.mapFaceUV( west.getFrontOffsetX(), u1 ) + this.mapFaceUV( up.getFrontOffsetX(), v1 ); - final double minY = ( forward.getFrontOffsetY() > 0 ? 1 : 0 ) + this.mapFaceUV( west.getFrontOffsetY(), u1 ) + this.mapFaceUV( up.getFrontOffsetY(), v1 ); - final double minZ = ( forward.getFrontOffsetZ() > 0 ? 1 : 0 ) + this.mapFaceUV( west.getFrontOffsetZ(), u1 ) + this.mapFaceUV( up.getFrontOffsetZ(), v1 ); - - final double maxX = ( forward.getFrontOffsetX() > 0 ? 1 : 0 ) + this.mapFaceUV( west.getFrontOffsetX(), u2 ) + this.mapFaceUV( up.getFrontOffsetX(), v2 ); - final double maxY = ( forward.getFrontOffsetY() > 0 ? 1 : 0 ) + this.mapFaceUV( west.getFrontOffsetY(), u2 ) + this.mapFaceUV( up.getFrontOffsetY(), v2 ); - final double maxZ = ( forward.getFrontOffsetZ() > 0 ? 1 : 0 ) + this.mapFaceUV( west.getFrontOffsetZ(), u2 ) + this.mapFaceUV( up.getFrontOffsetZ(), v2 ); - - renderer.setRenderMinX( Math.max( 0.0, Math.min( minX, maxX ) - ( forward.getFrontOffsetX() != 0 ? 0 : 0.001 ) ) ); - renderer.setRenderMaxX( Math.min( 1.0, Math.max( minX, maxX ) + ( forward.getFrontOffsetX() != 0 ? 0 : 0.001 ) ) ); - - renderer.setRenderMinY( Math.max( 0.0, Math.min( minY, maxY ) - ( forward.getFrontOffsetY() != 0 ? 0 : 0.001 ) ) ); - renderer.setRenderMaxY( Math.min( 1.0, Math.max( minY, maxY ) + ( forward.getFrontOffsetY() != 0 ? 0 : 0.001 ) ) ); - - renderer.setRenderMinZ( Math.max( 0.0, Math.min( minZ, maxZ ) - ( forward.getFrontOffsetZ() != 0 ? 0 : 0.001 ) ) ); - renderer.setRenderMaxZ( Math.min( 1.0, Math.max( minZ, maxZ ) + ( forward.getFrontOffsetZ() != 0 ? 0 : 0.001 ) ) ); - } - - private double mapFaceUV( final int offset, final int uv ) - { - if( offset == 0 ) - { - return 0; - } - - if( offset > 0 ) - { - return uv / 16.0; - } - - return ( 16.0 - uv ) / 16.0; - } - - public void renderTile( final B block, final T tile, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderer ) - { - - renderer.setUvRotateBottom( renderer.setUvRotateTop( renderer.setUvRotateEast( renderer.setUvRotateWest( renderer.setUvRotateNorth( renderer.setUvRotateSouth( 0 ) ) ) ) ) ); - - final AEPartLocation up = AEPartLocation.UP; - final AEPartLocation forward = AEPartLocation.SOUTH; - this.applyTESRRotation( x, y, z, forward.getFacing(), up.getFacing() ); - - Minecraft.getMinecraft().getTextureManager().bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ); - RenderHelper.disableStandardItemLighting(); - - if( Minecraft.isAmbientOcclusionEnabled() ) - { - GL11.glShadeModel( GL11.GL_SMOOTH ); - } - else - { - GL11.glShadeModel( GL11.GL_FLAT ); - } - - GL11.glColor4f( 1.0f, 1.0f, 1.0f, 1.0f ); - - final BlockPos pos = tile.getPos(); - renderer.setTranslation( -pos.getX(), -pos.getY(), -pos.getZ() ); - - // note that this is a terrible approach... - renderer.setRenderBoundsFromBlock( block.getDefaultState(), pos ); - renderer.renderStandardBlock( block, pos ); - - renderer.setTranslation( 0, 0, 0 ); - RenderHelper.enableStandardItemLighting(); - - renderer.setUvRotateBottom( renderer.setUvRotateTop( renderer.setUvRotateEast( renderer.setUvRotateWest( renderer.setUvRotateNorth( renderer.setUvRotateSouth( 0 ) ) ) ) ) ); - } - - protected void applyTESRRotation( final double x, final double y, final double z, final EnumFacing forward, final EnumFacing up ) - { - if( forward != null && up != null ) - { - final EnumFacing west = Platform.crossProduct( forward, up ); - - this.rotMat.put( 0, west.getFrontOffsetX() ); - this.rotMat.put( 1, west.getFrontOffsetY() ); - this.rotMat.put( 2, west.getFrontOffsetZ() ); - this.rotMat.put( 3, 0 ); - - this.rotMat.put( 4, up.getFrontOffsetX() ); - this.rotMat.put( 5, up.getFrontOffsetY() ); - this.rotMat.put( 6, up.getFrontOffsetZ() ); - this.rotMat.put( 7, 0 ); - - this.rotMat.put( 8, forward.getFrontOffsetX() ); - this.rotMat.put( 9, forward.getFrontOffsetY() ); - this.rotMat.put( 10, forward.getFrontOffsetZ() ); - this.rotMat.put( 11, 0 ); - - this.rotMat.put( 12, 0 ); - this.rotMat.put( 13, 0 ); - this.rotMat.put( 14, 0 ); - this.rotMat.put( 15, 1 ); - GL11.glTranslated( x + 0.5, y + 0.5, z + 0.5 ); - GL11.glMultMatrix( this.rotMat ); - GL11.glTranslated( -0.5, -0.5, -0.5 ); - } - else - { - GL11.glTranslated( x, y, z ); - } - } - - public void doRenderItem( final ItemStack itemstack, final TileEntity par1EntityItemFrame ) - { - if( itemstack != null ) - { - final EntityItem entityitem = new EntityItem( par1EntityItemFrame.getWorld(), 0.0D, 0.0D, 0.0D, itemstack ); - entityitem.getEntityItem().stackSize = 1; - - // set all this stuff and then do shit? meh? - entityitem.hoverStart = 0; - entityitem.setNoDespawn(); - entityitem.rotationYaw = 0; - - GL11.glPushMatrix(); - GL11.glTranslatef( 0, -0.14F, 0 ); - - // RenderItem.renderInFrame = true; - Minecraft.getMinecraft().getRenderManager().doRenderEntity( entityitem, 0.0D, 0.0D, 0.0D, 0.0F, 0.0F, true ); - // RenderItem.renderInFrame = false; - - GL11.glPopMatrix(); - } - } - - public ModelResourceLocation getResourcePath() - { - return this.modelPath; - } -} diff --git a/src/main/java/appeng/client/render/BlockRenderInfo.java b/src/main/java/appeng/client/render/BlockRenderInfo.java deleted file mode 100644 index a2b558a6c..000000000 --- a/src/main/java/appeng/client/render/BlockRenderInfo.java +++ /dev/null @@ -1,143 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.client.texture.FlippableIcon; -import appeng.client.texture.TmpFlippableIcon; - - -public class BlockRenderInfo -{ - - private final BaseBlockRender rendererInstance; - private final TmpFlippableIcon tmpTopIcon = new TmpFlippableIcon(); - private final TmpFlippableIcon tmpBottomIcon = new TmpFlippableIcon(); - private final TmpFlippableIcon tmpSouthIcon = new TmpFlippableIcon(); - private final TmpFlippableIcon tmpNorthIcon = new TmpFlippableIcon(); - private final TmpFlippableIcon tmpEastIcon = new TmpFlippableIcon(); - private final TmpFlippableIcon tmpWestIcon = new TmpFlippableIcon(); - private boolean useTmp = false; - private FlippableIcon topIcon = null; - private FlippableIcon bottomIcon = null; - private FlippableIcon southIcon = null; - private FlippableIcon northIcon = null; - private FlippableIcon eastIcon = null; - private FlippableIcon westIcon = null; - - public BlockRenderInfo( final BaseBlockRender inst ) - { - this.rendererInstance = inst; - } - - public void updateIcons( final FlippableIcon bottom, final FlippableIcon top, final FlippableIcon north, final FlippableIcon south, final FlippableIcon east, final FlippableIcon west ) - { - this.topIcon = top; - this.bottomIcon = bottom; - this.southIcon = south; - this.northIcon = north; - this.eastIcon = east; - this.westIcon = west; - } - - public void setTemporaryRenderIcon( final IAESprite icon ) - { - if( icon == null ) - { - this.useTmp = false; - } - else - { - this.useTmp = true; - this.tmpTopIcon.setOriginal( icon ); - this.tmpBottomIcon.setOriginal( icon ); - this.tmpSouthIcon.setOriginal( icon ); - this.tmpNorthIcon.setOriginal( icon ); - this.tmpEastIcon.setOriginal( icon ); - this.tmpWestIcon.setOriginal( icon ); - } - } - - public void setTemporaryRenderIcons( final IAESprite nTopIcon, final IAESprite nBottomIcon, final IAESprite nSouthIcon, final IAESprite nNorthIcon, final IAESprite nEastIcon, final IAESprite nWestIcon ) - { - this.tmpTopIcon.setOriginal( nTopIcon == null ? this.getTexture( AEPartLocation.UP ) : nTopIcon ); - this.tmpBottomIcon.setOriginal( nBottomIcon == null ? this.getTexture( AEPartLocation.DOWN ) : nBottomIcon ); - this.tmpSouthIcon.setOriginal( nSouthIcon == null ? this.getTexture( AEPartLocation.SOUTH ) : nSouthIcon ); - this.tmpNorthIcon.setOriginal( nNorthIcon == null ? this.getTexture( AEPartLocation.NORTH ) : nNorthIcon ); - this.tmpEastIcon.setOriginal( nEastIcon == null ? this.getTexture( AEPartLocation.EAST ) : nEastIcon ); - this.tmpWestIcon.setOriginal( nWestIcon == null ? this.getTexture( AEPartLocation.WEST ) : nWestIcon ); - this.useTmp = true; - } - - public FlippableIcon getTexture( final AEPartLocation dir ) - { - if( this.useTmp ) - { - switch( dir ) - { - case DOWN: - return this.tmpBottomIcon; - case UP: - return this.tmpTopIcon; - case NORTH: - return this.tmpNorthIcon; - case SOUTH: - return this.tmpSouthIcon; - case EAST: - return this.tmpEastIcon; - case WEST: - return this.tmpWestIcon; - default: - break; - } - } - - switch( dir ) - { - case DOWN: - return this.bottomIcon; - case UP: - return this.topIcon; - case NORTH: - return this.northIcon; - case SOUTH: - return this.southIcon; - case EAST: - return this.eastIcon; - case WEST: - return this.westIcon; - default: - break; - } - - return this.topIcon; - } - - boolean isValid() - { - return this.topIcon != null && this.bottomIcon != null && this.southIcon != null && this.northIcon != null && this.eastIcon != null && this.westIcon != null; - } - - public BaseBlockRender getRendererInstance() - { - return this.rendererInstance; - } -} diff --git a/src/main/java/appeng/client/render/BusRenderHelper.java b/src/main/java/appeng/client/render/BusRenderHelper.java deleted file mode 100644 index e8cabceba..000000000 --- a/src/main/java/appeng/client/render/BusRenderHelper.java +++ /dev/null @@ -1,546 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2015, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import java.util.EnumSet; - -import javax.annotation.Nullable; - -import com.google.common.base.Function; -import com.google.common.base.Optional; - -import net.minecraft.block.Block; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.AEApi; -import appeng.api.exceptions.MissingDefinition; -import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartRenderHelper; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.core.AEConfig; -import appeng.core.features.AEFeature; -import appeng.tile.AEBaseTile; - - -@SideOnly( Side.CLIENT ) -public final class BusRenderHelper implements IPartRenderHelper -{ - public static final BusRenderHelper INSTANCE = new BusRenderHelper(); - private static final int HEX_WHITE = 0xffffff; - - private final BoundBoxCalculator bbc; - private final boolean noAlphaPass; - private final BaseBlockRender bbr; - private final Optional maybeBlock; - private final Optional maybeBaseBlock; - private int renderingForPass; - private int currentPass; - private int itemsRendered; - private double minX; - private double minY; - private double minZ; - private double maxX; - private double maxY; - private double maxZ; - private EnumFacing ax; - private EnumFacing ay; - private EnumFacing az; - private int color; - - public BusRenderHelper() - { - this.bbc = new BoundBoxCalculator( this ); - this.noAlphaPass = !AEConfig.instance.isFeatureEnabled( AEFeature.AlphaPass ); - this.bbr = new BaseBlockRender(); - this.renderingForPass = 0; - this.currentPass = 0; - this.itemsRendered = 0; - this.minX = 0; - this.minY = 0; - this.minZ = 0; - this.maxX = 16; - this.maxY = 16; - this.maxZ = 16; - this.ax = EnumFacing.EAST; - this.az = EnumFacing.SOUTH; - this.ay = EnumFacing.UP; - this.color = HEX_WHITE; - this.maybeBlock = AEApi.instance().definitions().blocks().multiPart().maybeBlock(); - this.maybeBaseBlock = this.maybeBlock.transform( new BaseBlockTransformFunction() ); - } - - public int getItemsRendered() - { - return this.itemsRendered; - } - - public void setPass( final int pass ) - { - this.renderingForPass = 0; - this.currentPass = pass; - this.itemsRendered = 0; - } - - public double getBound( final AEPartLocation side ) - { - switch( side ) - { - default: - case INTERNAL: - return 0.5; - case DOWN: - return this.minY; - case EAST: - return this.maxX; - case NORTH: - return this.minZ; - case SOUTH: - return this.maxZ; - case UP: - return this.maxY; - case WEST: - return this.minX; - } - } - - /* - * public void setRenderColor( int color ) - * { - * for( Block block : AEApi.instance().definitions().blocks().multiPart().maybeBlock().asSet() ) - * { - * final BlockCableBus cableBus = (BlockCableBus) block; - * cableBus.setRenderColor( color ); - * } - * } - */ - - public void setOrientation( final EnumFacing dx, final EnumFacing dy, final EnumFacing dz ) - { - this.ax = dx == null ? EnumFacing.EAST : dx; - this.ay = dy == null ? EnumFacing.UP : dy; - this.az = dz == null ? EnumFacing.SOUTH : dz; - } - - public double[] getBounds() - { - return new double[] { this.minX, this.minY, this.minZ, this.maxX, this.maxY, this.maxZ }; - } - - public void setBounds( final double[] bounds ) - { - if( bounds == null || bounds.length != 6 ) - { - return; - } - - this.minX = bounds[0]; - this.minY = bounds[1]; - this.minZ = bounds[2]; - this.maxX = bounds[3]; - this.maxY = bounds[4]; - this.maxZ = bounds[5]; - } - - private static class BoundBoxCalculator implements IPartCollisionHelper - { - private final BusRenderHelper helper; - private boolean started = false; - - private float minX; - private float minY; - private float minZ; - - private float maxX; - private float maxY; - private float maxZ; - - public BoundBoxCalculator( final BusRenderHelper helper ) - { - this.helper = helper; - } - - @Override - public void addBox( final double minX, final double minY, final double minZ, final double maxX, final double maxY, final double maxZ ) - { - if( this.started ) - { - this.minX = Math.min( this.minX, (float) minX ); - this.minY = Math.min( this.minY, (float) minY ); - this.minZ = Math.min( this.minZ, (float) minZ ); - this.maxX = Math.max( this.maxX, (float) maxX ); - this.maxY = Math.max( this.maxY, (float) maxY ); - this.maxZ = Math.max( this.maxZ, (float) maxZ ); - } - else - { - this.started = true; - this.minX = (float) minX; - this.minY = (float) minY; - this.minZ = (float) minZ; - this.maxX = (float) maxX; - this.maxY = (float) maxY; - this.maxZ = (float) maxZ; - } - } - - @Override - public EnumFacing getWorldX() - { - return this.helper.ax; - } - - @Override - public EnumFacing getWorldY() - { - return this.helper.ay; - } - - @Override - public EnumFacing getWorldZ() - { - return this.helper.az; - } - - @Override - public boolean isBBCollision() - { - return false; - } - } - - private static final class BaseBlockTransformFunction implements Function - { - @Nullable - @Override - public AEBaseBlock apply( final Block input ) - { - if( input instanceof AEBaseBlock ) - { - return( (AEBaseBlock) input ); - } - - return null; - } - } - - @Override - public void renderForPass( final int pass ) - { - this.renderingForPass = pass; - } - - private boolean renderThis() - { - if( this.renderingForPass == this.currentPass || this.noAlphaPass ) - { - this.itemsRendered++; - return true; - } - return false; - } - - @Override - public void setBounds( final float minX, final float minY, final float minZ, final float maxX, final float maxY, final float maxZ ) - { - this.minX = minX; - this.minY = minY; - this.minZ = minZ; - this.maxX = maxX; - this.maxY = maxY; - this.maxZ = maxZ; - } - - @Override - public void setInvColor( final int newColor ) - { - this.color = newColor; - } - - @Override - public void setTexture( final IAESprite ico ) - { - for( final AEBaseBlock baseBlock : this.maybeBaseBlock.asSet() ) - { - baseBlock.getRendererInstance().setTemporaryRenderIcon( ico ); - } - } - - @Override - public void setTexture( final IAESprite down, final IAESprite up, final IAESprite north, final IAESprite south, final IAESprite west, final IAESprite east ) - { - final IAESprite[] list = new IAESprite[6]; - - list[0] = down; - list[1] = up; - list[2] = north; - list[3] = south; - list[4] = west; - list[5] = east; - - for( final AEBaseBlock baseBlock : this.maybeBaseBlock.asSet() ) - { - baseBlock.getRendererInstance().setTemporaryRenderIcons( list[this.mapRotation( EnumFacing.UP ).ordinal()], list[this.mapRotation( EnumFacing.DOWN ).ordinal()], list[this.mapRotation( EnumFacing.SOUTH ).ordinal()], list[this.mapRotation( EnumFacing.NORTH ).ordinal()], list[this.mapRotation( EnumFacing.EAST ).ordinal()], list[this.mapRotation( EnumFacing.WEST ).ordinal()] ); - } - } - - private EnumFacing mapRotation( final EnumFacing dir ) - { - final EnumFacing forward = this.az; - final EnumFacing up = this.ay; - - if( forward == null || up == null ) - { - return dir; - } - - final int west_x = forward.getFrontOffsetY() * up.getFrontOffsetZ() - forward.getFrontOffsetZ() * up.getFrontOffsetY(); - final int west_y = forward.getFrontOffsetZ() * up.getFrontOffsetX() - forward.getFrontOffsetX() * up.getFrontOffsetZ(); - final int west_z = forward.getFrontOffsetX() * up.getFrontOffsetY() - forward.getFrontOffsetY() * up.getFrontOffsetX(); - - EnumFacing west = null; - for( final EnumFacing dx : EnumFacing.VALUES ) - { - if( dx.getFrontOffsetX() == west_x && dx.getFrontOffsetY() == west_y && dx.getFrontOffsetZ() == west_z ) - { - west = dx; - } - } - - if( dir == forward ) - { - return EnumFacing.SOUTH; - } - if( dir == forward.getOpposite() ) - { - return EnumFacing.NORTH; - } - - if( dir == up ) - { - return EnumFacing.UP; - } - if( dir == up.getOpposite() ) - { - return EnumFacing.DOWN; - } - - if( dir == west ) - { - return EnumFacing.WEST; - } - if( dir == west.getOpposite() ) - { - return EnumFacing.EAST; - } - - return null; - } - - @Override - public void renderInventoryBox( final ModelGenerator renderer ) - { - renderer.setRenderBounds( this.minX / 16.0, this.minY / 16.0, this.minZ / 16.0, this.maxX / 16.0, this.maxY / 16.0, this.maxZ / 16.0 ); - - for( final AEBaseBlock baseBlock : this.maybeBaseBlock.asSet() ) - { - this.bbr.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), baseBlock, null, this.color, renderer ); - } - } - - @Override - public void renderInventoryFace( final IAESprite icon, final EnumFacing face, final ModelGenerator renderer ) - { - renderer.setRenderBounds( this.minX / 16.0, this.minY / 16.0, this.minZ / 16.0, this.maxX / 16.0, this.maxY / 16.0, this.maxZ / 16.0 ); - this.setTexture( icon ); - - for( final AEBaseBlock baseBlock : this.maybeBaseBlock.asSet() ) - { - this.bbr.renderInvBlock( EnumSet.of( AEPartLocation.fromFacing( face ) ), baseBlock, null, this.color, renderer ); - } - } - - @Override - public void renderBlock( final BlockPos pos, final ModelGenerator renderer ) - { - if( !this.renderThis() ) - { - return; - } - - for( final Block multiPart : AEApi.instance().definitions().blocks().multiPart().maybeBlock().asSet() ) - { - final AEBaseBlock block = (AEBaseBlock) multiPart; - - final BlockRenderInfo info = block.getRendererInstance(); - final EnumFacing forward = BusRenderHelper.INSTANCE.az; - final EnumFacing up = BusRenderHelper.INSTANCE.ay; - - renderer.setUvRotateBottom( info.getTexture( AEPartLocation.DOWN ).setFlip( BaseBlockRender.getOrientation( EnumFacing.DOWN, forward, up ) ) ); - renderer.setUvRotateTop( info.getTexture( AEPartLocation.UP ).setFlip( BaseBlockRender.getOrientation( EnumFacing.UP, forward, up ) ) ); - - renderer.setUvRotateEast( info.getTexture( AEPartLocation.EAST ).setFlip( BaseBlockRender.getOrientation( EnumFacing.EAST, forward, up ) ) ); - renderer.setUvRotateWest( info.getTexture( AEPartLocation.WEST ).setFlip( BaseBlockRender.getOrientation( EnumFacing.WEST, forward, up ) ) ); - - renderer.setUvRotateNorth( info.getTexture( AEPartLocation.NORTH ).setFlip( BaseBlockRender.getOrientation( EnumFacing.NORTH, forward, up ) ) ); - renderer.setUvRotateSouth( info.getTexture( AEPartLocation.SOUTH ).setFlip( BaseBlockRender.getOrientation( EnumFacing.SOUTH, forward, up ) ) ); - - this.bbr.renderBlockBounds( renderer, this.minX, this.minY, this.minZ, this.maxX, this.maxY, this.maxZ, this.ax, this.ay, this.az ); - - renderer.renderStandardBlock( block, pos ); - } - } - - @Override - public Block getBlock() - { - for( final Block block : AEApi.instance().definitions().blocks().multiPart().maybeBlock().asSet() ) - { - return block; - } - - throw new MissingDefinition( "Tried to access the multi part block without it being defined." ); - } - - public void prepareBounds( final ModelGenerator renderer ) - { - this.bbr.renderBlockBounds( renderer, this.minX, this.minY, this.minZ, this.maxX, this.maxY, this.maxZ, this.ax, this.ay, this.az ); - } - - @Override - public void setFacesToRender( final EnumSet faces ) - { - BusRenderer.INSTANCE.getRenderer().setRenderFaces( faces ); - } - - @Override - public void renderBlockCurrentBounds( final BlockPos pos, final ModelGenerator renderer ) - { - if( !this.renderThis() ) - { - return; - } - - for( final Block block : this.maybeBlock.asSet() ) - { - renderer.renderStandardBlock( block, pos ); - } - } - - @Override - public void renderFaceCutout( final BlockPos pos, final IAESprite ico, EnumFacing face, final float edgeThickness, final ModelGenerator renderer ) - { - if( !this.renderThis() ) - { - return; - } - - switch( face ) - { - case DOWN: - face = this.ay.getOpposite(); - break; - case EAST: - face = this.ax; - break; - case NORTH: - face = this.az.getOpposite(); - break; - case SOUTH: - face = this.az; - break; - case UP: - face = this.ay; - break; - case WEST: - face = this.ax.getOpposite(); - break; - default: - break; - } - - for( final AEBaseBlock block : this.maybeBaseBlock.asSet() ) - { - this.bbr.renderCutoutFace( block, ico, pos, renderer, face, edgeThickness ); - } - } - - @Override - public void renderFace( final BlockPos pos, final IAESprite ico, EnumFacing face, final ModelGenerator renderer ) - { - if( !this.renderThis() ) - { - return; - } - - this.prepareBounds( renderer ); - switch( face ) - { - case DOWN: - face = this.ay.getOpposite(); - break; - case EAST: - face = this.ax; - break; - case NORTH: - face = this.az.getOpposite(); - break; - case SOUTH: - face = this.az; - break; - case UP: - face = this.ay; - break; - case WEST: - face = this.ax.getOpposite(); - break; - default: - break; - } - - for( final AEBaseBlock block : this.maybeBaseBlock.asSet() ) - { - this.bbr.renderFace( pos, block, ico, renderer, face ); - } - } - - @Override - public EnumFacing getWorldX() - { - return this.ax; - } - - @Override - public EnumFacing getWorldY() - { - return this.ay; - } - - @Override - public EnumFacing getWorldZ() - { - return this.az; - } -} diff --git a/src/main/java/appeng/client/render/BusRenderer.java b/src/main/java/appeng/client/render/BusRenderer.java deleted file mode 100644 index 6d20bb07a..000000000 --- a/src/main/java/appeng/client/render/BusRenderer.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import appeng.api.util.ModelGenerator; - - -public class BusRenderer -{ - - public static BusRenderer INSTANCE = new BusRenderer(); - - public ModelGenerator mg; - - public ModelGenerator getRenderer() - { - return this.mg; - } - - public void setRenderer( ModelGenerator renderer ) - { - this.mg = renderer; - } - -} diff --git a/src/main/java/appeng/client/render/CableRenderHelper.java b/src/main/java/appeng/client/render/CableRenderHelper.java deleted file mode 100644 index e166bd1e0..000000000 --- a/src/main/java/appeng/client/render/CableRenderHelper.java +++ /dev/null @@ -1,285 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import java.util.ArrayList; -import java.util.List; - -import net.minecraft.client.Minecraft; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.AxisAlignedBB; -import net.minecraftforge.client.MinecraftForgeClient; - -import appeng.api.parts.IFacadeContainer; -import appeng.api.parts.IFacadePart; -import appeng.api.parts.IPart; -import appeng.api.util.AEAxisAlignedBB; -import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; -import appeng.parts.BusCollisionHelper; -import appeng.parts.CableBusContainer; - - -public class CableRenderHelper -{ - - private static final CableRenderHelper INSTANCE = new CableRenderHelper(); - - public static CableRenderHelper getInstance() - { - return INSTANCE; - } - - public void renderStatic( final CableBusContainer cableBusContainer, final IFacadeContainer iFacadeContainer ) - { - final TileEntity te = cableBusContainer.getTile(); - final ModelGenerator renderer = BusRenderer.INSTANCE.getRenderer(); - - if( renderer.getOverrideBlockTexture() != null ) - { - BusRenderHelper.INSTANCE.setPass( 0 ); - } - else - { - BusRenderHelper.INSTANCE.setPass( MinecraftForgeClient.getRenderLayer() == BlockRenderLayer.TRANSLUCENT ? 1 : 0 ); - } - - if( renderer.getBlockAccess() == null ) - { - renderer.setBlockAccess( Minecraft.getMinecraft().theWorld ); - } - - for( final AEPartLocation s : AEPartLocation.values() ) - { - final IPart part = cableBusContainer.getPart( s ); - if( part != null ) - { - this.setSide( s ); - renderer.setRenderAllFaces( true ); - - // renderer.flipTexture = false; - renderer.setUvRotateBottom( 0 ); - renderer.setUvRotateEast( 0 ); - renderer.setUvRotateNorth( 0 ); - renderer.setUvRotateSouth( 0 ); - renderer.setUvRotateTop( 0 ); - renderer.setUvRotateWest( 0 ); - renderer.setOverrideBlockTexture( null ); - - part.renderStatic( te.getPos(), BusRenderHelper.INSTANCE, renderer ); - - // renderer.faces = EnumSet.allOf( EnumFacing.class ); - // renderer.useTextures = true; - } - } - - if( !iFacadeContainer.isEmpty() ) - { - /** - * snag list of boxes... - */ - final List boxes = new ArrayList(); - for( final AEPartLocation s : AEPartLocation.values() ) - { - final IPart part = cableBusContainer.getPart( s ); - if( part != null ) - { - this.setSide( s ); - final BusRenderHelper brh = BusRenderHelper.INSTANCE; - final BusCollisionHelper bch = new BusCollisionHelper( boxes, brh.getWorldX(), brh.getWorldY(), brh.getWorldZ(), null, true ); - part.getBoxes( bch ); - } - } - - boolean useThinFacades = false; - final double min = 2.0 / 16.0; - final double max = 14.0 / 16.0; - - for( final AxisAlignedBB bb : boxes ) - { - int o = 0; - o += bb.maxX > max ? 1 : 0; - o += bb.maxY > max ? 1 : 0; - o += bb.maxZ > max ? 1 : 0; - o += bb.minX < min ? 1 : 0; - o += bb.minY < min ? 1 : 0; - o += bb.minZ < min ? 1 : 0; - - if( o >= 2 ) - { - useThinFacades = true; - } - } - - for( final AEPartLocation s : AEPartLocation.SIDE_LOCATIONS ) - { - final IFacadePart fPart = iFacadeContainer.getFacade( s ); - if( fPart != null ) - { - fPart.setThinFacades( useThinFacades ); - final AxisAlignedBB pb = fPart.getPrimaryBox(); - AEAxisAlignedBB b = null; - for( final AxisAlignedBB bb : boxes ) - { - if( bb.intersectsWith( pb ) ) - { - if( b == null ) - { - b = AEAxisAlignedBB.fromBounds( bb ); - } - else - { - b.maxX = Math.max( b.maxX, bb.maxX ); - b.maxY = Math.max( b.maxY, bb.maxY ); - b.maxZ = Math.max( b.maxZ, bb.maxZ ); - b.minX = Math.min( b.minX, bb.minX ); - b.minY = Math.min( b.minY, bb.minY ); - b.minZ = Math.min( b.minZ, bb.minZ ); - } - } - } - - renderer.setFlipTexture( false ); - renderer.setUvRotateBottom( 0 ); - renderer.setUvRotateEast( 0 ); - renderer.setUvRotateNorth( 0 ); - renderer.setUvRotateSouth( 0 ); - renderer.setUvRotateTop( 0 ); - renderer.setUvRotateWest( 0 ); - renderer.setOverrideBlockTexture( null ); - - this.setSide( s ); - - fPart.renderStatic( te.getPos(), BusRenderHelper.INSTANCE, renderer, iFacadeContainer, b == null ? null : b.getBoundingBox(), cableBusContainer.getPart( s ) == null ); - } - } - - // renderer.isFacade = false; - // renderer.enableAO = false; - // renderer.sett - } - } - - private void setSide( final AEPartLocation s ) - { - final EnumFacing ax; - final EnumFacing ay; - final EnumFacing az; - - switch( s ) - { - case DOWN: - ax = EnumFacing.EAST; - ay = EnumFacing.NORTH; - az = EnumFacing.DOWN; - break; - case UP: - ax = EnumFacing.EAST; - ay = EnumFacing.SOUTH; - az = EnumFacing.UP; - break; - case EAST: - ax = EnumFacing.SOUTH; - ay = EnumFacing.UP; - az = EnumFacing.EAST; - break; - case WEST: - ax = EnumFacing.NORTH; - ay = EnumFacing.UP; - az = EnumFacing.WEST; - break; - case NORTH: - ax = EnumFacing.WEST; - ay = EnumFacing.UP; - az = EnumFacing.NORTH; - break; - case SOUTH: - ax = EnumFacing.EAST; - ay = EnumFacing.UP; - az = EnumFacing.SOUTH; - break; - default: - ax = EnumFacing.EAST; - ay = EnumFacing.UP; - az = EnumFacing.SOUTH; - break; - } - - BusRenderHelper.INSTANCE.setOrientation( ax, ay, az ); - } - - public void renderDynamic( final CableBusContainer cableBusContainer, final double x, final double y, final double z ) - { - for( final EnumFacing s : EnumFacing.values() ) - { - final IPart part = cableBusContainer.getPart( s ); - if( part != null ) - { - final EnumFacing ax; - final EnumFacing ay; - final EnumFacing az; - - switch( s ) - { - case DOWN: - ax = EnumFacing.EAST; - ay = EnumFacing.NORTH; - az = EnumFacing.DOWN; - break; - case UP: - ax = EnumFacing.EAST; - ay = EnumFacing.SOUTH; - az = EnumFacing.UP; - break; - case EAST: - ax = EnumFacing.SOUTH; - ay = EnumFacing.UP; - az = EnumFacing.EAST; - break; - case WEST: - ax = EnumFacing.NORTH; - ay = EnumFacing.UP; - az = EnumFacing.WEST; - break; - case NORTH: - ax = EnumFacing.WEST; - ay = EnumFacing.UP; - az = EnumFacing.NORTH; - break; - case SOUTH: - ax = EnumFacing.EAST; - ay = EnumFacing.UP; - az = EnumFacing.SOUTH; - break; - default: - ax = EnumFacing.EAST; - ay = EnumFacing.UP; - az = EnumFacing.SOUTH; - break; - } - - BusRenderHelper.INSTANCE.setOrientation( ax, ay, az ); - part.renderDynamic( x, y, z, BusRenderHelper.INSTANCE, BusRenderer.INSTANCE.getRenderer() ); - } - } - } -} diff --git a/src/main/java/appeng/client/render/ISimpleBlockRenderingHandler.java b/src/main/java/appeng/client/render/ISimpleBlockRenderingHandler.java deleted file mode 100644 index fcb750dfe..000000000 --- a/src/main/java/appeng/client/render/ISimpleBlockRenderingHandler.java +++ /dev/null @@ -1,17 +0,0 @@ - -package appeng.client.render; - - -import net.minecraft.block.Block; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; - - -public interface ISimpleBlockRenderingHandler -{ - void renderInventoryBlock( Block block, int metadata, int modelID, ModelGenerator renderer ); - - boolean renderWorldBlock( IBlockAccess world, BlockPos pos, Block block, int modelId, ModelGenerator renderer ); -} diff --git a/src/main/java/appeng/client/render/IconUnwrapper.java b/src/main/java/appeng/client/render/IconUnwrapper.java deleted file mode 100644 index 7b2c1d8c2..000000000 --- a/src/main/java/appeng/client/render/IconUnwrapper.java +++ /dev/null @@ -1,88 +0,0 @@ - -package appeng.client.render; - - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; - -import appeng.api.util.IAESprite; - - -public class IconUnwrapper extends TextureAtlasSprite -{ - - private final int width; - private final int height; - - private final float max_u; - private final float min_u; - private final float min_v; - private final float max_v; - - protected IconUnwrapper( final IAESprite src ) - { - super( src.getIconName() ); - this.width = src.getIconWidth(); - this.height = src.getIconHeight(); - this.min_u = src.getMinU(); - this.max_u = src.getMaxU(); - this.min_v = src.getMinV(); - this.max_v = src.getMaxV(); - } - - @Override - public int getIconWidth() - { - return this.width; - } - - @Override - public int getIconHeight() - { - return this.height; - } - - @Override - public float getMaxU() - { - return this.max_u; - } - - @Override - public float getMinV() - { - return this.min_v; - } - - @Override - public float getMaxV() - { - return this.max_v; - } - - @Override - public String getIconName() - { - return super.getIconName(); - } - - @Override - public float getMinU() - { - return this.min_u; - } - - @Override - public float getInterpolatedU( final double d ) - { - final float f = this.max_u - this.min_u; - return this.min_u + f * (float) d / 16.0F; - } - - @Override - public float getInterpolatedV( final double d ) - { - final float f = this.max_v - this.min_v; - return this.min_v + f * ( (float) d / 16.0F ); - } - -} diff --git a/src/main/java/appeng/client/render/RenderBlocksWorkaround.java b/src/main/java/appeng/client/render/RenderBlocksWorkaround.java deleted file mode 100644 index 2c56f7c45..000000000 --- a/src/main/java/appeng/client/render/RenderBlocksWorkaround.java +++ /dev/null @@ -1,59 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import java.util.EnumSet; - -import net.minecraft.util.EnumFacing; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - - -@SideOnly( Side.CLIENT ) -public class RenderBlocksWorkaround extends BakingModelGenerator -{ - - private boolean flipTexture; - private EnumSet faces; - private boolean useTextures; - private EnumSet renderFaces; - private float opacity; - - public void setTexture( final Object object ) - { - // TODO Auto-generated method stub - } - - public void setOpacity( final float f ) - { - this.opacity = f; - } - - public EnumSet getFaces() - { - return this.faces; - } - - public void setFaces( final EnumSet faces ) - { - this.faces = faces; - } - -} diff --git a/src/main/java/appeng/client/render/SMFace.java b/src/main/java/appeng/client/render/SMFace.java deleted file mode 100644 index e9536c7d4..000000000 --- a/src/main/java/appeng/client/render/SMFace.java +++ /dev/null @@ -1,67 +0,0 @@ - -package appeng.client.render; - - -import org.lwjgl.util.vector.Vector3f; - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.util.EnumFacing; - - -public class SMFace -{ - - private final EnumFacing face; - private final boolean isEdge; - - private final Vector3f to; - private final Vector3f from; - - private final float[] uv; - - private final TextureAtlasSprite spite; - - private final int color; - - public SMFace( final EnumFacing face, final boolean isEdge, final int color, final Vector3f to, final Vector3f from, final float[] defUVs2, final TextureAtlasSprite iconUnwrapper ) - { - this.color = color; - this.face = face; - this.isEdge = isEdge; - this.to = to; - this.from = from; - this.uv = defUVs2; - this.spite = iconUnwrapper; - } - - public int getColor() - { - return this.color; - } - - public EnumFacing getFace() - { - return this.face; - } - - public Vector3f getFrom() - { - return this.from; - } - - public Vector3f getTo() - { - return this.to; - } - - public TextureAtlasSprite getSpite() - { - return this.spite; - } - - public boolean isEdge() - { - return this.isEdge; - } - -} diff --git a/src/main/java/appeng/client/render/TESRWrapper.java b/src/main/java/appeng/client/render/TESRWrapper.java deleted file mode 100644 index 3a6a6e2c9..000000000 --- a/src/main/java/appeng/client/render/TESRWrapper.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import org.lwjgl.opengl.GL11; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer; -import net.minecraft.tileentity.TileEntity; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.core.AELog; -import appeng.tile.AEBaseTile; - - -@SideOnly( Side.CLIENT ) -public class TESRWrapper extends TileEntitySpecialRenderer -{ - - private final ModelGenerator renderBlocksInstance = new BakingModelGenerator(); - private final BaseBlockRender blkRender; - private final double maxDistance; - - public TESRWrapper( final BaseBlockRender render ) - { - this.blkRender = render; - this.maxDistance = this.blkRender.getTesrRenderDistance(); - } - - @Override - public final void renderTileEntityAt( final TileEntity te, final double x, final double y, final double z, final float f, final int something ) - { - if( te instanceof AEBaseTile ) - { - final Block b = te.getBlockType(); - - if( b instanceof AEBaseBlock && ( (AEBaseTile) te ).requiresTESR() ) - { - if( Math.abs( x ) > this.maxDistance || Math.abs( y ) > this.maxDistance || Math.abs( z ) > this.maxDistance ) - { - return; - } - - final Tessellator tess = Tessellator.getInstance(); - - try - { - GL11.glPushMatrix(); - - this.renderBlocksInstance.setBlockAccess( te.getWorld() ); - this.blkRender.renderTile( (AEBaseBlock) b, (AEBaseTile) te, tess.getBuffer(), x, y, z, f, this.renderBlocksInstance ); - - GL11.glPopMatrix(); - } - catch( final Throwable t ) - { - AELog.error( "Hi, Looks like there was a crash while rendering something..." ); - t.printStackTrace(); - AELog.error( "MC will now crash ( probably )!" ); - throw new IllegalStateException( t ); - } - } - } - } -} diff --git a/src/main/java/appeng/client/render/WorldRender.java b/src/main/java/appeng/client/render/WorldRender.java deleted file mode 100644 index 1dde4ed5c..000000000 --- a/src/main/java/appeng/client/render/WorldRender.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render; - - -import java.util.HashMap; - -import net.minecraft.block.Block; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.ItemRenderType; -import appeng.core.AELog; - - -@SideOnly( Side.CLIENT ) -public final class WorldRender implements ISimpleBlockRenderingHandler -{ - - private static final WorldRender INSTANCE = new WorldRender(); - private final HashMap blockRenders = new HashMap(); - private final ModelGenerator renderer = new BakingModelGenerator(); - private boolean hasError = false; - - private WorldRender() - { - } - - void setRender( final AEBaseBlock in, final BaseBlockRender r ) - { - this.blockRenders.put( in, r ); - } - - @Override - public void renderInventoryBlock( final Block block, final int metadata, final int modelID, final ModelGenerator renderer ) - { - // wtf is this for? - } - - @Override - public boolean renderWorldBlock( final IBlockAccess world, final BlockPos pos, final Block block, final int modelId, final ModelGenerator renderer ) - { - final AEBaseBlock blk = (AEBaseBlock) block; - renderer.setRenderBoundsFromBlock( world.getBlockState( pos ), pos ); - return this.getRender( blk ).renderInWorld( blk, world, pos, renderer ); - } - - private BaseBlockRender getRender( final AEBaseBlock block ) - { - return block.getRendererInstance().getRendererInstance(); - } - - void renderItemBlock( final ItemStack item, final ItemRenderType type, final Object[] data ) - { - final Block blk = Block.getBlockFromItem( item.getItem() ); - if( blk instanceof AEBaseBlock ) - { - final AEBaseBlock block = (AEBaseBlock) blk; - this.renderer.setRenderBoundsFromBlock( block.getDefaultState(), null ); - - this.renderer.setUvRotateBottom( this.renderer.setUvRotateEast( this.renderer.setUvRotateNorth( this.renderer.setUvRotateSouth( this.renderer.setUvRotateTop( this.renderer.setUvRotateWest( 0 ) ) ) ) ) ); - this.getRender( block ).renderInventory( block, item, this.renderer, type, data ); - this.renderer.setUvRotateBottom( this.renderer.setUvRotateEast( this.renderer.setUvRotateNorth( this.renderer.setUvRotateSouth( this.renderer.setUvRotateTop( this.renderer.setUvRotateWest( 0 ) ) ) ) ) ); - } - else - { - if( !this.hasError ) - { - this.hasError = true; - AELog.error( "Invalid render - item/block mismatch" ); - AELog.error( " item: " + item.getUnlocalizedName() ); - AELog.error( " block: " + blk.getUnlocalizedName() ); - } - } - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockAssembler.java b/src/main/java/appeng/client/render/blocks/RenderBlockAssembler.java deleted file mode 100644 index 9074159b3..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockAssembler.java +++ /dev/null @@ -1,279 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.item.ItemStack; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.networking.IGridHost; -import appeng.api.parts.IBoxProvider; -import appeng.api.parts.IPart; -import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartHost; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.IOrientable; -import appeng.api.util.ModelGenerator; -import appeng.block.crafting.BlockMolecularAssembler; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BusRenderer; -import appeng.client.texture.ExtraBlockTextures; -import appeng.client.texture.TaughtIcon; -import appeng.parts.networking.PartCable; -import appeng.tile.crafting.TileMolecularAssembler; -import appeng.util.Platform; - - -public class RenderBlockAssembler extends BaseBlockRender implements IBoxProvider -{ - - public RenderBlockAssembler() - { - super( false, 20 ); - } - - @Override - public void renderInventory( final BlockMolecularAssembler blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setOverrideBlockTexture( renderer.getIcon( blk.getStateFromMeta( is.getMetadata() ) )[0] ); - - this.setInvRenderBounds( renderer, 2, 14, 0, 14, 16, 2 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 14, 2, 2, 16, 14 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 2, 0, 14, 14, 2, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 14, 0, 2, 16, 2, 14 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 0, 0, 16, 2, 2 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 2, 0, 2, 16, 2 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 0, 2, 2, 2, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 14, 14, 16, 16, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 14, 0, 14, 16, 14, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 14, 14, 0, 16, 16, 14 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 14, 2, 0, 16, 14, 2 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 2, 14, 2, 14, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 1, 1, 1, 15, 15, 15 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - renderer.setOverrideBlockTexture( null ); - } - - @Override - public boolean renderInWorld( final BlockMolecularAssembler maBlock, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileMolecularAssembler tma = maBlock.getTileEntity( world, pos ); - - if( renderer.isAlphaPass() ) - { - if( tma.isPowered() ) - { - this.renderBlockBounds( renderer, 1, 1, 1, 15, 15, 15, EnumFacing.WEST, EnumFacing.UP, EnumFacing.SOUTH ); - final TaughtIcon lights = new TaughtIcon( ExtraBlockTextures.BlockMolecularAssemblerLights.getIcon(), -2.0f ); - renderer.setColorRGBA_F( 1, 1, 1, 0.3f ); - renderer.setBrightness( 14 << 20 | 14 << 4 ); - renderer.renderFaceXNeg( maBlock, pos, lights ); - renderer.renderFaceXPos( maBlock, pos, lights ); - renderer.renderFaceYNeg( maBlock, pos, lights ); - renderer.renderFaceYPos( maBlock, pos, lights ); - renderer.renderFaceZNeg( maBlock, pos, lights ); - renderer.renderFaceZPos( maBlock, pos, lights ); - return true; - } - return false; - } - - // BusRenderer.INSTANCE.renderer.blockAccess = renderer.blockAccess; - // renderer = BusRenderer.INSTANCE.renderer; - BusRenderer.INSTANCE.setRenderer( renderer ); - - this.preRenderInWorld( maBlock, world, pos, renderer ); - - final IOrientable te = this.getOrientable( maBlock, world, pos ); - - final EnumFacing fdy = te.getUp(); - final EnumFacing fdz = te.getForward(); - final EnumFacing fdx = Platform.crossProduct( fdz, fdy ).getOpposite(); - - renderer.setRenderAllFaces( true ); - - this.renderCableAt( 0.11D, world, pos, maBlock, renderer, 0.141D, false ); - this.renderCableAt( 0.188D, world, pos, maBlock, renderer, 0.1875D, true ); - - maBlock.getRendererInstance().setTemporaryRenderIcon( renderer.getIcon( world.getBlockState( pos ) )[0] ); - - this.renderBlockBounds( renderer, 2, 14, 0, 14, 16, 2, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 0, 14, 2, 2, 16, 14, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 2, 0, 14, 14, 2, 16, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 14, 0, 2, 16, 2, 14, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - // sides... - this.renderBlockBounds( renderer, 0, 0, 0, 16, 2, 2, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 0, 2, 0, 2, 16, 2, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 0, 0, 2, 2, 2, 16, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 0, 14, 14, 16, 16, 16, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 14, 0, 14, 16, 14, 16, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 14, 14, 0, 16, 16, 14, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 14, 2, 0, 16, 14, 2, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 0, 2, 14, 2, 14, 16, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - this.renderBlockBounds( renderer, 1, 1, 1, 15, 15, 15, fdx, fdy, fdz ); - renderer.renderStandardBlock( maBlock, pos ); - - maBlock.getRendererInstance().setTemporaryRenderIcon( null ); - - renderer.setRenderAllFaces( false ); - - this.postRenderInWorld( renderer ); - - return true; - } - - private void renderCableAt( final double thickness, final IBlockAccess world, final BlockPos pos, final BlockMolecularAssembler block, final ModelGenerator renderer, final double pull, final boolean covered ) - { - IAESprite texture = null; - - block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, pos, EnumFacing.WEST, covered, renderer ) ); - if( texture != null ) - { - renderer.setRenderBounds( 0.0D, 0.5D - thickness, 0.5D - thickness, 0.5D - thickness - pull, 0.5D + thickness, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, pos, EnumFacing.EAST, covered, renderer ) ); - if( texture != null ) - { - renderer.setRenderBounds( 0.5D + thickness + pull, 0.5D - thickness, 0.5D - thickness, 1.0D, 0.5D + thickness, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, pos, EnumFacing.NORTH, covered, renderer ) ); - if( texture != null ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.5D - thickness, 0.0D, 0.5D + thickness, 0.5D + thickness, 0.5D - thickness - pull ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, pos, EnumFacing.SOUTH, covered, renderer ) ); - if( texture != null ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.5D - thickness, 0.5D + thickness + pull, 0.5D + thickness, 0.5D + thickness, 1.0D ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, pos, EnumFacing.DOWN, covered, renderer ) ); - if( texture != null ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.0D, 0.5D - thickness, 0.5D + thickness, 0.5D - thickness - pull, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( texture = this.getConnectedCable( world, pos, EnumFacing.UP, covered, renderer ) ); - if( texture != null ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.5D + thickness + pull, 0.5D - thickness, 0.5D + thickness, 1.0D, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( null ); - } - - private IAESprite getConnectedCable( final IBlockAccess world, final BlockPos pos, final EnumFacing side, final boolean covered, final ModelGenerator renderer ) - { - final int tileYPos = pos.getY() + side.getFrontOffsetY(); - if( -1 < tileYPos && tileYPos < 256 ) - { - final TileEntity ne = world.getTileEntity( pos.offset( side ) ); - if( ne instanceof IGridHost && ne instanceof IPartHost ) - { - final IPartHost ph = (IPartHost) ne; - final IPart pcx = ph.getPart( AEPartLocation.INTERNAL ); - if( pcx instanceof PartCable ) - { - final PartCable pc = (PartCable) pcx; - if( pc.isConnected( side.getOpposite() ) ) - { - if( covered ) - { - return pc.getCoveredTexture( pc.getCableColor(), renderer ); - } - return pc.getGlassTexture( pc.getCableColor(), renderer ); - } - } - } - } - - return null; - } - - @Override - public void getBoxes( final IPartCollisionHelper bch ) - { - bch.addBox( 0, 0, 0, 16, 16, 16 ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockCharger.java b/src/main/java/appeng/client/render/blocks/RenderBlockCharger.java deleted file mode 100644 index 6c32ccdd5..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockCharger.java +++ /dev/null @@ -1,173 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.minecraft.block.Block; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.AEPartLocation; -import appeng.api.util.IOrientable; -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockCharger; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.core.AELog; -import appeng.tile.misc.TileCharger; -import appeng.util.Platform; - - -public class RenderBlockCharger extends BaseBlockRender -{ - - public RenderBlockCharger() - { - super( true, 30 ); - } - - @Override - public void renderInventory( final BlockCharger blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setRenderAllFaces( true ); - this.setInvRenderBounds( renderer, 6, 1, 0, 10, 15, 2 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - blk.getRendererInstance().setTemporaryRenderIcons( ExtraBlockTextures.BlockChargerInside.getIcon(), null, null, null, null, null ); - - this.setInvRenderBounds( renderer, 2, 0, 2, 14, 3, 14 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 3, 3, 3, 13, 4, 13 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - blk.getRendererInstance().setTemporaryRenderIcon( null ); - - blk.getRendererInstance().setTemporaryRenderIcons( null, ExtraBlockTextures.BlockChargerInside.getIcon(), null, null, null, null ); - - this.setInvRenderBounds( renderer, 2, 13, 2, 14, 16, 14 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 3, 12, 3, 13, 13, 13 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - renderer.setRenderAllFaces( false ); - blk.getRendererInstance().setTemporaryRenderIcon( null ); - } - - @Override - public boolean renderInWorld( final BlockCharger block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - this.preRenderInWorld( block, world, pos, renderer ); - - final IOrientable te = this.getOrientable( block, world, pos ); - - final EnumFacing fdy = te.getUp(); - final EnumFacing fdz = te.getForward(); - final EnumFacing fdx = Platform.crossProduct( fdz, fdy ).getOpposite(); - - renderer.setRenderAllFaces( true ); - this.renderBlockBounds( renderer, 6, 1, 0, 10, 15, 2, fdx, fdy, fdz ); - boolean out = renderer.renderStandardBlock( block, pos ); - - block.getRendererInstance().setTemporaryRenderIcons( ExtraBlockTextures.BlockChargerInside.getIcon(), null, null, null, null, null ); - - this.renderBlockBounds( renderer, 2, 0, 2, 14, 3, 14, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - this.renderBlockBounds( renderer, 3, 3, 3, 13, 4, 13, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - block.getRendererInstance().setTemporaryRenderIcon( null ); - - block.getRendererInstance().setTemporaryRenderIcons( null, ExtraBlockTextures.BlockChargerInside.getIcon(), null, null, null, null ); - - this.renderBlockBounds( renderer, 2, 13, 2, 14, 16, 14, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - this.renderBlockBounds( renderer, 3, 12, 3, 13, 13, 13, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - renderer.setRenderAllFaces( false ); - block.getRendererInstance().setTemporaryRenderIcon( null ); - - this.postRenderInWorld( renderer ); - return out; - } - - @Override - public void renderTile( final BlockCharger block, final TileCharger tile, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderer ) - { - final ItemStack sis = tile.getStackInSlot( 0 ); - - if( sis != null ) - { - GL11.glPushMatrix(); - this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() ); - - try - { - GL11.glTranslatef( 0.5f, 0.35f, 0.5f ); - GL11.glScalef( 1.0f / 1.1f, 1.0f / 1.1f, 1.0f / 1.1f ); - GL11.glScalef( 1.0f, 1.0f, 1.0f ); - - final Block blk = Block.getBlockFromItem( sis.getItem() ); - /* - * if( sis.getItemSpriteNumber() == 0 && block != null && IRenderHelper.renderItemIn3d( - * blk.getRenderType() ) ) - * { - * GL11.glRotatef( 25.0f, 1.0f, 0.0f, 0.0f ); - * GL11.glRotatef( 15.0f, 0.0f, 1.0f, 0.0f ); - * GL11.glRotatef( 30.0f, 0.0f, 1.0f, 0.0f ); - * } - */ - - // << 20 | light << 4; - final int br = tile.getWorld().getCombinedLight( tile.getPos(), 0 ); - final int var11 = br % 65536; - final int var12 = br / 65536; - - OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11, var12 ); - - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - - GL11.glDisable( GL11.GL_LIGHTING ); - GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - - this.doRenderItem( sis, tile ); - } - catch( final Exception err ) - { - AELog.debug( err ); - } - - GL11.glPopMatrix(); - } - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockController.java b/src/main/java/appeng/client/render/blocks/RenderBlockController.java deleted file mode 100644 index 91bf9fd3e..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockController.java +++ /dev/null @@ -1,186 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.block.networking.BlockController; -import appeng.block.networking.BlockController.ControllerBlockState; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.networking.TileController; - - -public class RenderBlockController extends BaseBlockRender -{ - - public RenderBlockController() - { - super( false, 20 ); - } - - @Override - public boolean renderInWorld( final BlockController blk, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - - final boolean xx = this.getTileEntity( world, pos.offset( EnumFacing.WEST ) ) instanceof TileController && this.getTileEntity( world, pos.offset( EnumFacing.EAST ) ) instanceof TileController; - final boolean yy = this.getTileEntity( world, pos.offset( EnumFacing.DOWN ) ) instanceof TileController && this.getTileEntity( world, pos.offset( EnumFacing.UP ) ) instanceof TileController; - final boolean zz = this.getTileEntity( world, pos.offset( EnumFacing.SOUTH ) ) instanceof TileController && this.getTileEntity( world, pos.offset( EnumFacing.NORTH ) ) instanceof TileController; - - final BlockController.ControllerBlockState meta = (ControllerBlockState) world.getBlockState( pos ).getValue( BlockController.CONTROLLER_STATE ); - final boolean hasPower = meta != BlockController.ControllerBlockState.offline; - final boolean isConflict = meta == BlockController.ControllerBlockState.conflicted; - - ExtraBlockTextures lights = null; - - if( xx && !yy && !zz ) - { - if( hasPower ) - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerColumnPowered.getIcon() ); - if( isConflict ) - { - lights = ExtraBlockTextures.BlockControllerColumnConflict; - } - else - { - lights = ExtraBlockTextures.BlockControllerColumnLights; - } - } - else - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerColumn.getIcon() ); - } - - renderer.setUvRotateEast( 1 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateBottom( 1 ); - } - else if( !xx && yy && !zz ) - { - if( hasPower ) - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerColumnPowered.getIcon() ); - if( isConflict ) - { - lights = ExtraBlockTextures.BlockControllerColumnConflict; - } - else - { - lights = ExtraBlockTextures.BlockControllerColumnLights; - } - } - else - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerColumn.getIcon() ); - } - - renderer.setUvRotateEast( 0 ); - renderer.setUvRotateNorth( 0 ); - } - else if( !xx && !yy && zz ) - { - if( hasPower ) - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerColumnPowered.getIcon() ); - if( isConflict ) - { - lights = ExtraBlockTextures.BlockControllerColumnConflict; - } - else - { - lights = ExtraBlockTextures.BlockControllerColumnLights; - } - } - else - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerColumn.getIcon() ); - } - - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 1 ); - renderer.setUvRotateTop( 0 ); - } - else if( ( xx ? 1 : 0 ) + ( yy ? 1 : 0 ) + ( zz ? 1 : 0 ) >= 2 ) - { - final int v = ( Math.abs( pos.getX() ) + Math.abs( pos.getY() ) + Math.abs( pos.getZ() ) ) % 2; - renderer.setUvRotateEast( renderer.setUvRotateBottom( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - - if( v == 0 ) - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerInsideA.getIcon() ); - } - else - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerInsideB.getIcon() ); - } - } - else - { - if( hasPower ) - { - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockControllerPowered.getIcon() ); - if( isConflict ) - { - lights = ExtraBlockTextures.BlockControllerConflict; - } - else - { - lights = ExtraBlockTextures.BlockControllerLights; - } - } - else - { - blk.getRendererInstance().setTemporaryRenderIcon( null ); - } - } - - final boolean out = renderer.renderStandardBlock( blk, pos ); - if( lights != null ) - { - renderer.setColorOpaque_F( 1.0f, 1.0f, 1.0f ); - renderer.setBrightness( 14 << 20 | 14 << 4 ); - renderer.renderFaceXNeg( blk, pos, lights.getIcon() ); - renderer.renderFaceXPos( blk, pos, lights.getIcon() ); - renderer.renderFaceYNeg( blk, pos, lights.getIcon() ); - renderer.renderFaceYPos( blk, pos, lights.getIcon() ); - renderer.renderFaceZNeg( blk, pos, lights.getIcon() ); - renderer.renderFaceZPos( blk, pos, lights.getIcon() ); - } - - blk.getRendererInstance().setTemporaryRenderIcon( null ); - renderer.setUvRotateEast( renderer.setUvRotateBottom( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - return out; - } - - private TileEntity getTileEntity( final IBlockAccess world, final BlockPos pos ) - { - if( pos.getY() >= 0 ) - { - return world.getTileEntity( pos ); - } - return null; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockCraftingCPU.java b/src/main/java/appeng/client/render/blocks/RenderBlockCraftingCPU.java deleted file mode 100644 index d5a1a4bf6..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockCraftingCPU.java +++ /dev/null @@ -1,375 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.block.Block; -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; -import net.minecraftforge.client.MinecraftForgeClient; - -import appeng.api.AEApi; -import appeng.api.util.AEColor; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.crafting.BlockCraftingMonitor; -import appeng.block.crafting.BlockCraftingUnit; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BusRenderHelper; -import appeng.client.render.BusRenderer; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.crafting.TileCraftingMonitorTile; -import appeng.tile.crafting.TileCraftingTile; - - -public class RenderBlockCraftingCPU extends BaseBlockRender -{ - - protected RenderBlockCraftingCPU( final boolean useTESR, final int range ) - { - super( useTESR, range ); - } - - public RenderBlockCraftingCPU() - { - super( false, 20 ); - } - - @Override - public boolean renderInWorld( final B blk, final IBlockAccess w, final BlockPos pos, ModelGenerator renderer ) - { - boolean formed = false; - boolean emitsLight = false; - - final TileCraftingTile ct = blk.getTileEntity( w, pos ); - if( ct != null && ct.isFormed() ) - { - formed = true; - emitsLight = ct.isPowered(); - } - - final boolean isMonitor = blk.getClass() == BlockCraftingMonitor.class; - final IAESprite theIcon = renderer.getIcon( w.getBlockState( pos ) )[EnumFacing.SOUTH.ordinal()]; - - int meta = 1; - for( final Block craftingBlock : AEApi.instance().definitions().blocks().craftingUnit().maybeBlock().asSet() ) - { - if( craftingBlock == blk ) - { - meta = 0; - } - } - - IAESprite nonForward = theIcon; - if( isMonitor ) - { - for( final Block craftingBlock : AEApi.instance().definitions().blocks().craftingUnit().maybeBlock().asSet() ) - { - nonForward = renderer.getIcon( craftingBlock.getDefaultState() )[EnumFacing.SOUTH.ordinal()]; // craftingBlock.getIcon( - // 0, - // meta - // | ( - // formed - // ? 8 : - // 0 ) - // ); - } - } - - if( formed && renderer.getOverrideBlockTexture() == null ) - { - renderer = BusRenderer.INSTANCE.getRenderer(); - final BusRenderHelper i = BusRenderHelper.INSTANCE; - - renderer.setBlockAccess( w ); - i.setPass( MinecraftForgeClient.getRenderLayer() == BlockRenderLayer.TRANSLUCENT ? 1 : 0 ); - i.setOrientation( EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - - final float highX = this.isConnected( w, pos, EnumFacing.EAST ) ? 16 : 13.01f; - final float lowX = this.isConnected( w, pos, EnumFacing.WEST ) ? 0 : 2.99f; - - final float highY = this.isConnected( w, pos, EnumFacing.UP ) ? 16 : 13.01f; - final float lowY = this.isConnected( w, pos, EnumFacing.DOWN ) ? 0 : 2.99f; - - final float highZ = this.isConnected( w, pos, EnumFacing.SOUTH ) ? 16 : 13.01f; - final float lowZ = this.isConnected( w, pos, EnumFacing.NORTH ) ? 0 : 2.99f; - - this.renderCorner( i, renderer, w, pos, EnumFacing.UP, EnumFacing.EAST, EnumFacing.NORTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.UP, EnumFacing.EAST, EnumFacing.SOUTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.UP, EnumFacing.WEST, EnumFacing.NORTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.UP, EnumFacing.WEST, EnumFacing.SOUTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.DOWN, EnumFacing.EAST, EnumFacing.NORTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.DOWN, EnumFacing.EAST, EnumFacing.SOUTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.DOWN, EnumFacing.WEST, EnumFacing.NORTH ); - this.renderCorner( i, renderer, w, pos, EnumFacing.DOWN, EnumFacing.WEST, EnumFacing.SOUTH ); - - for( final EnumFacing side : EnumFacing.VALUES ) - { - i.setBounds( this.fso( side, lowX, EnumFacing.WEST ), this.fso( side, lowY, EnumFacing.DOWN ), this.fso( side, lowZ, EnumFacing.NORTH ), this.fso( side, highX, EnumFacing.EAST ), this.fso( side, highY, EnumFacing.UP ), this.fso( side, highZ, EnumFacing.SOUTH ) ); - i.prepareBounds( renderer ); - - boolean LocalEmit = emitsLight; - if( blk instanceof BlockCraftingMonitor && ct.getForward() != side ) - { - LocalEmit = false; - } - - this.handleSide( blk, meta, pos, i, renderer, ct.getForward() == side ? theIcon : nonForward, LocalEmit, isMonitor, side, w ); - } - - // BusRenderer.INSTANCE.renderer.isFacade = false; - i.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - - return true; - } - else - { - final double a = 0.0 / 16.0; - final double o = 16.0 / 16.0; - renderer.setRenderBounds( a, a, a, o, o, o ); - - return renderer.renderStandardBlock( blk, pos ); - } - } - - private boolean isConnected( final IBlockAccess w, final BlockPos pos, final EnumFacing side ) - { - final int tileYPos = pos.getY() + side.getFrontOffsetY(); - if( 0 <= tileYPos && tileYPos <= 255 ) - { - final TileEntity tile = w.getTileEntity( pos.offset( side ) ); - - return tile instanceof TileCraftingTile; - } - else - { - return false; - } - } - - private void renderCorner( final BusRenderHelper i, final ModelGenerator renderer, final IBlockAccess w, final BlockPos pos, final EnumFacing up, final EnumFacing east, final EnumFacing south ) - { - if( this.isConnected( w, pos, up ) ) - { - return; - } - if( this.isConnected( w, pos, east ) ) - { - return; - } - if( this.isConnected( w, pos, south ) ) - { - return; - } - - i.setBounds( this.gso( east, 3, EnumFacing.WEST ), this.gso( up, 3, EnumFacing.DOWN ), this.gso( south, 3, EnumFacing.NORTH ), this.gso( east, 13, EnumFacing.EAST ), this.gso( up, 13, EnumFacing.UP ), this.gso( south, 13, EnumFacing.SOUTH ) ); - i.prepareBounds( renderer ); - i.setTexture( ExtraBlockTextures.BlockCraftingUnitRing.getIcon() ); - i.renderBlockCurrentBounds( pos, renderer ); - } - - private float fso( final EnumFacing side, final float def, final EnumFacing target ) - { - if( side == target ) - { - if( side.getFrontOffsetX() > 0 || side.getFrontOffsetY() > 0 || side.getFrontOffsetZ() > 0 ) - { - return 16; - } - return 0; - } - return def; - } - - private void handleSide( final B blk, final int meta, final BlockPos pos, final BusRenderHelper i, final ModelGenerator renderer, final IAESprite color, final boolean emitsLight, final boolean isMonitor, final EnumFacing side, final IBlockAccess w ) - { - if( this.isConnected( w, pos, side ) ) - { - return; - } - - i.setFacesToRender( EnumSet.of( side ) ); - - if( meta == 0 && blk.getClass() == BlockCraftingUnit.class ) - { - i.setTexture( ExtraBlockTextures.BlockCraftingUnitFit.getIcon() ); - i.renderBlockCurrentBounds( pos, renderer ); - } - else - { - if( color == ExtraBlockTextures.BlockCraftingMonitorFit_Light.getIcon() ) - { - i.setTexture( ExtraBlockTextures.BlockCraftingMonitorOuter.getIcon() ); - } - else - { - i.setTexture( ExtraBlockTextures.BlockCraftingFitSolid.getIcon() ); - } - - i.renderBlockCurrentBounds( pos, renderer ); - - if( color != null ) - { - i.setTexture( color ); - - if( !emitsLight ) - { - if( color == ExtraBlockTextures.BlockCraftingMonitorFit_Light.getIcon() ) - { - final int b = w.getCombinedLight( pos.offset( side ), 0 ); - - final TileCraftingMonitorTile sr = blk.getTileEntity( w, pos ); - final AEColor col = sr.getColor(); - - renderer.setBrightness( b ); - renderer.setColorOpaque_I( col.whiteVariant ); - i.renderFace( pos, color, side, renderer ); - - renderer.setColorOpaque_I( col.mediumVariant ); - i.renderFace( pos, ExtraBlockTextures.BlockCraftingMonitorFit_Medium.getIcon(), side, renderer ); - - renderer.setColorOpaque_I( col.blackVariant ); - i.renderFace( pos, ExtraBlockTextures.BlockCraftingMonitorFit_Dark.getIcon(), side, renderer ); - } - else - { - i.renderBlockCurrentBounds( pos, renderer ); - } - } - else - { - if( isMonitor ) - { - final TileCraftingMonitorTile sr = blk.getTileEntity( w, pos ); - final AEColor col = sr.getColor(); - - renderer.setColorOpaque_I( col.whiteVariant ); - renderer.setBrightness( 13 << 20 | 13 << 4 ); - i.renderFace( pos, color, side, renderer ); - - renderer.setColorOpaque_I( col.mediumVariant ); - renderer.setBrightness( 13 << 20 | 13 << 4 ); - i.renderFace( pos, ExtraBlockTextures.BlockCraftingMonitorFit_Medium.getIcon(), side, renderer ); - - renderer.setColorOpaque_I( col.blackVariant ); - renderer.setBrightness( 13 << 20 | 13 << 4 ); - i.renderFace( pos, ExtraBlockTextures.BlockCraftingMonitorFit_Dark.getIcon(), side, renderer ); - } - else - { - final AEPartLocation aeDir = AEPartLocation.fromFacing( side ); - renderer.setColorOpaque_F( 1.0f, 1.0f, 1.0f ); - renderer.setBrightness( 13 << 20 | 13 << 4 ); - i.renderFace( pos, color, side, renderer ); - } - } - } - } - - for( final EnumFacing a : EnumFacing.VALUES ) - { - if( a == side || a == side.getOpposite() ) - { - continue; - } - - if( ( side.getFrontOffsetX() != 0 || side.getFrontOffsetZ() != 0 ) && ( a == EnumFacing.NORTH || a == EnumFacing.EAST || a == EnumFacing.WEST || a == EnumFacing.SOUTH ) ) - { - i.setTexture( ExtraBlockTextures.BlockCraftingUnitRingLongRotated.getIcon() ); - } - else if( ( side.getFrontOffsetY() != 0 ) && ( a == EnumFacing.EAST || a == EnumFacing.WEST ) ) - { - i.setTexture( ExtraBlockTextures.BlockCraftingUnitRingLongRotated.getIcon() ); - } - else - { - i.setTexture( ExtraBlockTextures.BlockCraftingUnitRingLong.getIcon() ); - } - - final AEPartLocation dir = AEPartLocation.fromFacing( a ); - if( !( i.getBound( dir ) < 0.001 || i.getBound( dir ) > 15.999 ) ) - { - final double width = 3.0 / 16.0; - switch( a ) - { - case DOWN: - renderer.setRenderMinY( 0 ); - renderer.setRenderMaxY( width ); - break; - case EAST: - renderer.setRenderMaxX( 1 ); - renderer.setRenderMinX( 1.0 - width ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateBottom( 1 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateEast( 1 ); - break; - case NORTH: - renderer.setRenderMinZ( 0 ); - renderer.setRenderMaxZ( width ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 1 ); - break; - case SOUTH: - renderer.setRenderMaxZ( 1 ); - renderer.setRenderMinZ( 1.0 - width ); - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 1 ); - break; - case UP: - renderer.setRenderMaxY( 1 ); - renderer.setRenderMinY( 1.0 - width ); - break; - case WEST: - renderer.setRenderMinX( 0 ); - renderer.setRenderMaxX( width ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateBottom( 1 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateEast( 1 ); - break; - default: - } - - i.renderBlockCurrentBounds( pos, renderer ); - i.prepareBounds( renderer ); - } - } - } - - private float gso( final EnumFacing side, final float def, final EnumFacing target ) - { - if( side != target ) - { - if( side.getFrontOffsetX() > 0 || side.getFrontOffsetY() > 0 || side.getFrontOffsetZ() > 0 ) - { - return 16; - } - return 0; - } - return def; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockCraftingCPUMonitor.java b/src/main/java/appeng/client/render/blocks/RenderBlockCraftingCPUMonitor.java deleted file mode 100644 index 36a91f29b..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockCraftingCPUMonitor.java +++ /dev/null @@ -1,192 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.GLAllocation; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; - -import appeng.api.storage.data.IAEItemStack; -import appeng.api.util.ModelGenerator; -import appeng.block.crafting.BlockCraftingMonitor; -import appeng.client.ClientHelper; -import appeng.core.AELog; -import appeng.tile.crafting.TileCraftingMonitorTile; -import appeng.util.IWideReadableNumberConverter; -import appeng.util.Platform; -import appeng.util.ReadableNumberConverter; - - -/** - * @author AlgorithmX2 - * @author thatsIch - * @version rv2 - * @since rv1 - */ -public class RenderBlockCraftingCPUMonitor extends RenderBlockCraftingCPU -{ - private static final IWideReadableNumberConverter NUMBER_CONVERTER = ReadableNumberConverter.INSTANCE; - - public RenderBlockCraftingCPUMonitor() - { - super( true, 20 ); - } - - @Override - public void renderTile( final BlockCraftingMonitor block, final TileCraftingMonitorTile tile, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderer ) - { - if( tile != null ) - { - final IAEItemStack ais = tile.getJobProgress(); - - if( tile.getDisplayList() == null ) - { - tile.setUpdateList( true ); - tile.setDisplayList( GLAllocation.generateDisplayLists( 1 ) ); - } - - if( ais != null ) - { - GL11.glPushMatrix(); - GL11.glTranslated( x + 0.5, y + 0.5, z + 0.5 ); - - if( tile.isUpdateList() ) - { - tile.setUpdateList( false ); - GL11.glNewList( tile.getDisplayList(), GL11.GL_COMPILE_AND_EXECUTE ); - this.tesrRenderScreen( tess, tile, ais ); - GL11.glEndList(); - } - else - { - GL11.glCallList( tile.getDisplayList() ); - } - - GL11.glPopMatrix(); - } - } - } - - private void tesrRenderScreen( final VertexBuffer tess, final TileCraftingMonitorTile cmt, final IAEItemStack ais ) - { - final EnumFacing side = cmt.getForward(); - - EnumFacing walrus = side.getFrontOffsetY() != 0 ? EnumFacing.SOUTH : EnumFacing.UP; - int spin = 0; - - int max = 5; - while( walrus != cmt.getUp() && max > 0 ) - { - max--; - spin++; - walrus = Platform.rotateAround( walrus, side ); - } - max--; - - GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS ); - GL11.glTranslated( side.getFrontOffsetX() * 0.69, side.getFrontOffsetY() * 0.69, side.getFrontOffsetZ() * 0.69 ); - - final float scale = 0.7f; - GL11.glScalef( scale, scale, scale ); - - if( side == EnumFacing.UP ) - { - GL11.glScalef( 1.0f, -1.0f, 1.0f ); - GL11.glRotatef( 90.0f, 1.0f, 0.0f, 0.0f ); - GL11.glRotatef( spin * 90.0F, 0, 0, 1 ); - } - - if( side == EnumFacing.DOWN ) - { - GL11.glScalef( 1.0f, -1.0f, 1.0f ); - GL11.glRotatef( -90.0f, 1.0f, 0.0f, 0.0f ); - GL11.glRotatef( spin * -90.0F, 0, 0, 1 ); - } - - if( side == EnumFacing.EAST ) - { - GL11.glScalef( -1.0f, -1.0f, -1.0f ); - GL11.glRotatef( -90.0f, 0.0f, 1.0f, 0.0f ); - } - - if( side == EnumFacing.WEST ) - { - GL11.glScalef( -1.0f, -1.0f, -1.0f ); - GL11.glRotatef( 90.0f, 0.0f, 1.0f, 0.0f ); - } - - if( side == EnumFacing.NORTH ) - { - GL11.glScalef( -1.0f, -1.0f, -1.0f ); - } - - if( side == EnumFacing.SOUTH ) - { - GL11.glScalef( -1.0f, -1.0f, -1.0f ); - GL11.glRotatef( 180.0f, 0.0f, 1.0f, 0.0f ); - } - - GL11.glPushMatrix(); - try - { - final ItemStack sis = ais.getItemStack(); - sis.stackSize = 1; - - final int br = 16 << 20 | 16 << 4; - final int var11 = br % 65536; - final int var12 = br / 65536; - OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11 * 0.8F, var12 * 0.8F ); - - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - - GL11.glDisable( GL11.GL_LIGHTING ); - GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - // RenderHelper.enableGUIStandardItemLighting(); - - ClientHelper.proxy.doRenderItem( sis, cmt.getWorld() ); - } - catch( final Exception e ) - { - AELog.debug( e ); - } - - GL11.glPopMatrix(); - - GL11.glTranslatef( 0.0f, 0.14f, -0.24f ); - GL11.glScalef( 1.0f / 62.0f, 1.0f / 62.0f, 1.0f / 62.0f ); - - final long stackSize = ais.getStackSize(); - final String renderedStackSize = NUMBER_CONVERTER.toWideReadableForm( stackSize ); - - final FontRenderer fr = Minecraft.getMinecraft().fontRendererObj; - final int width = fr.getStringWidth( renderedStackSize ); - GL11.glTranslatef( -0.5f * width, 0.0f, -1.0f ); - fr.drawString( renderedStackSize, 0, 0, 0 ); - - GL11.glPopAttrib(); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockCrank.java b/src/main/java/appeng/client/render/blocks/RenderBlockCrank.java deleted file mode 100644 index 0b179dffd..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockCrank.java +++ /dev/null @@ -1,120 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import org.lwjgl.opengl.GL11; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.RenderHelper; -import net.minecraft.client.renderer.RenderItem; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.client.renderer.block.model.IBakedModel; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.block.grindstone.BlockCrank; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.tile.grindstone.TileCrank; - - -public class RenderBlockCrank extends BaseBlockRender -{ - - public RenderBlockCrank() - { - super( true, 60 ); - } - - @Override - public void renderInventory( final BlockCrank blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setRenderAllFaces( true ); - - renderer.setRenderBounds( 0.5D - 0.05, 0.5D - 0.5, 0.5D - 0.05, 0.5D + 0.05, 0.5D + 0.3, 0.5D + 0.05 ); - super.renderInventory( blk, is, renderer, type, obj ); - - renderer.setRenderBounds( 0.70D - 0.15, 0.75D - 0.05, 0.5D - 0.05, 0.70D + 0.28, 0.75D + 0.05, 0.5D + 0.05 ); - super.renderInventory( blk, is, renderer, type, obj ); - - renderer.setRenderAllFaces( false ); - } - - @Override - public boolean renderInWorld( final BlockCrank imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - return true; - } - - @Override - public void renderTile( final BlockCrank blk, final TileCrank tile, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderBlocks ) - { - if( tile.getUp() == null ) - { - return; - } - - Minecraft.getMinecraft().getTextureManager().bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ); - RenderHelper.disableStandardItemLighting(); - - if( Minecraft.isAmbientOcclusionEnabled() ) - { - GL11.glShadeModel( GL11.GL_SMOOTH ); - } - else - { - GL11.glShadeModel( GL11.GL_FLAT ); - } - - GL11.glColor4f( 1.0f, 1.0f, 1.0f, 1.0f ); - this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() ); - - GL11.glTranslated( 0.5, 0, 0.5 ); - GL11.glRotatef( tile.getVisibleRotation(), 0, 1, 0 ); - GL11.glScalef( -1, 1, 1 ); - GL11.glTranslated( -0.5, 0, -0.5 ); - - // tess.setTranslation( -tc.getPos().getX(), -tc.getPos().getY(), -tc.getPos().getZ() ); - // tess.startDrawingQuads(); - - final RenderItem ri = Minecraft.getMinecraft().getRenderItem(); - - final ItemStack stack = new ItemStack( blk ); - final IBakedModel model = ri.getItemModelMesher().getItemModel( stack ); - Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelRenderer().renderModelBrightnessColor( model, 1.0F, 1.0F, 1.0F, 1.0F ); - - /* - * renderBlocks.renderAllFaces = true; - * renderBlocks.blockAccess = tc.getWorld(); - * renderBlocks.setRenderBounds( 0.5D - 0.05, 0.5D - 0.5, 0.5D - 0.05, 0.5D + 0.05, 0.5D + 0.1, 0.5D + 0.05 ); - * renderBlocks.renderStandardBlock( blk, tc.getPos()); - * renderBlocks.setRenderBounds( 0.70D - 0.15, 0.55D - 0.05, 0.5D - 0.05, 0.70D + 0.15, 0.55D + 0.05, 0.5D + - * 0.05 ); - * renderBlocks.renderStandardBlock( blk, tc.getPos() ); - */ - - // Tessellator.getInstance().draw(); - // tess.setTranslation( 0, 0, 0 ); - RenderHelper.enableStandardItemLighting(); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockEnergyCube.java b/src/main/java/appeng/client/render/blocks/RenderBlockEnergyCube.java deleted file mode 100644 index 62c91d196..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockEnergyCube.java +++ /dev/null @@ -1,74 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.implementations.items.IAEItemPowerStorage; -import appeng.api.util.ModelGenerator; -import appeng.block.networking.BlockEnergyCell; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.tile.networking.TileEnergyCell; - - -public class RenderBlockEnergyCube extends BaseBlockRender -{ - - public RenderBlockEnergyCube() - { - super( false, 20 ); - } - - @Override - public void renderInventory( final BlockEnergyCell blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - final IAEItemPowerStorage myItem = (IAEItemPowerStorage) is.getItem(); - final double internalCurrentPower = myItem.getAECurrentPower( is ); - final double internalMaxPower = myItem.getAEMaxPower( is ); - - int meta = (int) ( 8.0 * ( internalCurrentPower / internalMaxPower ) ); - - if( meta > 7 ) - { - meta = 7; - } - if( meta < 0 ) - { - meta = 0; - } - - renderer.setOverrideBlockTexture( renderer.getIcon( blk.getStateFromMeta( meta ) )[0] ); - super.renderInventory( blk, is, renderer, type, obj ); - renderer.setOverrideBlockTexture( null ); - } - - @Override - public boolean renderInWorld( final BlockEnergyCell blk, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - renderer.setOverrideBlockTexture( renderer.getIcon( world.getBlockState( pos ) )[0] );// blk.getIcon( 0, meta ); - final boolean out = renderer.renderStandardBlock( blk, pos ); - renderer.setOverrideBlockTexture( null ); - - return out; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockInscriber.java b/src/main/java/appeng/client/render/blocks/RenderBlockInscriber.java deleted file mode 100644 index 6c0505ae1..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockInscriber.java +++ /dev/null @@ -1,316 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.features.IInscriberRecipe; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.IOrientable; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.block.misc.BlockInscriber; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.core.AELog; -import appeng.tile.AEBaseTile; -import appeng.tile.misc.TileInscriber; -import appeng.util.Platform; - - -/** - * @author AlgorithmX2 - * @author thatsIch - * @version rv2 - * @since rv0 - */ -public class RenderBlockInscriber extends BaseBlockRender -{ - - public RenderBlockInscriber() - { - super( true, 30 ); - } - - @Override - public void renderInventory( final BlockInscriber blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setRenderAllFaces( true ); - this.setInvRenderBounds( renderer, 6, 1, 0, 10, 15, 2 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - // sides... - this.setInvRenderBounds( renderer, 3, 1, 0, 13, 15, 3 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 0, 1, 0, 3, 15, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 13, 1, 0, 16, 15, 16 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 1, 0, 1, 15, 2, 15 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 1, 14, 1, 15, 16, 15 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.BlockInscriberInside.getIcon() ); - - // press - this.setInvRenderBounds( renderer, 3, 2, 3, 13, 3, 13 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - this.setInvRenderBounds( renderer, 3, 13, 3, 13, 15, 13 ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - blk.getRendererInstance().setTemporaryRenderIcon( null ); - - renderer.setRenderAllFaces( false ); - // blk.getRendererInstance().setTemporaryRenderIcon( null ); - - } - - @Override - public boolean renderInWorld( final BlockInscriber block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - this.preRenderInWorld( block, world, pos, renderer ); - - final IOrientable te = this.getOrientable( block, world, pos ); - if( te == null ) - { - return false; - } - - final EnumFacing fdy = te.getUp(); - final EnumFacing fdz = te.getForward(); - final EnumFacing fdx = Platform.crossProduct( fdz, fdy ).getOpposite(); - - renderer.setRenderAllFaces( true ); - - // sides... - this.renderBlockBounds( renderer, 3, 1, 0, 13, 15, 3, fdx, fdy, fdz ); - boolean out = renderer.renderStandardBlock( block, pos ); - - this.renderBlockBounds( renderer, 0, 1, 0, 3, 15, 16, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - this.renderBlockBounds( renderer, 13, 1, 0, 16, 15, 16, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - // top bottom.. - this.renderBlockBounds( renderer, 1, 0, 1, 15, 4, 15, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - this.renderBlockBounds( renderer, 1, 12, 1, 15, 16, 15, fdx, fdy, fdz ); - out = renderer.renderStandardBlock( block, pos ); - - block.getRendererInstance().setTemporaryRenderIcon( null ); - - renderer.setRenderAllFaces( false ); - block.getRendererInstance().setTemporaryRenderIcon( null ); - - this.postRenderInWorld( renderer ); - return out; - } - - @Override - public void renderTile( final BlockInscriber block, final TileInscriber tile, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderer ) - { - GL11.glPushMatrix(); - this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() ); - - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - GL11.glDisable( GL11.GL_LIGHTING ); - GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - GL11.glCullFace( GL11.GL_FRONT ); - - final Minecraft mc = Minecraft.getMinecraft(); - mc.renderEngine.bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ); - - // << 20 | light << 4; - final int br = tile.getWorld().getCombinedLight( tile.getPos(), 0 ); - final int var11 = br % 65536; - final int var12 = br / 65536; - - OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11, var12 ); - - long absoluteProgress = 0; - - if( tile.isSmash() ) - { - final long currentTime = System.currentTimeMillis(); - absoluteProgress = currentTime - tile.getClientStart(); - if( absoluteProgress > 800 ) - { - tile.setSmash( false ); - } - } - - final float relativeProgress = absoluteProgress % 800 / 400.0f; - float progress = relativeProgress; - - if( progress > 1.0f ) - { - progress = 1.0f - ( progress - 1.0f ); - } - float press = 0.2f; - press -= progress / 5.0f; - - final IAESprite ic = ExtraBlockTextures.BlockInscriberInside.getIcon(); - tess.begin( GL11.GL_QUADS, DefaultVertexFormats.ITEM ); - - float middle = 0.5f; - middle += 0.02f; - final float TwoPx = 2.0f / 16.0f; - tess.pos( TwoPx, middle + press, TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 2 ) ).endVertex(); - tess.pos( 1.0 - TwoPx, middle + press, TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 2 ) ).endVertex(); - tess.pos( 1.0 - TwoPx, middle + press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 13 ) ).endVertex(); - tess.pos( TwoPx, middle + press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 13 ) ).endVertex(); - - tess.pos( TwoPx, middle + press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 3 ) ).endVertex(); - tess.pos( 1.0 - TwoPx, middle + press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 3 ) ).endVertex(); - final float base = 0.4f; - tess.pos( 1.0 - TwoPx, middle + base, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 3 - 16 * ( press - base ) ) ).endVertex(); - tess.pos( TwoPx, middle + base, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 3 - 16 * ( press - base ) ) ).endVertex(); - - middle -= 2.0f * 0.02f; - tess.pos( 1.0 - TwoPx, middle - press, TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 2 ) ).endVertex(); - tess.pos( TwoPx, middle - press, TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 2 ) ).endVertex(); - tess.pos( TwoPx, middle - press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 13 ) ).endVertex(); - tess.pos( 1.0 - TwoPx, middle - press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 13 ) ).endVertex(); - - tess.pos( 1.0 - TwoPx, middle - press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 3 ) ).endVertex(); - tess.pos( TwoPx, middle - press, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 3 ) ).endVertex(); - tess.pos( TwoPx, middle - base, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 14 ), ic.getInterpolatedV( 3 - 16 * ( press - base ) ) ).endVertex(); - tess.pos( 1.0 - TwoPx, middle + -base, 1.0 - TwoPx ).tex( ic.getInterpolatedU( 2 ), ic.getInterpolatedV( 3 - 16 * ( press - base ) ) ).endVertex(); - - Tessellator.getInstance().draw(); - - GL11.glCullFace( GL11.GL_BACK ); - GL11.glEnable( GL11.GL_LIGHTING ); - GL11.glEnable( GL12.GL_RESCALE_NORMAL ); - GL11.glPopMatrix(); - - int items = 0; - if( tile.getStackInSlot( 0 ) != null ) - { - items++; - } - if( tile.getStackInSlot( 1 ) != null ) - { - items++; - } - if( tile.getStackInSlot( 2 ) != null ) - { - items++; - } - - if( relativeProgress > 1.0f || items == 0 ) - { - ItemStack is = tile.getStackInSlot( 3 ); - - if( is == null ) - { - final IInscriberRecipe ir = tile.getTask(); - if( ir != null ) - { - is = ir.getOutput().copy(); - } - } - - this.renderItem( is, 0.0f, block, tile, tess, x, y, z, f, renderer ); - } - else - { - this.renderItem( tile.getStackInSlot( 0 ), press, block, tile, tess, x, y, z, f, renderer ); - this.renderItem( tile.getStackInSlot( 1 ), -press, block, tile, tess, x, y, z, f, renderer ); - this.renderItem( tile.getStackInSlot( 2 ), 0.0f, block, tile, tess, x, y, z, f, renderer ); - } - } - - private void renderItem( ItemStack sis, final float o, final AEBaseBlock block, final AEBaseTile tile, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderer ) - { - if( sis != null ) - { - sis = sis.copy(); - GL11.glPushMatrix(); - this.applyTESRRotation( x, y, z, tile.getForward(), tile.getUp() ); - - try - { - GL11.glTranslatef( 0.5f, 0.5f + o, 0.5f ); - GL11.glScalef( 1.0f / 1.1f, 1.0f / 1.1f, 1.0f / 1.1f ); - GL11.glScalef( 1.0f, 1.0f, 1.0f ); - - final Block blk = Block.getBlockFromItem( sis.getItem() ); - - /* - * if( sis.getItemSpriteNumber() == 0 && block != null && IRenderHelper.renderItemIn3d( - * blk.getRenderType() ) ) - * { - * GL11.glRotatef( 25.0f, 1.0f, 0.0f, 0.0f ); - * GL11.glRotatef( 15.0f, 0.0f, 1.0f, 0.0f ); - * GL11.glRotatef( 30.0f, 0.0f, 1.0f, 0.0f ); - * } - */ - - GL11.glRotatef( 90.0f, 1, 0, 0 ); - - // << 20 | light << 4; - final int br = tile.getWorld().getCombinedLight( tile.getPos(), 0 ); - final int var11 = br % 65536; - final int var12 = br / 65536; - - OpenGlHelper.setLightmapTextureCoords( OpenGlHelper.lightmapTexUnit, var11, var12 ); - - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - - GL11.glDisable( GL11.GL_LIGHTING ); - GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - - this.doRenderItem( sis, tile ); - } - catch( final Exception err ) - { - AELog.debug( err ); - } - - GL11.glPopMatrix(); - } - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockInterface.java b/src/main/java/appeng/client/render/blocks/RenderBlockInterface.java deleted file mode 100644 index 3a4c6abd9..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockInterface.java +++ /dev/null @@ -1,60 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockInterface; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BlockRenderInfo; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.misc.TileInterface; - - -public class RenderBlockInterface extends BaseBlockRender -{ - - public RenderBlockInterface() - { - super( false, 20 ); - } - - @Override - public boolean renderInWorld( final BlockInterface block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileInterface ti = block.getTileEntity( world, pos ); - final BlockRenderInfo info = block.getRendererInstance(); - - if( ti != null && ti.getForward() != null ) - { - final IAESprite side = ExtraBlockTextures.BlockInterfaceAlternateArrow.getIcon(); - info.setTemporaryRenderIcons( ExtraBlockTextures.BlockInterfaceAlternate.getIcon(), renderer.getIcon( world.getBlockState( pos ) )[0], side, side, side, side ); - } - - final boolean fz = super.renderInWorld( block, world, pos, renderer ); - - info.setTemporaryRenderIcon( null ); - - return fz; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockPaint.java b/src/main/java/appeng/client/render/blocks/RenderBlockPaint.java deleted file mode 100644 index f3099a276..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockPaint.java +++ /dev/null @@ -1,187 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockPaint; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.helpers.Splotch; -import appeng.tile.misc.TilePaint; - - -public class RenderBlockPaint extends BaseBlockRender -{ - - public RenderBlockPaint() - { - super( false, 0 ); - } - - @Override - public void renderInventory( final BlockPaint block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - - } - - @Override - public boolean renderInWorld( final BlockPaint imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator tess ) - { - final TilePaint tp = imb.getTileEntity( world, pos ); - boolean out = false; - if( tp != null ) - { - // super.renderInWorld( imb, world, x, y, z, renderer ); - final int x = pos.getX(); - final int y = pos.getY(); - final int z = pos.getZ(); - - final IAESprite[] icoSet = { imb.getIcon( EnumFacing.UP, imb.getDefaultState() ), ExtraBlockTextures.BlockPaint2.getIcon(), ExtraBlockTextures.BlockPaint3.getIcon() }; - - final int brightness = imb.getLightValue( world.getBlockState( pos ), world, pos ); - - final EnumSet validSides = EnumSet.noneOf( EnumFacing.class ); - - for( final EnumFacing side : EnumFacing.VALUES ) - { - if( tp.isSideValid( side ) ) - { - validSides.add( side ); - } - } - - double offsetConstant = 0.001; - final int lumen = 14 << 20 | 14 << 4; - for( final Splotch s : tp.getDots() ) - { - if( !validSides.contains( s.getSide() ) ) - { - continue; - } - - if( s.isLumen() ) - { - tess.setColorOpaque_I( s.getColor().whiteVariant ); - tess.setBrightness( lumen ); - } - else - { - tess.setColorOpaque_I( s.getColor().mediumVariant ); - tess.setBrightness( brightness ); - } - - double offset = offsetConstant; - offsetConstant += 0.001; - - final double buffer = 0.1; - - double pos_x = s.x(); - double pos_y = s.y(); - - pos_x = Math.max( buffer, Math.min( 1.0 - buffer, pos_x ) ); - pos_y = Math.max( buffer, Math.min( 1.0 - buffer, pos_y ) ); - - if( s.getSide() == EnumFacing.SOUTH || s.getSide() == EnumFacing.NORTH ) - { - pos_x += x; - pos_y += y; - } - - else if( s.getSide() == EnumFacing.UP || s.getSide() == EnumFacing.DOWN ) - { - pos_x += x; - pos_y += z; - } - - else - { - pos_x += y; - pos_y += z; - } - - final IAESprite ico = icoSet[s.getSeed() % icoSet.length]; - final EnumFacing rs = s.getSide().getOpposite(); - - switch( s.getSide() ) - { - case UP: - offset = 1.0 - offset; - tess.addVertexWithUV( rs, pos_x - buffer, y + offset, pos_y - buffer, ico.getMinU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x + buffer, y + offset, pos_y - buffer, ico.getMaxU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x + buffer, y + offset, pos_y + buffer, ico.getMaxU(), ico.getMaxV() ); - tess.addVertexWithUV( rs, pos_x - buffer, y + offset, pos_y + buffer, ico.getMinU(), ico.getMaxV() ); - break; - - case DOWN: - tess.addVertexWithUV( rs, pos_x + buffer, y + offset, pos_y - buffer, ico.getMinU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x - buffer, y + offset, pos_y - buffer, ico.getMaxU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x - buffer, y + offset, pos_y + buffer, ico.getMaxU(), ico.getMaxV() ); - tess.addVertexWithUV( rs, pos_x + buffer, y + offset, pos_y + buffer, ico.getMinU(), ico.getMaxV() ); - break; - - case EAST: - offset = 1.0 - offset; - tess.addVertexWithUV( rs, x + offset, pos_x + buffer, pos_y - buffer, ico.getMinU(), ico.getMinV() ); - tess.addVertexWithUV( rs, x + offset, pos_x - buffer, pos_y - buffer, ico.getMaxU(), ico.getMinV() ); - tess.addVertexWithUV( rs, x + offset, pos_x - buffer, pos_y + buffer, ico.getMaxU(), ico.getMaxV() ); - tess.addVertexWithUV( rs, x + offset, pos_x + buffer, pos_y + buffer, ico.getMinU(), ico.getMaxV() ); - break; - - case WEST: - tess.addVertexWithUV( rs, x + offset, pos_x - buffer, pos_y - buffer, ico.getMinU(), ico.getMinV() ); - tess.addVertexWithUV( rs, x + offset, pos_x + buffer, pos_y - buffer, ico.getMaxU(), ico.getMinV() ); - tess.addVertexWithUV( rs, x + offset, pos_x + buffer, pos_y + buffer, ico.getMaxU(), ico.getMaxV() ); - tess.addVertexWithUV( rs, x + offset, pos_x - buffer, pos_y + buffer, ico.getMinU(), ico.getMaxV() ); - break; - - case SOUTH: - offset = 1.0 - offset; - tess.addVertexWithUV( rs, pos_x + buffer, pos_y - buffer, z + offset, ico.getMinU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x - buffer, pos_y - buffer, z + offset, ico.getMaxU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x - buffer, pos_y + buffer, z + offset, ico.getMaxU(), ico.getMaxV() ); - tess.addVertexWithUV( rs, pos_x + buffer, pos_y + buffer, z + offset, ico.getMinU(), ico.getMaxV() ); - break; - - case NORTH: - tess.addVertexWithUV( rs, pos_x - buffer, pos_y - buffer, z + offset, ico.getMinU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x + buffer, pos_y - buffer, z + offset, ico.getMaxU(), ico.getMinV() ); - tess.addVertexWithUV( rs, pos_x + buffer, pos_y + buffer, z + offset, ico.getMaxU(), ico.getMaxV() ); - tess.addVertexWithUV( rs, pos_x - buffer, pos_y + buffer, z + offset, ico.getMinU(), ico.getMaxV() ); - break; - - default: - } - } - - out = true; - } - - return out; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockQuartzAccelerator.java b/src/main/java/appeng/client/render/blocks/RenderBlockQuartzAccelerator.java deleted file mode 100644 index 2aa69fb34..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockQuartzAccelerator.java +++ /dev/null @@ -1,61 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockQuartzGrowthAccelerator; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.misc.TileQuartzGrowthAccelerator; - - -public class RenderBlockQuartzAccelerator extends BaseBlockRender -{ - - public RenderBlockQuartzAccelerator() - { - super( false, 20 ); - } - - @Override - public boolean renderInWorld( final BlockQuartzGrowthAccelerator blk, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileEntity te = world.getTileEntity( pos ); - if( te instanceof TileQuartzGrowthAccelerator ) - { - if( ( (TileQuartzGrowthAccelerator) te ).isPowered() ) - { - final IAESprite top_Bottom = ExtraBlockTextures.BlockQuartzGrowthAcceleratorOn.getIcon(); - final IAESprite side = ExtraBlockTextures.BlockQuartzGrowthAcceleratorSideOn.getIcon(); - blk.getRendererInstance().setTemporaryRenderIcons( top_Bottom, top_Bottom, side, side, side, side ); - } - } - - final boolean out = super.renderInWorld( blk, world, pos, renderer ); - blk.getRendererInstance().setTemporaryRenderIcon( null ); - - return out; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockSkyChest.java b/src/main/java/appeng/client/render/blocks/RenderBlockSkyChest.java deleted file mode 100644 index 230e820d8..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockSkyChest.java +++ /dev/null @@ -1,149 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.minecraft.block.state.IBlockState; -import net.minecraft.client.Minecraft; -import net.minecraft.client.model.ModelChest; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.block.storage.BlockSkyChest; -import appeng.block.storage.BlockSkyChest.SkyChestType; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.tile.storage.TileSkyChest; - - -public class RenderBlockSkyChest extends BaseBlockRender -{ - - private static final ResourceLocation SKY_STONE_CHEST = new ResourceLocation( "appliedenergistics2", "textures/models/skychest.png" ); - private static final ResourceLocation SKY_BLOCK_CHEST = new ResourceLocation( "appliedenergistics2", "textures/models/skyblockchest.png" ); - private static final ResourceLocation[] METADATA_TO_TEXTURE = { SKY_STONE_CHEST, SKY_BLOCK_CHEST }; - - private final ModelChest model = new ModelChest(); - - public RenderBlockSkyChest() - { - super( true, 80 ); - } - - @Override - public void renderInventory( final BlockSkyChest blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - // GL11.glEnable( GL12.GL_RESCALE_NORMAL ); - // GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - - // final int metaData = is.getItemDamage(); - // final ResourceLocation loc = METADATA_TO_TEXTURE[metaData]; - - // Minecraft.getMinecraft().getTextureManager().bindTexture( loc ); - - // final float lidAngle = 0.0f; - - // GL11.glScalef( 1.0F, -1F, -1F ); - // GL11.glTranslatef( -0.0F, -1.0F, -1.0F ); - - // this.model.chestLid.offsetY = -( 0.9f / 16.0f ); - // this.model.chestLid.rotateAngleX = -( ( lidAngle * 3.141593F ) / 2.0F ); - // this.model.renderAll(); - - // GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - // GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - } - - @Override - public boolean renderInWorld( final BlockSkyChest blk, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - return true; - } - - @Override - public void renderTile( final BlockSkyChest block, final TileSkyChest skyChest, final VertexBuffer tess, final double x, final double y, final double z, final float partialTick, final ModelGenerator renderer ) - { - if( skyChest == null ) - { - return; - } - - if( !skyChest.hasWorldObj() ) - { - return; - } - - GL11.glEnable( GL12.GL_RESCALE_NORMAL ); - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - - final IBlockState metaData = skyChest.getWorld().getBlockState( skyChest.getPos() ); - final ResourceLocation loc = METADATA_TO_TEXTURE[( (BlockSkyChest) metaData.getBlock() ).type == SkyChestType.BLOCK ? 1 : 0]; - - Minecraft.getMinecraft().getTextureManager().bindTexture( loc ); - - this.applyTESRRotation( x, y, z, skyChest.getForward(), skyChest.getUp() ); - - GL11.glScalef( 1.0F, -1F, -1F ); - GL11.glTranslatef( -0.0F, -1.0F, -1.0F ); - - final long now = System.currentTimeMillis(); - final long distance = now - skyChest.getLastEvent(); - - if( skyChest.getPlayerOpen() > 0 ) - { - skyChest.setLidAngle( skyChest.getLidAngle() + distance * 0.0001f ); - } - else - { - skyChest.setLidAngle( skyChest.getLidAngle() - distance * 0.0001f ); - } - - if( skyChest.getLidAngle() > 0.5f ) - { - skyChest.setLidAngle( 0.5f ); - } - - if( skyChest.getLidAngle() < 0.0f ) - { - skyChest.setLidAngle( 0.0f ); - } - - float lidAngle = skyChest.getLidAngle(); - lidAngle = 1.0F - lidAngle; - lidAngle = 1.0F - lidAngle * lidAngle * lidAngle; - - this.model.chestLid.offsetY = -( 1.01f / 16.0f ); - this.model.chestLid.rotateAngleX = -( ( lidAngle * 3.141593F ) / 2.0F ); - - // The vanilla chests wants culling reversed... - GL11.glCullFace( GL11.GL_FRONT ); - this.model.renderAll(); - GL11.glCullFace( GL11.GL_BACK ); - - GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockSkyCompass.java b/src/main/java/appeng/client/render/blocks/RenderBlockSkyCompass.java deleted file mode 100644 index c33666821..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockSkyCompass.java +++ /dev/null @@ -1,248 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import org.lwjgl.opengl.GL11; -import org.lwjgl.opengl.GL12; - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.ResourceLocation; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockSkyCompass; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.model.ModelCompass; -import appeng.hooks.CompassManager; -import appeng.hooks.CompassResult; -import appeng.tile.misc.TileSkyCompass; - - -public class RenderBlockSkyCompass extends BaseBlockRender -{ - - private final ModelCompass model = new ModelCompass(); - - public RenderBlockSkyCompass() - { - super( true, 80 ); - } - - @Override - public void renderInventory( final BlockSkyCompass blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - /* - * if( type == ItemRenderType.INVENTORY ) - * { - * boolean isGood = false; - * IInventory inv = Minecraft.getMinecraft().thePlayer.inventory; - * for( int x = 0; x < inv.getSizeInventory(); x++ ) - * { - * if( inv.getStackInSlot( x ) == is ) - * { - * isGood = true; - * } - * } - * if( !isGood ) - * { - * type = ItemRenderType.FIRST_PERSON_MAP; - * } - * } - * GL11.glEnable( GL12.GL_RESCALE_NORMAL ); - * GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - * ResourceLocation loc = new ResourceLocation( "appliedenergistics2", "textures/models/compass.png" ); - * Minecraft.getMinecraft().getTextureManager().bindTexture( loc ); - * if( type == ItemRenderType.ENTITY ) - * { - * GL11.glRotatef( -90.0f, 0.0f, 0.0f, 1.0f ); - * GL11.glScalef( 1.0F, -1F, -1F ); - * GL11.glScalef( 2.5f, 2.5f, 2.5f ); - * GL11.glTranslatef( -0.25F, -1.65F, -0.19F ); - * } - * else - * { - * if( type == ItemRenderType.EQUIPPED_FIRST_PERSON ) - * { - * GL11.glRotatef( 15.3f, 0.0f, 0.0f, 1.0f ); - * } - * GL11.glScalef( 1.0F, -1F, -1F ); - * GL11.glScalef( 2.5f, 2.5f, 2.5f ); - * if( type == ItemRenderType.EQUIPPED_FIRST_PERSON ) - * { - * GL11.glTranslatef( 0.3F, -1.65F, -0.19F ); - * } - * else - * { - * GL11.glTranslatef( 0.2F, -1.65F, -0.19F ); - * } - * } - * long now = System.currentTimeMillis(); - * if( type == ItemRenderType.EQUIPPED_FIRST_PERSON || type == ItemRenderType.INVENTORY || type == - * ItemRenderType.EQUIPPED ) - * { - * EntityPlayer p = Minecraft.getMinecraft().thePlayer; - * float rYaw = p.rotationYaw; - * if( type == ItemRenderType.EQUIPPED ) - * { - * p = (EntityPlayer) obj[1]; - * rYaw = p.renderYawOffset; - * } - * int x = (int) p.posX; - * int y = (int) p.posY; - * int z = (int) p.posZ; - * CompassResult cr = CompassManager.INSTANCE.getCompassDirection( 0, x, y, z ); - * for( int i = 0; i < 3; i++ ) - * { - * for( int j = 0; j < 3; j++ ) - * { - * CompassManager.INSTANCE.getCompassDirection( 0, x + i - 1, y, z + j - 1 ); - * } - * } - * if( cr.isValidResult() ) - * { - * if( cr.isSpin() ) - * { - * now %= 100000; - * this.model.renderAll( ( now / 50000.0f ) * (float) Math.PI * 500.0f ); - * } - * else - * { - * if( type == ItemRenderType.EQUIPPED_FIRST_PERSON ) - * { - * <<<<<<< HEAD - * float offRads = rYaw / 180.0f * (float) Math.PI; - * float adjustment = (float) Math.PI * 0.74f; - * this.model.renderAll( (float) this.flipidiy( cr.rad + offRads + adjustment ) ); - * } - * else - * { - * float offRads = rYaw / 180.0f * (float) Math.PI; - * float adjustment = (float) Math.PI * -0.74f; - * this.model.renderAll( (float) this.flipidiy( cr.rad + offRads + adjustment ) ); - * ======= - * final float offRads = rYaw / 180.0f * (float) Math.PI; - * final float adjustment = (float) Math.PI * 0.74f; - * this.model.renderAll( (float) this.flipidiy( cr.getRad() + offRads + adjustment ) ); - * } - * else - * { - * final float offRads = rYaw / 180.0f * (float) Math.PI; - * final float adjustment = (float) Math.PI * -0.74f; - * this.model.renderAll( (float) this.flipidiy( cr.getRad() + offRads + adjustment ) ); - * >>>>>>> 500fc47... Reduces visibility of internal fields/methods - * } - * } - * } - * else - * { - * now %= 1000000; - * this.model.renderAll( ( now / 500000.0f ) * (float) Math.PI * 500.0f ); - * } - * } - * else - * { - * now %= 100000; - * this.model.renderAll( ( now / 50000.0f ) * (float) Math.PI * 500.0f ); - * } - * GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - * GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - */ - } - - @Override - public boolean renderInWorld( final BlockSkyCompass blk, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - return true; - } - - @Override - public void renderTile( final BlockSkyCompass block, final TileSkyCompass skyCompass, final VertexBuffer tess, final double x, final double y, final double z, final float partialTick, final ModelGenerator renderer ) - { - if( skyCompass == null ) - { - return; - } - - if( !skyCompass.hasWorldObj() ) - { - return; - } - - GL11.glEnable( GL12.GL_RESCALE_NORMAL ); - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - GL11.glCullFace( GL11.GL_FRONT ); - - final ResourceLocation loc = new ResourceLocation( "appliedenergistics2", "textures/models/compass.png" ); - - Minecraft.getMinecraft().getTextureManager().bindTexture( loc ); - - this.applyTESRRotation( x, y, z, skyCompass.getUp(), skyCompass.getForward() ); - - GL11.glScalef( 1.0F, -1F, -1F ); - GL11.glTranslatef( 0.5F, -1.5F, -0.5F ); - - long now = System.currentTimeMillis(); - - CompassResult cr = null; - if( skyCompass.getForward() == EnumFacing.UP || skyCompass.getForward() == EnumFacing.DOWN ) - { - final BlockPos compassPos = skyCompass.getPos(); - cr = CompassManager.INSTANCE.getCompassDirection( 0, compassPos.getX(), compassPos.getY(), compassPos.getZ() ); - } - else - { - cr = new CompassResult( false, true, 0 ); - } - - if( cr.isValidResult() ) - { - if( cr.isSpin() ) - { - now %= 100000; - this.model.renderAll( ( now / 50000.0f ) * (float) Math.PI * 500.0f ); - } - else - { - this.model.renderAll( (float) ( skyCompass.getForward() == EnumFacing.DOWN ? this.flipidiy( cr.getRad() ) : cr.getRad() ) ); - } - } - else - { - now %= 1000000; - this.model.renderAll( ( now / 500000.0f ) * (float) Math.PI * 500.0f ); - } - - GL11.glCullFace( GL11.GL_BACK ); - GL11.glDisable( GL12.GL_RESCALE_NORMAL ); - GL11.glColor4f( 1.0F, 1.0F, 1.0F, 1.0F ); - } - - private double flipidiy( final double rad ) - { - final double x = Math.cos( rad ); - final double y = Math.sin( rad ); - return Math.atan2( -y, x ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderBlockWireless.java b/src/main/java/appeng/client/render/blocks/RenderBlockWireless.java deleted file mode 100644 index 5ae434b87..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderBlockWireless.java +++ /dev/null @@ -1,265 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.AEColor; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.networking.BlockWireless; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BlockRenderInfo; -import appeng.client.texture.CableBusTextures; -import appeng.client.texture.ExtraBlockTextures; -import appeng.client.texture.OffsetIcon; -import appeng.tile.networking.TileWireless; -import appeng.util.Platform; - - -public class RenderBlockWireless extends BaseBlockRender -{ - - private BlockPos center; - private BlockWireless blk; - private boolean hasChan = false; - private boolean hasPower = false; - - public RenderBlockWireless() - { - super( false, 20 ); - } - - @Override - public void renderInventory( final BlockWireless blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - this.blk = blk; - this.center = new BlockPos( 0, 0, 0 ); - this.hasChan = false; - this.hasPower = false; - final BlockRenderInfo ri = blk.getRendererInstance(); - - renderer.setRenderAllFaces( true ); - - IAESprite r = CableBusTextures.PartMonitorSidesStatus.getIcon(); - ri.setTemporaryRenderIcons( r, r, CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), r, r ); - this.renderBlockBounds( renderer, 5, 5, 0, 11, 11, 1, EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - r = CableBusTextures.PartWirelessSides.getIcon(); - ri.setTemporaryRenderIcons( r, r, ExtraBlockTextures.BlockWirelessInside.getIcon(), ExtraBlockTextures.BlockWirelessInside.getIcon(), r, r ); - this.renderBlockBounds( renderer, 5, 5, 1, 11, 11, 2, EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - // renderer.startDrawingQuads(); - ri.setTemporaryRenderIcon( null ); - this.renderTorchAtAngle( renderer, EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - super.postRenderInWorld( renderer ); - - ri.setTemporaryRenderIcons( r, r, ExtraBlockTextures.BlockWirelessInside.getIcon(), ExtraBlockTextures.BlockWirelessInside.getIcon(), r, r ); - - final AEPartLocation[] sides = { AEPartLocation.EAST, AEPartLocation.WEST, AEPartLocation.UP, AEPartLocation.DOWN }; - - int s = 1; - - for( final AEPartLocation side : sides ) - { - this.renderBlockBounds( renderer, 8 + ( side.xOffset != 0 ? side.xOffset * 2 : -2 ), 8 + ( side.yOffset != 0 ? side.yOffset * 2 : -2 ), 2 + ( side.zOffset != 0 ? side.zOffset * 2 : -1 ) + s, 8 + ( side.xOffset != 0 ? side.xOffset * 4 : 2 ), 8 + ( side.yOffset != 0 ? side.yOffset * 4 : 2 ), 2 + ( side.zOffset != 0 ? side.zOffset * 5 : 1 ) + s, EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - } - - s = 3; - for( final AEPartLocation side : sides ) - { - this.renderBlockBounds( renderer, 8 + ( side.xOffset != 0 ? side.xOffset * 4 : -1 ), 8 + ( side.yOffset != 0 ? side.yOffset * 4 : -1 ), 1 + ( side.zOffset != 0 ? side.zOffset * 4 : -1 ) + s, 8 + ( side.xOffset != 0 ? side.xOffset * 5 : 1 ), 8 + ( side.yOffset != 0 ? side.yOffset * 5 : 1 ), 2 + ( side.zOffset != 0 ? side.zOffset * 5 : 1 ) + s, EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - } - } - - @Override - public boolean renderInWorld( final BlockWireless blk, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileWireless tw = blk.getTileEntity( world, pos ); - this.blk = blk; - if( tw != null ) - { - this.hasChan = ( tw.getClientFlags() & ( TileWireless.POWERED_FLAG | TileWireless.CHANNEL_FLAG ) ) == ( TileWireless.POWERED_FLAG | TileWireless.CHANNEL_FLAG ); - this.hasPower = ( tw.getClientFlags() & TileWireless.POWERED_FLAG ) == TileWireless.POWERED_FLAG; - - final BlockRenderInfo ri = blk.getRendererInstance(); - - final EnumFacing fdy = tw.getUp(); - final EnumFacing fdz = tw.getForward(); - final EnumFacing fdx = Platform.crossProduct( fdz, fdy ).getOpposite(); - - renderer.setRenderAllFaces( true ); - - IAESprite r = CableBusTextures.PartMonitorSidesStatus.getIcon(); - ri.setTemporaryRenderIcons( r, r, CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), r, r ); - this.renderBlockBounds( renderer, 5, 5, 0, 11, 11, 1, fdx, fdy, fdz ); - super.renderInWorld( blk, world, pos, renderer ); - - r = CableBusTextures.PartWirelessSides.getIcon(); - ri.setTemporaryRenderIcons( r, r, ExtraBlockTextures.BlockWirelessInside.getIcon(), ExtraBlockTextures.BlockWirelessInside.getIcon(), r, r ); - this.renderBlockBounds( renderer, 5, 5, 1, 11, 11, 2, fdx, fdy, fdz ); - super.renderInWorld( blk, world, pos, renderer ); - - this.center = pos; - ri.setTemporaryRenderIcon( null ); - - this.renderTorchAtAngle( renderer, fdx, fdy, fdz ); - super.postRenderInWorld( renderer ); - - ri.setTemporaryRenderIcons( r, r, ExtraBlockTextures.BlockWirelessInside.getIcon(), ExtraBlockTextures.BlockWirelessInside.getIcon(), r, r ); - - final AEPartLocation[] sides = { AEPartLocation.EAST, AEPartLocation.WEST, AEPartLocation.UP, AEPartLocation.DOWN }; - - int s = 1; - - for( final AEPartLocation side : sides ) - { - this.renderBlockBounds( renderer, 8 + ( side.xOffset != 0 ? side.xOffset * 2 : -2 ), 8 + ( side.yOffset != 0 ? side.yOffset * 2 : -2 ), 2 + ( side.zOffset != 0 ? side.zOffset * 2 : -1 ) + s, 8 + ( side.xOffset != 0 ? side.xOffset * 4 : 2 ), 8 + ( side.yOffset != 0 ? side.yOffset * 4 : 2 ), 2 + ( side.zOffset != 0 ? side.zOffset * 5 : 1 ) + s, fdx, fdy, fdz ); - super.renderInWorld( blk, world, pos, renderer ); - } - - s = 3; - for( final AEPartLocation side : sides ) - { - this.renderBlockBounds( renderer, 8 + ( side.xOffset != 0 ? side.xOffset * 4 : -1 ), 8 + ( side.yOffset != 0 ? side.yOffset * 4 : -1 ), 1 + ( side.zOffset != 0 ? side.zOffset * 4 : -1 ) + s, 8 + ( side.xOffset != 0 ? side.xOffset * 5 : 1 ), 8 + ( side.yOffset != 0 ? side.yOffset * 5 : 1 ), 2 + ( side.zOffset != 0 ? side.zOffset * 5 : 1 ) + s, fdx, fdy, fdz ); - super.renderInWorld( blk, world, pos, renderer ); - } - - r = CableBusTextures.PartMonitorSidesStatusLights.getIcon(); - // ri.setTemporaryRenderIcons( r, r, ExtraTextures.BlockChargerInside.getIcon(), - // ExtraTextures.BlockChargerInside.getIcon(), r, r ); - this.renderBlockBounds( renderer, 5, 5, 0, 11, 11, 1, fdx, fdy, fdz ); - - if( this.hasChan ) - { - final int l = 14; - renderer.setBrightness( l << 20 | l << 4 ); - renderer.setColorOpaque_I( AEColor.Transparent.blackVariant ); - } - else if( this.hasPower ) - { - final int l = 9; - renderer.setBrightness( l << 20 | l << 4 ); - renderer.setColorOpaque_I( AEColor.Transparent.whiteVariant ); - } - else - { - renderer.setBrightness( 0 ); - renderer.setColorOpaque_I( 0x000000 ); - } - - if( EnumFacing.UP != fdz.getOpposite() ) - { - super.renderFace( pos, blk, r, renderer, EnumFacing.UP ); - } - if( EnumFacing.DOWN != fdz.getOpposite() ) - { - super.renderFace( pos, blk, r, renderer, EnumFacing.DOWN ); - } - if( EnumFacing.EAST != fdz.getOpposite() ) - { - super.renderFace( pos, blk, r, renderer, EnumFacing.EAST ); - } - if( EnumFacing.WEST != fdz.getOpposite() ) - { - super.renderFace( pos, blk, r, renderer, EnumFacing.WEST ); - } - if( EnumFacing.SOUTH != fdz.getOpposite() ) - { - super.renderFace( pos, blk, r, renderer, EnumFacing.SOUTH ); - } - if( EnumFacing.NORTH != fdz.getOpposite() ) - { - super.renderFace( pos, blk, r, renderer, EnumFacing.NORTH ); - } - - ri.setTemporaryRenderIcon( null ); - renderer.setRenderAllFaces( false ); - } - - return true; - } - - private void renderTorchAtAngle( final ModelGenerator renderer, final EnumFacing x, final EnumFacing y, final EnumFacing z ) - { - final IAESprite r = ( this.hasChan ? CableBusTextures.BlockWirelessOn.getIcon() : renderer.getIcon( this.blk.getDefaultState() )[0] ); - final IAESprite sides = new OffsetIcon( r, 0.0f, -2.0f ); - - switch( z ) - { - case DOWN: - renderer.setUvRotateNorth( 3 ); - renderer.setUvRotateSouth( 3 ); - renderer.setUvRotateEast( 3 ); - renderer.setUvRotateWest( 3 ); - break; - case EAST: - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateBottom( 2 ); - renderer.setUvRotateEast( 2 ); - renderer.setUvRotateWest( 1 ); - break; - case NORTH: - renderer.setUvRotateTop( 0 ); - renderer.setUvRotateBottom( 0 ); - renderer.setUvRotateNorth( 2 ); - renderer.setUvRotateSouth( 1 ); - break; - case SOUTH: - renderer.setUvRotateTop( 3 ); - renderer.setUvRotateBottom( 3 ); - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 2 ); - break; - case WEST: - renderer.setUvRotateTop( 2 ); - renderer.setUvRotateBottom( 1 ); - renderer.setUvRotateEast( 1 ); - renderer.setUvRotateWest( 2 ); - break; - default: - break; - } - - renderer.setColorOpaque_I( 0xffffff ); - this.renderBlockBounds( renderer, 0, 7, 1, 16, 9, 16, x, y, z ); - this.renderFace( this.center, this.blk, sides, renderer, y ); - this.renderFace( this.center, this.blk, sides, renderer, y.getOpposite() ); - - this.renderBlockBounds( renderer, 7, 0, 1, 9, 16, 16, x, y, z ); - this.renderFace( this.center, this.blk, sides, renderer, x ); - this.renderFace( this.center, this.blk, sides, renderer, x.getOpposite() ); - - this.renderBlockBounds( renderer, 7, 7, 1, 9, 9, 10.6, x, y, z ); - this.renderFace( this.center, this.blk, r, renderer, z ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderDrive.java b/src/main/java/appeng/client/render/blocks/RenderDrive.java deleted file mode 100644 index 9822772e6..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderDrive.java +++ /dev/null @@ -1,349 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.storage.BlockDrive; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.storage.TileDrive; -import appeng.util.Platform; - - -public class RenderDrive extends BaseBlockRender -{ - - public RenderDrive() - { - super( false, 0 ); - } - - @Override - public void renderInventory( final BlockDrive block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setOverrideBlockTexture( ExtraBlockTextures.White.getIcon() ); - this.renderInvBlock( EnumSet.of( AEPartLocation.SOUTH ), block, is, 0x000000, renderer ); - - renderer.setOverrideBlockTexture( null ); - super.renderInventory( block, is, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final BlockDrive imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileDrive sp = imb.getTileEntity( world, pos ); - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - final EnumFacing up = sp.getUp(); - final EnumFacing forward = sp.getForward(); - final EnumFacing west = Platform.crossProduct( forward, up ); - - final boolean result = super.renderInWorld( imb, world, pos, renderer ); - - final IAESprite ico = ExtraBlockTextures.MEStorageCellTextures.getIcon(); - - final int b = world.getCombinedLight( pos.offset( forward ), 0 ); - - for( int yy = 0; yy < 5; yy++ ) - { - for( int xx = 0; xx < 2; xx++ ) - { - final int stat = sp.getCellStatus( yy * 2 + ( 1 - xx ) ); - this.selectFace( renderer, west, up, forward, 2 + xx * 7, 7 + xx * 7, 1 + yy * 3, 3 + yy * 3 ); - - int spin = 0; - - switch( forward.getFrontOffsetX() + forward.getFrontOffsetY() * 2 + forward.getFrontOffsetZ() * 3 ) - { - case 1: - switch( up ) - { - case UP: - spin = 3; - break; - case DOWN: - spin = 1; - break; - case NORTH: - spin = 0; - break; - case SOUTH: - spin = 2; - break; - default: - } - break; - case -1: - switch( up ) - { - case UP: - spin = 1; - break; - case DOWN: - spin = 3; - break; - case NORTH: - spin = 0; - break; - case SOUTH: - spin = 2; - break; - default: - } - break; - case -2: - switch( up ) - { - case EAST: - spin = 1; - break; - case WEST: - spin = 3; - break; - case NORTH: - spin = 2; - break; - case SOUTH: - spin = 0; - break; - default: - } - break; - case 2: - switch( up ) - { - case EAST: - spin = 1; - break; - case WEST: - spin = 3; - break; - case NORTH: - spin = 0; - break; - case SOUTH: - spin = 0; - break; - default: - } - break; - case 3: - switch( up ) - { - case UP: - spin = 2; - break; - case DOWN: - spin = 0; - break; - case EAST: - spin = 3; - break; - case WEST: - spin = 1; - break; - default: - } - break; - case -3: - switch( up ) - { - case UP: - spin = 2; - break; - case DOWN: - spin = 0; - break; - case EAST: - spin = 1; - break; - case WEST: - spin = 3; - break; - default: - } - break; - } - - double u1 = ico.getInterpolatedU( ( spin % 4 < 2 ) ? 1 : 6 ); - double u2 = ico.getInterpolatedU( ( ( spin + 1 ) % 4 < 2 ) ? 1 : 6 ); - double u3 = ico.getInterpolatedU( ( ( spin + 2 ) % 4 < 2 ) ? 1 : 6 ); - double u4 = ico.getInterpolatedU( ( ( spin + 3 ) % 4 < 2 ) ? 1 : 6 ); - - int m = 1; - int mx = 3; - if( stat == 0 ) - { - m = 4; - mx = 5; - } - - double v1 = ico.getInterpolatedV( ( ( spin + 1 ) % 4 < 2 ) ? m : mx ); - double v2 = ico.getInterpolatedV( ( ( spin + 2 ) % 4 < 2 ) ? m : mx ); - double v3 = ico.getInterpolatedV( ( ( spin + 3 ) % 4 < 2 ) ? m : mx ); - double v4 = ico.getInterpolatedV( ( ( spin ) % 4 < 2 ) ? m : mx ); - - final int x = pos.getX(); - final int y = pos.getY(); - final int z = pos.getZ(); - - renderer.setBrightness( b ); - renderer.setColorOpaque_I( 0xffffff ); - switch( forward.getFrontOffsetX() + forward.getFrontOffsetY() * 2 + forward.getFrontOffsetZ() * 3 ) - { - case 1: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case -1: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case -2: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case 2: - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case 3: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u4, v4 ); - break; - case -3: - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u4, v4 ); - break; - } - - if( ( forward == EnumFacing.UP && up == EnumFacing.SOUTH ) || forward == EnumFacing.DOWN ) - { - this.selectFace( renderer, west, up, forward, 3 + xx * 7, 4 + xx * 7, 1 + yy * 3, 2 + yy * 3 ); - } - else - { - this.selectFace( renderer, west, up, forward, 5 + xx * 7, 6 + xx * 7, 2 + yy * 3, 3 + yy * 3 ); - } - - if( stat != 0 ) - { - final IAESprite whiteIcon = ExtraBlockTextures.White.getIcon(); - u1 = whiteIcon.getInterpolatedU( ( spin % 4 < 2 ) ? 1 : 6 ); - u2 = whiteIcon.getInterpolatedU( ( ( spin + 1 ) % 4 < 2 ) ? 1 : 6 ); - u3 = whiteIcon.getInterpolatedU( ( ( spin + 2 ) % 4 < 2 ) ? 1 : 6 ); - u4 = whiteIcon.getInterpolatedU( ( ( spin + 3 ) % 4 < 2 ) ? 1 : 6 ); - - v1 = whiteIcon.getInterpolatedV( ( ( spin + 1 ) % 4 < 2 ) ? 1 : 3 ); - v2 = whiteIcon.getInterpolatedV( ( ( spin + 2 ) % 4 < 2 ) ? 1 : 3 ); - v3 = whiteIcon.getInterpolatedV( ( ( spin + 3 ) % 4 < 2 ) ? 1 : 3 ); - v4 = whiteIcon.getInterpolatedV( ( ( spin ) % 4 < 2 ) ? 1 : 3 ); - - if( sp.isPowered() ) - { - renderer.setBrightness( 15 << 20 | 15 << 4 ); - } - else - { - renderer.setBrightness( 0 ); - } - - if( stat == 1 ) - { - renderer.setColorOpaque_I( 0x00ff00 ); - } - if( stat == 2 ) - { - renderer.setColorOpaque_I( 0xffaa00 ); - } - if( stat == 3 ) - { - renderer.setColorOpaque_I( 0xff0000 ); - } - - switch( forward.getFrontOffsetX() + forward.getFrontOffsetY() * 2 + forward.getFrontOffsetZ() * 3 ) - { - case 1: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case -1: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case -2: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case 2: - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMinZ(), u4, v4 ); - break; - case 3: - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u4, v4 ); - break; - case -3: - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u1, v1 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMinX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u2, v2 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMaxY(), z + renderer.getRenderMaxZ(), u3, v3 ); - renderer.addVertexWithUV( forward, x + renderer.getRenderMaxX(), y + renderer.getRenderMinY(), z + renderer.getRenderMaxZ(), u4, v4 ); - break; - } - } - } - } - - renderer.setOverrideBlockTexture( null ); - return result; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderMEChest.java b/src/main/java/appeng/client/render/blocks/RenderMEChest.java deleted file mode 100644 index 2a8e13d95..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderMEChest.java +++ /dev/null @@ -1,188 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.AEApi; -import appeng.api.storage.ICellHandler; -import appeng.api.util.AEColor; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.storage.BlockChest; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.client.texture.FlippableIcon; -import appeng.client.texture.OffsetIcon; -import appeng.tile.storage.TileChest; -import appeng.util.Platform; - - -public class RenderMEChest extends BaseBlockRender -{ - - public RenderMEChest() - { - super( false, 0 ); - } - - @Override - public void renderInventory( final BlockChest block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setBrightness( 0 ); - renderer.setOverrideBlockTexture( ExtraBlockTextures.White.getIcon() ); - this.renderInvBlock( EnumSet.of( AEPartLocation.SOUTH ), block, is, 0x000000, renderer ); - - renderer.setOverrideBlockTexture( ExtraBlockTextures.MEChest.getIcon() ); - this.renderInvBlock( EnumSet.of( AEPartLocation.UP ), block, is, this.adjustBrightness( AEColor.Transparent.whiteVariant, 0.7 ), renderer ); - - renderer.setOverrideBlockTexture( null ); - super.renderInventory( block, is, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final BlockChest imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileChest sp = imb.getTileEntity( world, pos ); - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - if( sp == null ) - { - return false; - } - - final EnumFacing up = sp.getUp(); - final EnumFacing forward = sp.getForward(); - final EnumFacing west = Platform.crossProduct( forward, up ); - - this.preRenderInWorld( imb, world, pos, renderer ); - - final int stat = sp.getCellStatus( 0 ); - final boolean result = renderer.renderStandardBlock( imb, pos ); - - this.selectFace( renderer, west, up, forward, 5, 16 - 5, 9, 12 ); - - int offsetV = 8; - if( stat == 0 ) - { - offsetV = 3; - } - - int b = world.getCombinedLight( pos.offset( forward ), 0 ); - renderer.setBrightness( b ); - renderer.setColorOpaque_I( 0xffffff ); - - final int offsetU = -4; - final FlippableIcon flippableIcon = new FlippableIcon( new OffsetIcon( ExtraBlockTextures.MEStorageCellTextures.getIcon(), offsetU, offsetV ) ); - if( forward == EnumFacing.EAST && ( up == EnumFacing.NORTH || up == EnumFacing.SOUTH ) ) - { - flippableIcon.setFlip( true, false ); - } - else if( forward == EnumFacing.NORTH && up == EnumFacing.EAST ) - { - flippableIcon.setFlip( false, true ); - } - else if( forward == EnumFacing.NORTH && up == EnumFacing.WEST ) - { - flippableIcon.setFlip( true, false ); - } - else if( forward == EnumFacing.DOWN && up == EnumFacing.EAST ) - { - flippableIcon.setFlip( false, true ); - } - else if( forward == EnumFacing.DOWN ) - { - flippableIcon.setFlip( true, false ); - } - - /* - * 1.7.2 - * else if ( forward == AEPartLocation.EAST && up == AEPartLocation.UP ) flippableIcon.setFlip( true, false ); - * else if ( - * forward == AEPartLocation.NORTH && up == AEPartLocation.UP ) flippableIcon.setFlip( true, false ); - */ - - this.renderFace( pos, imb, flippableIcon, renderer, forward ); - - if( stat != 0 ) - { - b = 0; - if( sp.isPowered() ) - { - b = 15 << 20 | 15 << 4; - } - - renderer.setBrightness( b ); - if( stat == 1 ) - { - renderer.setColorOpaque_I( 0x00ff00 ); - } - if( stat == 2 ) - { - renderer.setColorOpaque_I( 0xffaa00 ); - } - if( stat == 3 ) - { - renderer.setColorOpaque_I( 0xff0000 ); - } - this.selectFace( renderer, west, up, forward, 9, 10, 11, 12 ); - this.renderFace( pos, imb, ExtraBlockTextures.White.getIcon(), renderer, forward ); - } - - b = world.getCombinedLight( pos.offset( up ), 0 ); - if( sp.isPowered() ) - { - b = 15 << 20 | 15 << 4; - } - - renderer.setBrightness( b ); - renderer.setColorOpaque_I( 0xffffff ); - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - final ICellHandler ch = AEApi.instance().registries().cell().getHandler( sp.getStorageType() ); - - renderer.setColorOpaque_I( sp.getColor().whiteVariant ); - IAESprite ico = ch == null ? null : ch.getTopTexture_Light(); - this.renderFace( pos, imb, ico == null ? ExtraBlockTextures.MEChest.getIcon() : ico, renderer, up ); - - if( ico != null ) - { - renderer.setColorOpaque_I( sp.getColor().mediumVariant ); - ico = ch == null ? null : ch.getTopTexture_Medium(); - this.renderFace( pos, imb, ico == null ? ExtraBlockTextures.MEChest.getIcon() : ico, renderer, up ); - - renderer.setColorOpaque_I( sp.getColor().blackVariant ); - ico = ch == null ? null : ch.getTopTexture_Dark(); - this.renderFace( pos, imb, ico == null ? ExtraBlockTextures.MEChest.getIcon() : ico, renderer, up ); - } - - renderer.setOverrideBlockTexture( null ); - this.postRenderInWorld( renderer ); - - return result; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderNull.java b/src/main/java/appeng/client/render/blocks/RenderNull.java deleted file mode 100644 index e79f4914e..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderNull.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.tile.AEBaseTile; - - -public class RenderNull extends BaseBlockRender -{ - - public RenderNull() - { - super( false, 20 ); - } - - @Override - public void renderInventory( final AEBaseBlock block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - - } - - @Override - public boolean renderInWorld( final AEBaseBlock block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - return true; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderQNB.java b/src/main/java/appeng/client/render/blocks/RenderQNB.java deleted file mode 100644 index a2398f3be..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderQNB.java +++ /dev/null @@ -1,207 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.Collection; -import java.util.EnumSet; - -import net.minecraft.block.Block; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.AEApi; -import appeng.api.definitions.IBlocks; -import appeng.api.definitions.IDefinitions; -import appeng.api.definitions.IParts; -import appeng.api.util.AEColor; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.qnb.BlockQuantumBase; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.qnb.TileQuantumBridge; - - -public class RenderQNB extends BaseBlockRender -{ - - @Override - public void renderInventory( final BlockQuantumBase block, final ItemStack item, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - final float minPx = 2.0f / 16.0f; - final float maxPx = 14.0f / 16.0f; - renderer.setRenderBounds( minPx, minPx, minPx, maxPx, maxPx, maxPx ); - - super.renderInventory( block, item, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final BlockQuantumBase block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileQuantumBridge tqb = block.getTileEntity( world, pos ); - if( tqb == null ) - { - return false; - } - - renderer.setRenderAllFaces( true ); - - final IDefinitions definitions = AEApi.instance().definitions(); - final IBlocks blocks = definitions.blocks(); - final IParts parts = definitions.parts(); - - for( final Block linkBlock : blocks.quantumLink().maybeBlock().asSet() ) - { - if( tqb.getBlockType() == linkBlock ) - { - if( tqb.isFormed() ) - { - final EnumSet sides = tqb.getConnections(); - - this.renderCableAt( 0.11D, world, pos, block, renderer, renderer.getIcon( parts.cableGlass().stack( AEColor.Transparent, 1 ) ), 0.141D, sides ); - - final Item transCoveredCable = parts.cableCovered().item( AEColor.Transparent ); - this.renderCableAt( 0.188D, world, pos, block, renderer, renderer.getIcon( parts.cableCovered().stack( AEColor.Transparent, 1 ) ), 0.1875D, sides ); - } - - final float renderMin = 2.0f / 16.0f; - final float renderMax = 14.0f / 16.0f; - renderer.setRenderBounds( renderMin, renderMin, renderMin, renderMax, renderMax, renderMax ); - renderer.renderStandardBlock( block, pos ); - } - else - { - if( !tqb.isFormed() ) - { - final float renderMin = 2.0f / 16.0f; - final float renderMax = 14.0f / 16.0f; - renderer.setRenderBounds( renderMin, renderMin, renderMin, renderMax, renderMax, renderMax ); - renderer.renderStandardBlock( block, pos ); - } - else if( tqb.isCorner() ) - { - final Item transCoveredCable = parts.cableCovered().item( AEColor.Transparent ); - this.renderCableAt( 0.188D, world, pos, block, renderer, renderer.getIcon( parts.cableCovered().stack( AEColor.Transparent, 1 ) ), 0.05D, tqb.getConnections() ); - - float renderMin = 4.0f / 16.0f; - float renderMax = 12.0f / 16.0f; - - renderer.setRenderBounds( renderMin, renderMin, renderMin, renderMax, renderMax, renderMax ); - renderer.renderStandardBlock( block, pos ); - - if( tqb.isPowered() ) - { - - renderMin = 3.9f / 16.0f; - renderMax = 12.1f / 16.0f; - renderer.setRenderBounds( renderMin, renderMin, renderMin, renderMax, renderMax, renderMax ); - - renderer.setColorOpaque_F( 1.0F, 1.0F, 1.0F ); - final int bn = 15; - renderer.setBrightness( bn << 20 | bn << 4 ); - for( final EnumFacing side : EnumFacing.VALUES ) - { - this.renderFace( pos, block, ExtraBlockTextures.BlockQRingCornerLight.getIcon(), renderer, side ); - } - } - } - else - { - float renderMin = 2.0f / 16.0f; - float renderMax = 14.0f / 16.0f; - renderer.setRenderBounds( 0, renderMin, renderMin, 1, renderMax, renderMax ); - renderer.renderStandardBlock( block, pos ); - - renderer.setRenderBounds( renderMin, 0, renderMin, renderMax, 1, renderMax ); - renderer.renderStandardBlock( block, pos ); - - renderer.setRenderBounds( renderMin, renderMin, 0, renderMax, renderMax, 1 ); - renderer.renderStandardBlock( block, pos ); - - if( tqb.isPowered() ) - { - renderMin = -0.01f / 16.0f; - renderMax = 16.01f / 16.0f; - renderer.setRenderBounds( renderMin, renderMin, renderMin, renderMax, renderMax, renderMax ); - - renderer.setColorOpaque_F( 1.0F, 1.0F, 1.0F ); - final int bn = 15; - renderer.setBrightness( bn << 20 | bn << 4 ); - for( final EnumFacing side : EnumFacing.VALUES ) - { - this.renderFace( pos, block, ExtraBlockTextures.BlockQRingEdgeLight.getIcon(), renderer, side ); - } - } - } - } - } - - renderer.setRenderAllFaces( false ); - return true; - } - - private void renderCableAt( final double thickness, final IBlockAccess world, final BlockPos pos, final BlockQuantumBase block, final ModelGenerator renderer, final IAESprite texture, final double pull, final Collection connections ) - { - block.getRendererInstance().setTemporaryRenderIcon( texture ); - - if( connections.contains( AEPartLocation.WEST ) ) - { - renderer.setRenderBounds( 0.0D, 0.5D - thickness, 0.5D - thickness, 0.5D - thickness - pull, 0.5D + thickness, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - if( connections.contains( AEPartLocation.EAST ) ) - { - renderer.setRenderBounds( 0.5D + thickness + pull, 0.5D - thickness, 0.5D - thickness, 1.0D, 0.5D + thickness, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - if( connections.contains( AEPartLocation.NORTH ) ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.5D - thickness, 0.0D, 0.5D + thickness, 0.5D + thickness, 0.5D - thickness - pull ); - renderer.renderStandardBlock( block, pos ); - } - - if( connections.contains( AEPartLocation.SOUTH ) ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.5D - thickness, 0.5D + thickness + pull, 0.5D + thickness, 0.5D + thickness, 1.0D ); - renderer.renderStandardBlock( block, pos ); - } - - if( connections.contains( AEPartLocation.DOWN ) ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.0D, 0.5D - thickness, 0.5D + thickness, 0.5D - thickness - pull, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - if( connections.contains( AEPartLocation.UP ) ) - { - renderer.setRenderBounds( 0.5D - thickness, 0.5D + thickness + pull, 0.5D - thickness, 0.5D + thickness, 1.0D, 0.5D + thickness ); - renderer.renderStandardBlock( block, pos ); - } - - block.getRendererInstance().setTemporaryRenderIcon( null ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderQuartzGlass.java b/src/main/java/appeng/client/render/blocks/RenderQuartzGlass.java deleted file mode 100644 index 673c0c1f3..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderQuartzGlass.java +++ /dev/null @@ -1,237 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.Random; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.AEApi; -import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.client.texture.OffsetIcon; -import appeng.decorative.solid.QuartzGlassBlock; -import appeng.tile.AEBaseTile; - - -public class RenderQuartzGlass extends BaseBlockRender -{ - - private static byte[][][] offsets; - - public RenderQuartzGlass() - { - super( false, 0 ); - if( offsets == null ) - { - final Random r = new Random( 924 ); - offsets = new byte[10][10][10]; - for( int x = 0; x < 10; x++ ) - { - for( int y = 0; y < 10; y++ ) - { - r.nextBytes( offsets[x][y] ); - } - } - } - } - - @Override - public void renderInventory( final QuartzGlassBlock block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setOverrideBlockTexture( ExtraBlockTextures.GlassFrame.getIcon() ); - super.renderInventory( block, is, renderer, type, obj ); - renderer.setOverrideBlockTexture( null ); - super.renderInventory( block, is, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final QuartzGlassBlock imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - final int cx = Math.abs( pos.getX() % 10 ); - final int cy = Math.abs( pos.getY() % 10 ); - final int cz = Math.abs( pos.getZ() % 10 ); - - final int u = offsets[cx][cy][cz] % 4; - final int v = offsets[9 - cx][9 - cy][9 - cz] % 4; - - switch( Math.abs( ( offsets[cx][cy][cz] + ( pos.getX() + pos.getY() + pos.getZ() ) ) % 4 ) ) - { - case 0: - renderer.setOverrideBlockTexture( new OffsetIcon( renderer.getIcon( world.getBlockState( pos ) )[0], u / 2, v / 2 ) ); - break; - case 1: - renderer.setOverrideBlockTexture( new OffsetIcon( ExtraBlockTextures.BlockQuartzGlassB.getIcon(), u / 2, v / 2 ) ); - break; - case 2: - renderer.setOverrideBlockTexture( new OffsetIcon( ExtraBlockTextures.BlockQuartzGlassC.getIcon(), u, v ) ); - break; - case 3: - renderer.setOverrideBlockTexture( new OffsetIcon( ExtraBlockTextures.BlockQuartzGlassD.getIcon(), u, v ) ); - break; - } - - final boolean result = renderer.renderStandardBlock( imb, pos ); - - renderer.setOverrideBlockTexture( null ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.UP, AEPartLocation.EAST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.UP, AEPartLocation.WEST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.UP, AEPartLocation.NORTH ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.UP, AEPartLocation.SOUTH ); - - this.renderEdge( imb, world, pos, renderer, AEPartLocation.DOWN, AEPartLocation.EAST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.DOWN, AEPartLocation.WEST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.DOWN, AEPartLocation.NORTH ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.DOWN, AEPartLocation.SOUTH ); - - this.renderEdge( imb, world, pos, renderer, AEPartLocation.EAST, AEPartLocation.UP ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.EAST, AEPartLocation.DOWN ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.EAST, AEPartLocation.NORTH ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.EAST, AEPartLocation.SOUTH ); - - this.renderEdge( imb, world, pos, renderer, AEPartLocation.WEST, AEPartLocation.UP ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.WEST, AEPartLocation.DOWN ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.WEST, AEPartLocation.NORTH ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.WEST, AEPartLocation.SOUTH ); - - this.renderEdge( imb, world, pos, renderer, AEPartLocation.NORTH, AEPartLocation.EAST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.NORTH, AEPartLocation.WEST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.NORTH, AEPartLocation.UP ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.NORTH, AEPartLocation.DOWN ); - - this.renderEdge( imb, world, pos, renderer, AEPartLocation.SOUTH, AEPartLocation.EAST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.SOUTH, AEPartLocation.WEST ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.SOUTH, AEPartLocation.UP ); - this.renderEdge( imb, world, pos, renderer, AEPartLocation.SOUTH, AEPartLocation.DOWN ); - - return result; - } - - private void renderEdge( final QuartzGlassBlock imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer, final AEPartLocation side, final AEPartLocation direction ) - { - if( !this.isFlush( imb, world, pos.getX() + side.xOffset, pos.getY() + side.yOffset, pos.getZ() + side.zOffset ) ) - { - if( !this.isFlush( imb, world, pos.getX() + direction.xOffset, pos.getY() + direction.yOffset, pos.getZ() + direction.zOffset ) ) - { - float minX = 0.5f + ( side.xOffset + direction.xOffset ) / 2.0f; - float minY = 0.5f + ( side.yOffset + direction.yOffset ) / 2.0f; - float minZ = 0.5f + ( side.zOffset + direction.zOffset ) / 2.0f; - float maxX = 0.5f + ( side.xOffset + direction.xOffset ) / 2.0f; - float maxY = 0.5f + ( side.yOffset + direction.yOffset ) / 2.0f; - float maxZ = 0.5f + ( side.zOffset + direction.zOffset ) / 2.0f; - - if( 0 == side.xOffset && 0 == direction.xOffset ) - { - minX = 0.0f; - maxX = 1.0f; - } - if( 0 == side.yOffset && 0 == direction.yOffset ) - { - minY = 0.0f; - maxY = 1.0f; - } - if( 0 == side.zOffset && 0 == direction.zOffset ) - { - minZ = 0.0f; - maxZ = 1.0f; - } - - if( maxX <= 0.001f ) - { - maxX += 0.9f / 16.0f; - } - if( maxY <= 0.001f ) - { - maxY += 0.9f / 16.0f; - } - if( maxZ <= 0.001f ) - { - maxZ += 0.9f / 16.0f; - } - - if( minX >= 0.999f ) - { - minX -= 0.9f / 16.0f; - } - if( minY >= 0.999f ) - { - minY -= 0.9f / 16.0f; - } - if( minZ >= 0.999f ) - { - minZ -= 0.9f / 16.0f; - } - - renderer.setRenderBounds( minX, minY, minZ, maxX, maxY, maxZ ); - - switch( side ) - { - case WEST: - renderer.renderFaceXNeg( imb, pos, ExtraBlockTextures.GlassFrame.getIcon() ); - break; - case EAST: - renderer.renderFaceXPos( imb, pos, ExtraBlockTextures.GlassFrame.getIcon() ); - break; - case NORTH: - renderer.renderFaceZNeg( imb, pos, ExtraBlockTextures.GlassFrame.getIcon() ); - break; - case SOUTH: - renderer.renderFaceZPos( imb, pos, ExtraBlockTextures.GlassFrame.getIcon() ); - break; - case DOWN: - renderer.renderFaceYNeg( imb, pos, ExtraBlockTextures.GlassFrame.getIcon() ); - break; - case UP: - renderer.renderFaceYPos( imb, pos, ExtraBlockTextures.GlassFrame.getIcon() ); - break; - default: - break; - } - } - } - } - - private boolean isFlush( final QuartzGlassBlock imb, final IBlockAccess world, final int x, final int y, final int z ) - { - return this.isGlass( imb, world, new BlockPos( x, y, z ) ); - } - - private boolean isGlass( final QuartzGlassBlock imb, final IBlockAccess world, final BlockPos pos ) - { - return this.isQuartzGlass( world, pos ) || this.isVibrantQuartzGlass( world, pos ); - } - - private boolean isQuartzGlass( final IBlockAccess world, final BlockPos pos ) - { - return AEApi.instance().definitions().blocks().quartzGlass().isSameAs( world, pos ); - } - - private boolean isVibrantQuartzGlass( final IBlockAccess world, final BlockPos pos ) - { - return AEApi.instance().definitions().blocks().quartzVibrantGlass().isSameAs( world, pos ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderQuartzOre.java b/src/main/java/appeng/client/render/blocks/RenderQuartzOre.java deleted file mode 100644 index 859432f52..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderQuartzOre.java +++ /dev/null @@ -1,64 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.decorative.solid.QuartzOreBlock; -import appeng.tile.AEBaseTile; - - -public class RenderQuartzOre extends BaseBlockRender -{ - - public RenderQuartzOre() - { - super( false, 20 ); - } - - @Override - public void renderInventory( final QuartzOreBlock blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - super.renderInventory( blk, is, renderer, type, obj ); - blk.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.OreQuartzStone.getIcon() ); - super.renderInventory( blk, is, renderer, type, obj ); - blk.getRendererInstance().setTemporaryRenderIcon( null ); - } - - @Override - public boolean renderInWorld( final QuartzOreBlock quartz, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - quartz.setEnhanceBrightness( true ); - super.renderInWorld( quartz, world, pos, renderer ); - quartz.setEnhanceBrightness( false ); - - quartz.getRendererInstance().setTemporaryRenderIcon( ExtraBlockTextures.OreQuartzStone.getIcon() ); - final boolean out = super.renderInWorld( quartz, world, pos, renderer ); - quartz.getRendererInstance().setTemporaryRenderIcon( null ); - - return out; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderQuartzTorch.java b/src/main/java/appeng/client/render/blocks/RenderQuartzTorch.java deleted file mode 100644 index 1ccb9e73c..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderQuartzTorch.java +++ /dev/null @@ -1,206 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.AEPartLocation; -import appeng.api.util.IOrientable; -import appeng.api.util.IOrientableBlock; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.tile.AEBaseTile; - - -public class RenderQuartzTorch extends BaseBlockRender -{ - - public RenderQuartzTorch() - { - super( false, 20 ); - } - - @Override - public void renderInventory( final AEBaseBlock blk, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - final float Point3 = 7.0f / 16.0f; - final float Point12 = 9.0f / 16.0f; - - final float renderBottom = 5.0f / 16.0f; - final float renderTop = 10.0f / 16.0f; - - final float xOff = 0.0f; - final float yOff = 0.0f; - final float zOff = 0.0f; - - renderer.setRenderBounds( Point3 + xOff, renderBottom + yOff, Point3 + zOff, Point12 + xOff, renderTop + yOff, Point12 + zOff ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - final float singlePixel = 1.0f / 16.0f; - renderer.setRenderBounds( Point3 + xOff, renderTop + yOff, Point3 + zOff, Point3 + singlePixel + xOff, renderTop + singlePixel + yOff, Point3 + singlePixel + zOff ); - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - renderer.setRenderBounds( Point12 - singlePixel + xOff, renderBottom - singlePixel + yOff, Point12 - singlePixel + zOff, Point12 + xOff, renderBottom + yOff, Point12 + zOff ); - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - blk.getRendererInstance().setTemporaryRenderIcon( renderer.getIcon( Blocks.HOPPER.getDefaultState() )[0] ); - renderer.setRenderAllFaces( true ); - - final float top = 8.0f / 16.0f; - final float bottom = 7.0f / 16.0f; - final float Point13 = 10.0f / 16.0f; - final float Point2 = 6.0f / 16.0f; - renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point2 + zOff, Point13 + xOff, top + yOff, Point3 + zOff ); - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point12 + zOff, Point13 + xOff, top + yOff, Point13 + zOff ); - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point3 + zOff, Point3 + xOff, top + yOff, Point12 + zOff ); - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - renderer.setRenderBounds( Point12 + xOff, bottom + yOff, Point3 + zOff, Point13 + xOff, top + yOff, Point12 + zOff ); - - this.renderInvBlock( EnumSet.allOf( AEPartLocation.class ), blk, is, 0xffffff, renderer ); - - renderer.setRenderAllFaces( false ); - blk.getRendererInstance().setTemporaryRenderIcon( null ); - } - - @Override - public boolean renderInWorld( final AEBaseBlock block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final IOrientable te = ( (IOrientableBlock) block ).getOrientable( world, pos ); - - renderer.setRenderAllFaces( true ); - float zOff = 0.0f; - float yOff = 0.0f; - float xOff = 0.0f; - if( te != null ) - { - final AEPartLocation forward = AEPartLocation.fromFacing( te.getUp() ); - xOff = forward.xOffset * -( 4.0f / 16.0f ); - yOff = forward.yOffset * -( 4.0f / 16.0f ); - zOff = forward.zOffset * -( 4.0f / 16.0f ); - } - - final float renderTop = 10.0f / 16.0f; - final float renderBottom = 5.0f / 16.0f; - final float Point12 = 9.0f / 16.0f; - final float Point3 = 7.0f / 16.0f; - renderer.setRenderBounds( Point3 + xOff, renderBottom + yOff, Point3 + zOff, Point12 + xOff, renderTop + yOff, Point12 + zOff ); - super.renderInWorld( block, world, pos, renderer ); - - final int r = ( pos.getX() + pos.getY() + pos.getZ() ) % 2; - final float singlePixel = 1.0f / 16.0f; - if( r == 0 ) - { - renderer.setRenderBounds( Point3 + xOff, renderTop + yOff, Point3 + zOff, Point3 + singlePixel + xOff, renderTop + singlePixel + yOff, Point3 + singlePixel + zOff ); - super.renderInWorld( block, world, pos, renderer ); - - renderer.setRenderBounds( Point12 - singlePixel + xOff, renderBottom - singlePixel + yOff, Point12 - singlePixel + zOff, Point12 + xOff, renderBottom + yOff, Point12 + zOff ); - super.renderInWorld( block, world, pos, renderer ); - } - else - { - renderer.setRenderBounds( Point3 + xOff, renderBottom - singlePixel + yOff, Point3 + zOff, Point3 + singlePixel + xOff, renderBottom + yOff, Point3 + singlePixel + zOff ); - super.renderInWorld( block, world, pos, renderer ); - - renderer.setRenderBounds( Point12 - singlePixel + xOff, renderTop + yOff, Point12 - singlePixel + zOff, Point12 + xOff, renderTop + singlePixel + yOff, Point12 + zOff ); - super.renderInWorld( block, world, pos, renderer ); - } - - block.getRendererInstance().setTemporaryRenderIcon( renderer.getIcon( Blocks.HOPPER.getDefaultState() )[0] ); - - final float top = 8.0f / 16.0f; - final float bottom = 7.0f / 16.0f; - final float Point13 = 10.0f / 16.0f; - final float Point2 = 6.0f / 16.0f; - renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point2 + zOff, Point13 + xOff, top + yOff, Point3 + zOff ); - final boolean out = renderer.renderStandardBlock( block, pos ); - - renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point12 + zOff, Point13 + xOff, top + yOff, Point13 + zOff ); - renderer.renderStandardBlock( block, pos ); - - renderer.setRenderBounds( Point2 + xOff, bottom + yOff, Point3 + zOff, Point3 + xOff, top + yOff, Point12 + zOff ); - renderer.renderStandardBlock( block, pos ); - - renderer.setRenderBounds( Point12 + xOff, bottom + yOff, Point3 + zOff, Point13 + xOff, top + yOff, Point12 + zOff ); - renderer.renderStandardBlock( block, pos ); - - if( te != null ) - { - final AEPartLocation forward = AEPartLocation.fromFacing( te.getUp() ); - switch( forward ) - { - case EAST: - renderer.setRenderBounds( 0, bottom + yOff, bottom + zOff, Point2 + xOff, top + yOff, top + zOff ); - renderer.renderStandardBlock( block, pos ); - break; - case WEST: - renderer.setRenderBounds( Point13 + xOff, bottom + yOff, bottom + zOff, 1.0, top + yOff, top + zOff ); - renderer.renderStandardBlock( block, pos ); - break; - case NORTH: - renderer.setRenderBounds( bottom + xOff, bottom + yOff, Point13 + zOff, top + xOff, top + yOff, 1.0 ); - renderer.renderStandardBlock( block, pos ); - break; - case SOUTH: - renderer.setRenderBounds( bottom + xOff, bottom + yOff, 0, top + xOff, top + yOff, Point2 + zOff ); - renderer.renderStandardBlock( block, pos ); - break; - case UP: - renderer.setRenderBounds( Point2, 0, Point2, Point3, bottom + yOff, Point3 ); - renderer.renderStandardBlock( block, pos ); - renderer.setRenderBounds( Point2, 0, Point12, Point3, bottom + yOff, Point13 ); - renderer.renderStandardBlock( block, pos ); - renderer.setRenderBounds( Point12, 0, Point2, Point13, bottom + yOff, Point3 ); - renderer.renderStandardBlock( block, pos ); - renderer.setRenderBounds( Point12, 0, Point12, Point13, bottom + yOff, Point13 ); - renderer.renderStandardBlock( block, pos ); - break; - case DOWN: - renderer.setRenderBounds( Point2, top + yOff, Point2, Point3, 1.0, Point3 ); - renderer.renderStandardBlock( block, pos ); - renderer.setRenderBounds( Point2, top + yOff, Point12, Point3, 1.0, Point13 ); - renderer.renderStandardBlock( block, pos ); - renderer.setRenderBounds( Point12, top + yOff, Point2, Point13, 1.0, Point3 ); - renderer.renderStandardBlock( block, pos ); - renderer.setRenderBounds( Point12, top + yOff, Point12, Point13, 1.0, Point13 ); - renderer.renderStandardBlock( block, pos ); - break; - default: - } - } - - renderer.setRenderAllFaces( false ); - block.getRendererInstance().setTemporaryRenderIcon( null ); - - return out; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderSpatialPylon.java b/src/main/java/appeng/client/render/blocks/RenderSpatialPylon.java deleted file mode 100644 index 936e77b22..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderSpatialPylon.java +++ /dev/null @@ -1,216 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.spatial.BlockSpatialPylon; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BlockRenderInfo; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.spatial.TileSpatialPylon; - - -public class RenderSpatialPylon extends BaseBlockRender -{ - - public RenderSpatialPylon() - { - super( false, 0 ); - } - - @Override - public void renderInventory( final BlockSpatialPylon block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setOverrideBlockTexture( ExtraBlockTextures.BlockSpatialPylon_dim.getIcon() ); - super.renderInventory( block, is, renderer, type, obj ); - renderer.setOverrideBlockTexture( null ); - super.renderInventory( block, is, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final BlockSpatialPylon imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - final TileSpatialPylon sp = imb.getTileEntity( world, pos ); - - final int displayBits = ( sp == null ) ? 0 : sp.getDisplayBits(); - - if( displayBits != 0 ) - { - EnumFacing ori = null;// AEPartLocation.INTERNAL; - if( ( displayBits & TileSpatialPylon.DISPLAY_Z ) == TileSpatialPylon.DISPLAY_X ) - { - ori = EnumFacing.EAST; - if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MAX ) - { - renderer.setUvRotateEast( 1 ); - renderer.setUvRotateWest( 2 ); - renderer.setUvRotateTop( 2 ); - renderer.setUvRotateBottom( 1 ); - } - else if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MIN ) - { - renderer.setUvRotateEast( 2 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateBottom( 2 ); - } - else - { - renderer.setUvRotateEast( 1 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateBottom( 1 ); - } - } - - else if( ( displayBits & TileSpatialPylon.DISPLAY_Z ) == TileSpatialPylon.DISPLAY_Y ) - { - ori = EnumFacing.UP; - if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MAX ) - { - renderer.setUvRotateNorth( 3 ); - renderer.setUvRotateSouth( 3 ); - renderer.setUvRotateEast( 3 ); - renderer.setUvRotateWest( 3 ); - } - } - - else if( ( displayBits & TileSpatialPylon.DISPLAY_Z ) == TileSpatialPylon.DISPLAY_Z ) - { - ori = EnumFacing.NORTH; - if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MAX ) - { - renderer.setUvRotateSouth( 1 ); - renderer.setUvRotateNorth( 2 ); - } - else if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MIN ) - { - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 2 ); - renderer.setUvRotateTop( 3 ); - renderer.setUvRotateBottom( 3 ); - } - else - { - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 2 ); - } - } - - final BlockRenderInfo bri = imb.getRendererInstance(); - bri.setTemporaryRenderIcon( null ); - bri.setTemporaryRenderIcons( this.getBlockTextureFromSideOutside( imb, sp, displayBits, ori, EnumFacing.UP, renderer ), this.getBlockTextureFromSideOutside( imb, sp, displayBits, ori, EnumFacing.DOWN, renderer ), this.getBlockTextureFromSideOutside( imb, sp, displayBits, ori, EnumFacing.SOUTH, renderer ), this.getBlockTextureFromSideOutside( imb, sp, displayBits, ori, EnumFacing.NORTH, renderer ), this.getBlockTextureFromSideOutside( imb, sp, displayBits, ori, EnumFacing.EAST, renderer ), this.getBlockTextureFromSideOutside( imb, sp, displayBits, ori, EnumFacing.WEST, renderer ) ); - - final boolean r = renderer.renderStandardBlock( imb, pos ); - - if( ( displayBits & TileSpatialPylon.DISPLAY_POWERED_ENABLED ) == TileSpatialPylon.DISPLAY_POWERED_ENABLED ) - { - final int bn = 15; - renderer.setBrightness( bn << 20 | bn << 4 ); - renderer.setColorOpaque_I( 0xffffff ); - - for( final EnumFacing d : EnumFacing.VALUES ) - { - this.renderFace( pos, imb, this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, d, renderer ), renderer, d ); - } - } - else - { - bri.setTemporaryRenderIcon( null ); - bri.setTemporaryRenderIcons( this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, EnumFacing.UP, renderer ), this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, EnumFacing.DOWN, renderer ), this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, EnumFacing.SOUTH, renderer ), this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, EnumFacing.NORTH, renderer ), this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, EnumFacing.EAST, renderer ), this.getBlockTextureFromSideInside( imb, sp, displayBits, ori, EnumFacing.WEST, renderer ) ); - - renderer.renderStandardBlock( imb, pos ); - } - - bri.setTemporaryRenderIcon( null ); - renderer.setUvRotateEast( renderer.setUvRotateWest( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateBottom( 0 ) ) ) ) ) ); - - return r; - } - - renderer.setOverrideBlockTexture( renderer.getIcon( world.getBlockState( pos ) )[0] );// imb.getIcon( 0, 0 ); - boolean result = renderer.renderStandardBlock( imb, pos ); - - renderer.setOverrideBlockTexture( ExtraBlockTextures.BlockSpatialPylon_dim.getIcon() ); - result = renderer.renderStandardBlock( imb, pos ); - - renderer.setOverrideBlockTexture( null ); - return result; - } - - private IAESprite getBlockTextureFromSideOutside( final BlockSpatialPylon blk, final TileSpatialPylon sp, final int displayBits, final EnumFacing ori, final EnumFacing dir, final ModelGenerator renderer ) - { - - if( ori == dir || ori.getOpposite() == dir ) - { - return blk.getRendererInstance().getTexture( AEPartLocation.fromFacing( dir ) ); - } - - if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_MIDDLE ) - { - return ExtraBlockTextures.BlockSpatialPylonC.getIcon(); - } - else if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MIN ) - { - return ExtraBlockTextures.BlockSpatialPylonE.getIcon(); - } - else if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MAX ) - { - return ExtraBlockTextures.BlockSpatialPylonE.getIcon(); - } - - return renderer.getIcon( blk.getDefaultState() )[0];// blk.getIcon( 0, 0 ); - } - - private IAESprite getBlockTextureFromSideInside( final BlockSpatialPylon blk, final TileSpatialPylon sp, final int displayBits, final EnumFacing ori, final EnumFacing dir, final ModelGenerator renderer ) - { - final boolean good = ( displayBits & TileSpatialPylon.DISPLAY_ENABLED ) == TileSpatialPylon.DISPLAY_ENABLED; - - if( ori == dir || ori.getOpposite() == dir ) - { - return good ? ExtraBlockTextures.BlockSpatialPylon_dim.getIcon() : ExtraBlockTextures.BlockSpatialPylon_red.getIcon(); - } - - if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_MIDDLE ) - { - return good ? ExtraBlockTextures.BlockSpatialPylonC_dim.getIcon() : ExtraBlockTextures.BlockSpatialPylonC_red.getIcon(); - } - else if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MIN ) - { - return good ? ExtraBlockTextures.BlockSpatialPylonE_dim.getIcon() : ExtraBlockTextures.BlockSpatialPylonE_red.getIcon(); - } - else if( ( displayBits & TileSpatialPylon.DISPLAY_MIDDLE ) == TileSpatialPylon.DISPLAY_END_MAX ) - { - return good ? ExtraBlockTextures.BlockSpatialPylonE_dim.getIcon() : ExtraBlockTextures.BlockSpatialPylonE_red.getIcon(); - } - - return renderer.getIcon( blk.getDefaultState() )[0];// blk.getIcon( 0, 0 ); - } -} diff --git a/src/main/java/appeng/client/render/blocks/RenderTinyTNT.java b/src/main/java/appeng/client/render/blocks/RenderTinyTNT.java deleted file mode 100644 index e067bda65..000000000 --- a/src/main/java/appeng/client/render/blocks/RenderTinyTNT.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import net.minecraft.client.Minecraft; -import net.minecraft.init.Blocks; -import net.minecraft.item.ItemStack; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockTinyTNT; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.FullIcon; -import appeng.tile.AEBaseTile; - - -public class RenderTinyTNT extends BaseBlockRender -{ - - public RenderTinyTNT() - { - super( false, 0 ); - } - - @Override - public void renderInventory( final BlockTinyTNT block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setOverrideBlockTexture( new FullIcon( Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getTexture( Blocks.TNT.getDefaultState() ) ) ); - renderer.setRenderBounds( 0.25f, 0.0f, 0.25f, 0.75f, 0.5f, 0.75f ); - super.renderInventory( block, is, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final BlockTinyTNT imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - renderer.setOverrideBlockTexture( new FullIcon( Minecraft.getMinecraft().getBlockRendererDispatcher().getBlockModelShapes().getTexture( Blocks.TNT.getDefaultState() ) ) ); - renderer.setRenderAllFaces( true ); - renderer.setRenderBounds( 0.25f, 0.0f, 0.25f, 0.75f, 0.5f, 0.75f ); - final boolean out = super.renderInWorld( imb, world, pos, renderer ); - renderer.setRenderAllFaces( false ); - return out; - } -} diff --git a/src/main/java/appeng/client/render/blocks/RendererCableBus.java b/src/main/java/appeng/client/render/blocks/RendererCableBus.java deleted file mode 100644 index b5d8616b1..000000000 --- a/src/main/java/appeng/client/render/blocks/RendererCableBus.java +++ /dev/null @@ -1,148 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.HashMap; -import java.util.Map; - -import net.minecraft.client.renderer.VertexBuffer; -import net.minecraft.item.Item; -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.parts.IFacadePart; -import appeng.api.parts.IPart; -import appeng.api.parts.IPartItem; -import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; -import appeng.block.networking.BlockCableBus; -import appeng.client.ClientHelper; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.BusRenderHelper; -import appeng.client.render.BusRenderer; -import appeng.facade.IFacadeItem; -import appeng.tile.AEBaseTile; -import appeng.tile.networking.TileCableBus; -import appeng.util.Platform; - - -public class RendererCableBus extends BaseBlockRender -{ - - public RendererCableBus() - { - super( true, 30 ); - } - - @Override - public void renderInventory( final BlockCableBus blk, final ItemStack item, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setColorOpaque_F( 1, 1, 1 ); - renderer.setBrightness( 14 << 20 | 14 << 4 ); - - BusRenderer.INSTANCE.setRenderer( renderer ); // post data to this... - BusRenderHelper.INSTANCE.setBounds( 0, 0, 0, 1, 1, 1 ); - BusRenderHelper.INSTANCE.setTexture( null ); - BusRenderHelper.INSTANCE.setInvColor( 0xffffff ); - renderer.setBlockAccess( ClientHelper.proxy.getWorld() ); - - BusRenderHelper.INSTANCE.setOrientation( EnumFacing.EAST, EnumFacing.UP, EnumFacing.SOUTH ); - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - renderer.setOverrideBlockTexture( null ); - - if( item.getItem() instanceof IFacadeItem ) - { - final IFacadeItem fi = (IFacadeItem) item.getItem(); - final IFacadePart fp = fi.createPartFromItemStack( item, AEPartLocation.SOUTH ); - - if( fp != null ) - { - fp.renderInventory( BusRenderHelper.INSTANCE, renderer ); - } - } - else - { - final IPart ip = this.getRenderer( item, (IPartItem) item.getItem() ); - if( ip != null ) - { - if( type == ItemRenderType.ENTITY ) - { - final int depth = ip.cableConnectionRenderTo(); - } - - ip.renderInventory( BusRenderHelper.INSTANCE, renderer ); - } - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - } - - public IPart getRenderer( final ItemStack is, final IPartItem c ) - { - final int id = ( Item.getIdFromItem( is.getItem() ) << Platform.DEF_OFFSET ) | is.getItemDamage(); - - IPart part = RENDER_PART.get( id ); - if( part == null ) - { - part = c.createPartFromItemStack( is ); - if( part != null ) - { - RENDER_PART.put( id, part ); - } - } - - return part; - } - - public static final BusRenderer INSTANCE = new BusRenderer(); - private static final Map RENDER_PART = new HashMap(); - - @Override - public boolean renderInWorld( final BlockCableBus block, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final AEBaseTile t = block.getTileEntity( world, pos ); - - if( t instanceof TileCableBus ) - { - BusRenderer.INSTANCE.setRenderer( renderer ); // post data to this... - BusRenderer.INSTANCE.getRenderer().setRenderAllFaces( true ); - BusRenderer.INSTANCE.getRenderer().setBlockAccess( renderer.getBlockAccess() ); - BusRenderer.INSTANCE.getRenderer().setOverrideBlockTexture( renderer.getOverrideBlockTexture() ); - ( (TileCableBus) t ).getCableBus().renderStatic(); - BusRenderer.INSTANCE.getRenderer().setRenderAllFaces( false ); - } - - return BusRenderHelper.INSTANCE.getItemsRendered() > 0; - } - - @Override - public void renderTile( final BlockCableBus block, final TileCableBus cableBus, final VertexBuffer tess, final double x, final double y, final double z, final float f, final ModelGenerator renderer ) - { - if( cableBus != null ) - { - BusRenderer.INSTANCE.getRenderer().setOverrideBlockTexture( null ); - cableBus.getCableBus().renderDynamic( x, y, z ); - } - } -} diff --git a/src/main/java/appeng/client/render/blocks/RendererSecurity.java b/src/main/java/appeng/client/render/blocks/RendererSecurity.java deleted file mode 100644 index d36cb434f..000000000 --- a/src/main/java/appeng/client/render/blocks/RendererSecurity.java +++ /dev/null @@ -1,102 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.blocks; - - -import java.util.EnumSet; - -import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraft.world.IBlockAccess; - -import appeng.api.util.AEColor; -import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.misc.BlockSecurity; -import appeng.client.ItemRenderType; -import appeng.client.render.BaseBlockRender; -import appeng.client.texture.ExtraBlockTextures; -import appeng.tile.misc.TileSecurity; - - -public class RendererSecurity extends BaseBlockRender -{ - - public RendererSecurity() - { - super( false, 0 ); - } - - @Override - public void renderInventory( final BlockSecurity block, final ItemStack is, final ModelGenerator renderer, final ItemRenderType type, final Object[] obj ) - { - renderer.setOverrideBlockTexture( ExtraBlockTextures.getMissing() ); - this.renderInvBlock( EnumSet.of( AEPartLocation.SOUTH ), block, is, 0x000000, renderer ); - - renderer.setOverrideBlockTexture( ExtraBlockTextures.MEChest.getIcon() ); - this.renderInvBlock( EnumSet.of( AEPartLocation.UP ), block, is, this.adjustBrightness( AEColor.Transparent.whiteVariant, 0.7 ), renderer ); - - renderer.setOverrideBlockTexture( null ); - super.renderInventory( block, is, renderer, type, obj ); - } - - @Override - public boolean renderInWorld( final BlockSecurity imb, final IBlockAccess world, final BlockPos pos, final ModelGenerator renderer ) - { - final TileSecurity sp = imb.getTileEntity( world, pos ); - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - final EnumFacing up = sp.getUp(); - - this.preRenderInWorld( imb, world, pos, renderer ); - - final boolean result = renderer.renderStandardBlock( imb, pos ); - - int b = world.getCombinedLight( pos.offset( up ), 0 ); - if( sp.isActive() ) - { - b = 15 << 20 | 15 << 4; - } - - renderer.setBrightness( b ); - renderer.setColorOpaque_I( 0xffffff ); - renderer.setRenderBounds( 0, 0, 0, 1, 1, 1 ); - - renderer.setColorOpaque_I( sp.getColor().whiteVariant ); - IAESprite ico = sp.isActive() ? ExtraBlockTextures.BlockMESecurityOn_Light.getIcon() : ExtraBlockTextures.MEChest.getIcon(); - this.renderFace( pos, imb, ico, renderer, up ); - if( sp.isActive() ) - { - renderer.setColorOpaque_I( sp.getColor().mediumVariant ); - ico = sp.isActive() ? ExtraBlockTextures.BlockMESecurityOn_Medium.getIcon() : ExtraBlockTextures.MEChest.getIcon(); - this.renderFace( pos, imb, ico, renderer, up ); - - renderer.setColorOpaque_I( sp.getColor().blackVariant ); - ico = sp.isActive() ? ExtraBlockTextures.BlockMESecurityOn_Dark.getIcon() : ExtraBlockTextures.MEChest.getIcon(); - this.renderFace( pos, imb, ico, renderer, up ); - } - - renderer.setOverrideBlockTexture( null ); - this.postRenderInWorld( renderer ); - - return result; - } -} diff --git a/src/main/java/appeng/client/render/effects/CraftingFx.java b/src/main/java/appeng/client/render/effects/CraftingFx.java index 1630825d0..4126c9073 100644 --- a/src/main/java/appeng/client/render/effects/CraftingFx.java +++ b/src/main/java/appeng/client/render/effects/CraftingFx.java @@ -30,7 +30,6 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.util.AEPartLocation; -import appeng.client.texture.ExtraBlockTextures; @SideOnly( Side.CLIENT ) @@ -52,6 +51,7 @@ public class CraftingFx extends ParticleBreaking this.particleRed = 1; this.particleAlpha = 1.3f; this.particleScale = 1.5f; + //TODO 1.10-R - Find exact atlas it was holding and replace this broken code with the atlas. this.particleTextureIndex = ExtraBlockTextures.BlockEnergyParticle.getIcon().getAtlas(); this.particleMaxAge /= 1.2; diff --git a/src/main/java/appeng/client/render/effects/EnergyFx.java b/src/main/java/appeng/client/render/effects/EnergyFx.java index c21b83f33..645d50289 100644 --- a/src/main/java/appeng/client/render/effects/EnergyFx.java +++ b/src/main/java/appeng/client/render/effects/EnergyFx.java @@ -30,7 +30,6 @@ import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.util.AEPartLocation; -import appeng.client.texture.ExtraBlockTextures; @SideOnly( Side.CLIENT ) @@ -52,6 +51,7 @@ public class EnergyFx extends ParticleBreaking this.particleRed = 255; this.particleAlpha = 1.4f; this.particleScale = 3.5f; + //TODO 1.10-R - Find exact atlas it was holding and replace this broken code with the atlas. this.particleTextureIndex = ExtraBlockTextures.BlockEnergyParticle.getIcon().getAtlas(); this.startBlkX = MathHelper.floor_double( this.posX ); diff --git a/src/main/java/appeng/client/render/effects/MatterCannonFX.java b/src/main/java/appeng/client/render/effects/MatterCannonFX.java index 6bc894329..eed0e035d 100644 --- a/src/main/java/appeng/client/render/effects/MatterCannonFX.java +++ b/src/main/java/appeng/client/render/effects/MatterCannonFX.java @@ -27,7 +27,6 @@ import net.minecraft.item.Item; import net.minecraft.world.World; import appeng.api.util.AEPartLocation; -import appeng.client.texture.ExtraBlockTextures; public class MatterCannonFX extends ParticleBreaking @@ -47,6 +46,7 @@ public class MatterCannonFX extends ParticleBreaking this.motionX = 0.0f; this.motionY = 0.0f; this.motionZ = 0.0f; + //TODO 1.10-R - Find exact atlas it was holding and replace this broken code with the atlas. this.particleTextureIndex = ExtraBlockTextures.BlockMatterCannonParticle.getIcon().getAtlas(); } diff --git a/src/main/java/appeng/client/render/items/PaintBallRender.java b/src/main/java/appeng/client/render/items/PaintBallRender.java deleted file mode 100644 index 6a69c88c9..000000000 --- a/src/main/java/appeng/client/render/items/PaintBallRender.java +++ /dev/null @@ -1,127 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.items; - - -//import org.lwjgl.opengl.GL11; -// -//import net.minecraft.client.renderer.ItemRenderer; -//import net.minecraft.client.renderer.Tessellator; -//import net.minecraft.item.ItemStack; -//import net.minecraftforge.client.IItemRenderer; -// -//import appeng.api.util.AEColor; -//import appeng.client.texture.ExtraItemTextures; -//import appeng.items.misc.ItemPaintBall; -// -// -//public class PaintBallRender implements IItemRenderer -//{ -// -// @Override -// public boolean handleRenderType( final ItemStack item, final ItemRenderType type ) -// { -// return true; -// } -// -// @Override -// public boolean shouldUseRenderHelper( final ItemRenderType type, final ItemStack item, final ItemRendererHelper helper ) -// { -// return helper == ItemRendererHelper.ENTITY_BOBBING || helper == ItemRendererHelper.ENTITY_ROTATION; -// } -// -// @Override -// public void renderItem( final ItemRenderType type, final ItemStack item, final Object... data ) -// { -// IIcon par2Icon = item.getIconIndex(); -// if( item.getItemDamage() >= 20 ) -// { -// par2Icon = ExtraItemTextures.ItemPaintBallShimmer.getIcon(); -// } -// -// final float f4 = par2Icon.getMinU(); -// final float f5 = par2Icon.getMaxU(); -// final float f6 = par2Icon.getMinV(); -// final float f7 = par2Icon.getMaxV(); -// -// final ItemPaintBall ipb = (ItemPaintBall) item.getItem(); -// -// final Tessellator tessellator = Tessellator.getInstance(); -// GL11.glPushMatrix(); -// GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS ); -// -// final AEColor col = ipb.getColor( item ); -// -// final int colorValue = item.getItemDamage() >= 20 ? col.mediumVariant : col.mediumVariant; -// final int r = ( colorValue >> 16 ) & 0xff; -// final int g = ( colorValue >> 8 ) & 0xff; -// final int b = ( colorValue ) & 0xff; -// -// if( item.getItemDamage() >= 20 ) -// { -// final float fail = 0.7f; -// final int full = (int) ( 255 * 0.3 ); -// GL11.glColor4ub( (byte) ( full + r * fail ), (byte) ( full + g * fail ), (byte) ( full + b * fail ), (byte) 255 ); -// } -// else -// { -// GL11.glColor4ub( (byte) r, (byte) g, (byte) b, (byte) 255 ); -// } -// -// if( type == ItemRenderType.INVENTORY ) -// { -// GL11.glScalef( 16F, 16F, 10F ); -// GL11.glTranslatef( 0.0F, 1.0F, 0.0F ); -// GL11.glRotatef( 180F, 1.0F, 0.0F, 0.0F ); -// GL11.glEnable( GL11.GL_ALPHA_TEST ); -// -// tessellator.startDrawingQuads(); -// tessellator.setNormal( 0.0F, 1.0F, 0.0F ); -// tessellator.addVertexWithUV( 0, 0, 0, f4, f7 ); -// tessellator.addVertexWithUV( 1, 0, 0, f5, f7 ); -// tessellator.addVertexWithUV( 1, 1, 0, f5, f6 ); -// tessellator.addVertexWithUV( 0, 1, 0, f4, f6 ); -// tessellator.draw(); -// } -// else -// { -// if( type == ItemRenderType.EQUIPPED_FIRST_PERSON ) -// { -// GL11.glTranslatef( 0.0F, 0.0F, 0.0F ); -// } -// else -// { -// GL11.glTranslatef( -0.5F, -0.3F, 0.01F ); -// } -// final float f12 = 0.0625F; -// ItemRenderer.renderItemIn2D( tessellator, f5, f6, f4, f7, par2Icon.getIconWidth(), par2Icon.getIconHeight(), f12 ); -// -// GL11.glDisable( GL11.GL_CULL_FACE ); -// GL11.glColor4f( 1, 1, 1, 1.0F ); -// GL11.glScalef( 1F, 1.1F, 1F ); -// GL11.glTranslatef( 0.0F, 1.07F, f12 / -2.0f ); -// GL11.glRotatef( 180F, 1.0F, 0.0F, 0.0F ); -// } -// -// GL11.glColor4f( 1, 1, 1, 1.0F ); -// -// GL11.glPopAttrib(); -// GL11.glPopMatrix(); -// } -// } diff --git a/src/main/java/appeng/client/render/items/ToolBiometricCardRender.java b/src/main/java/appeng/client/render/items/ToolBiometricCardRender.java deleted file mode 100644 index 67fa9c000..000000000 --- a/src/main/java/appeng/client/render/items/ToolBiometricCardRender.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.items; - - -import net.minecraft.item.ItemStack; - -import appeng.client.ItemRenderType; - - -// TODO - PORT -public class ToolBiometricCardRender // TileEntityItemStackRenderer -{ - - public boolean handleRenderType( final ItemStack item, final ItemRenderType type ) - { - return true; - } - - public boolean shouldUseRenderHelper( final ItemRenderType type, final ItemStack item )// , final ItemRendererHelper - // helper ) - { - return false;// return helper == ItemRendererHelper.ENTITY_BOBBING || helper == - // ItemRendererHelper.ENTITY_ROTATION; - } - - public void renderItem( final ItemRenderType type, final ItemStack item, final Object... data ) - { - /* - * TextureAtlasSprite par2Icon = item.getIconIndex(); - * float f4 = par2Icon.getMinU(); - * float f5 = par2Icon.getMaxU(); - * float f6 = par2Icon.getMinV(); - * float f7 = par2Icon.getMaxV(); - * float f12 = 0.0625F; - * Tessellator tessellator = Tessellator.instance; - * GL11.glPushMatrix(); - * GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS ); - * if( type == ItemRenderType.INVENTORY ) - * { - * GL11.glColor4f( 1, 1, 1, 1.0F ); - * GL11.glScalef( 16F, 16F, 10F ); - * GL11.glTranslatef( 0.0F, 1.0F, 0.0F ); - * GL11.glRotatef( 180F, 1.0F, 0.0F, 0.0F ); - * GL11.glEnable( GL11.GL_ALPHA_TEST ); - * tessellator.startDrawingQuads(); - * tessellator.setNormal( 0.0F, 1.0F, 0.0F ); - * tessellator.addVertexWithUV( 0, 0, 0, f4, f7 ); - * tessellator.addVertexWithUV( 1, 0, 0, f5, f7 ); - * tessellator.addVertexWithUV( 1, 1, 0, f5, f6 ); - * tessellator.addVertexWithUV( 0, 1, 0, f4, f6 ); - * tessellator.draw(); - * } - * else - * { - * GL11.glTranslatef( -0.5F, -0.3F, 0.01F ); - * ItemRenderer.renderItemIn2D( tessellator, f5, f6, f4, f7, par2Icon.getIconWidth(), par2Icon.getIconHeight(), - * f12 ); - * GL11.glDisable( GL11.GL_CULL_FACE ); - * GL11.glColor4f( 1, 1, 1, 1.0F ); - * GL11.glScalef( 1F, 1.1F, 1F ); - * GL11.glTranslatef( 0.0F, 1.07F, f12 / -2.0f ); - * GL11.glRotatef( 180F, 1.0F, 0.0F, 0.0F ); - * } - * float u = ExtraItemTextures.White.getIcon().getInterpolatedU( 8.1 ); - * float v = ExtraItemTextures.White.getIcon().getInterpolatedV( 8.1 ); - * String username = ""; - * if( item.getItem() instanceof IBiometricCard ) - * { - * GameProfile gp = ( (IBiometricCard) item.getItem() ).getProfile( item ); - * if( gp != null ) - * { - * username = gp.getName(); - * } - * } - * int hash = username.length() > 0 ? username.hashCode() : 0; - * GL11.glScalef( 1F / 16F, 1F / 16F, 1F ); - * GL11.glTranslatef( 4, 6, 0 ); - * GL11.glDisable( GL11.GL_LIGHTING ); - * tessellator.startDrawingQuads(); - * float z = 0; - * AEColor col = AEColor.values()[Math.abs( 3 + hash ) % AEColor.values().length]; - * if( hash == 0 ) - * { - * col = AEColor.Black; - * } - * for( int x = 0; x < 8; x++ )// 8 - * { - * for( int y = 0; y < 6; y++ )// 6 - * { - * boolean isLit = false; - * float scale = 0.3f / 255.0f; - * if( x == 0 || y == 0 || x == 7 || y == 5 ) - * { - * isLit = false; - * } - * else - * { - * isLit = ( hash & ( 1 << x ) ) != 0 || ( hash & ( 1 << y ) ) != 0; - * } - * if( isLit ) - * { - * tessellator.setColorOpaque_I( col.mediumVariant ); - * } - * else - * { - * tessellator.setColorOpaque_F( ( ( col.blackVariant >> 16 ) & 0xff ) * scale, ( ( col.blackVariant >> 8 ) & - * 0xff ) * scale, ( col.blackVariant & 0xff ) * scale ); - * } - * tessellator.addVertexWithUV( x, y, z, u, v ); - * tessellator.addVertexWithUV( x + 1, y, z, u, v ); - * tessellator.addVertexWithUV( x + 1, y + 1, z, u, v ); - * tessellator.addVertexWithUV( x, y + 1, z, u, v ); - * } - * } - * tessellator.draw(); - * GL11.glPopAttrib(); - * GL11.glPopMatrix(); - */ - } -} diff --git a/src/main/java/appeng/client/render/items/ToolColorApplicatorRender.java b/src/main/java/appeng/client/render/items/ToolColorApplicatorRender.java deleted file mode 100644 index b007de0f2..000000000 --- a/src/main/java/appeng/client/render/items/ToolColorApplicatorRender.java +++ /dev/null @@ -1,137 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.render.items; - - -import net.minecraft.item.ItemStack; - -import appeng.client.ItemRenderType; - - -public class ToolColorApplicatorRender -{ - - public boolean handleRenderType( final ItemStack item, final ItemRenderType type ) - { - return true; - } - - public boolean shouldUseRenderHelper( final ItemRenderType type, final ItemStack item ) - { - return false;// return helper == ItemRendererHelper.ENTITY_BOBBING || helper == - // ItemRendererHelper.ENTITY_ROTATION; - } - - public void renderItem( final ItemRenderType type, final ItemStack item, final Object... data ) - { - /* - * TextureAtlasSprite par2Icon = item.getIconIndex(); - * float f4 = par2Icon.getMinU(); - * float f5 = par2Icon.getMaxU(); - * float f6 = par2Icon.getMinV(); - * float f7 = par2Icon.getMaxV(); - * float f12 = 0.0625F; - * Tessellator tessellator = Tessellator.instance; - * GL11.glPushMatrix(); - * GL11.glPushAttrib( GL11.GL_ALL_ATTRIB_BITS ); - * if( type == ItemRenderType.INVENTORY ) - * { - * GL11.glColor4f( 1, 1, 1, 1.0F ); - * GL11.glScalef( 16F, 16F, 10F ); - * GL11.glTranslatef( 0.0F, 1.0F, 0.0F ); - * GL11.glRotatef( 180F, 1.0F, 0.0F, 0.0F ); - * GL11.glEnable( GL11.GL_ALPHA_TEST ); - * tessellator.startDrawingQuads(); - * tessellator.setNormal( 0.0F, 1.0F, 0.0F ); - * tessellator.addVertexWithUV( 0, 0, 0, f4, f7 ); - * tessellator.addVertexWithUV( 1, 0, 0, f5, f7 ); - * tessellator.addVertexWithUV( 1, 1, 0, f5, f6 ); - * tessellator.addVertexWithUV( 0, 1, 0, f4, f6 ); - * tessellator.draw(); - * } - * else - * { - * if( type == ItemRenderType.EQUIPPED_FIRST_PERSON ) - * { - * GL11.glTranslatef( 0.0F, 0.0F, 0.0F ); - * } - * else if( type == ItemRenderType.EQUIPPED ) - * { - * GL11.glTranslatef( 0.0F, 0.0F, 0.0F ); - * } - * else - * { - * GL11.glTranslatef( -0.5F, -0.3F, 0.01F ); - * } - * ItemRenderer.renderItemIn2D( tessellator, f5, f6, f4, f7, par2Icon.getIconWidth(), par2Icon.getIconHeight(), - * f12 ); - * GL11.glDisable( GL11.GL_CULL_FACE ); - * GL11.glColor4f( 1, 1, 1, 1.0F ); - * GL11.glScalef( -1F, -1F, 1F ); - * GL11.glTranslatef( -1.125F, 0.0f, f12 / -2.0f ); - * GL11.glRotatef( 180F, 1.0F, 0.0F, 0.0F ); - * } - * TextureAtlasSprite dark = ExtraItemTextures.ToolColorApplicatorTip_Dark.getIcon(); - * TextureAtlasSprite med = ExtraItemTextures.ToolColorApplicatorTip_Medium.getIcon(); - * TextureAtlasSprite light = ExtraItemTextures.ToolColorApplicatorTip_Light.getIcon(); - * GL11.glScalef( 1F / 16F, 1F / 16F, 1F ); - * if( type != ItemRenderType.INVENTORY ) - * { - * GL11.glTranslatef( 2, 0, 0 ); - * } - * GL11.glDisable( GL11.GL_LIGHTING ); - * AEColor col = null; - * col = ( (ToolColorApplicator) item.getItem() ).getActiveColor( item ); - * if( col != null ) - * { - * tessellator.startDrawingQuads(); - * f4 = dark.getMinU(); - * f5 = dark.getMaxU(); - * f6 = dark.getMinV(); - * f7 = dark.getMaxV(); - * tessellator.setColorOpaque_I( col.blackVariant ); - * tessellator.addVertexWithUV( 0, 0, 0, f4, f7 ); - * tessellator.addVertexWithUV( 16, 0, 0, f5, f7 ); - * tessellator.addVertexWithUV( 16, 16, 0, f5, f6 ); - * tessellator.addVertexWithUV( 0, 16, 0, f4, f6 ); - * f4 = light.getMinU(); - * f5 = light.getMaxU(); - * f6 = light.getMinV(); - * f7 = light.getMaxV(); - * tessellator.setColorOpaque_I( col.whiteVariant ); - * tessellator.addVertexWithUV( 0, 0, 0, f4, f7 ); - * tessellator.addVertexWithUV( 16, 0, 0, f5, f7 ); - * tessellator.addVertexWithUV( 16, 16, 0, f5, f6 ); - * tessellator.addVertexWithUV( 0, 16, 0, f4, f6 ); - * f4 = med.getMinU(); - * f5 = med.getMaxU(); - * f6 = med.getMinV(); - * f7 = med.getMaxV(); - * tessellator.setColorOpaque_I( col.mediumVariant ); - * tessellator.addVertexWithUV( 0, 0, 0, f4, f7 ); - * tessellator.addVertexWithUV( 16, 0, 0, f5, f7 ); - * tessellator.addVertexWithUV( 16, 16, 0, f5, f6 ); - * tessellator.addVertexWithUV( 0, 16, 0, f4, f6 ); - * tessellator.draw(); - * } - * GL11.glPopAttrib(); - * GL11.glPopMatrix(); - */ - } -} diff --git a/src/main/java/appeng/client/texture/BaseIcon.java b/src/main/java/appeng/client/texture/BaseIcon.java deleted file mode 100644 index ddb1f8ad7..000000000 --- a/src/main/java/appeng/client/texture/BaseIcon.java +++ /dev/null @@ -1,79 +0,0 @@ - -package appeng.client.texture; - - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; - -import appeng.api.util.IAESprite; - - -public class BaseIcon implements IAESprite -{ - private final TextureAtlasSprite spite; - - public BaseIcon( final TextureAtlasSprite src ) - { - this.spite = src; - } - - @Override - public int getIconWidth() - { - return this.spite.getIconWidth(); - } - - @Override - public int getIconHeight() - { - return this.spite.getIconHeight(); - } - - @Override - public float getMaxU() - { - return this.spite.getMaxU(); - } - - @Override - public float getInterpolatedU( final double px ) - { - return this.spite.getInterpolatedU( px ); - } - - @Override - public float getMinV() - { - return this.spite.getMinV(); - } - - @Override - public float getMaxV() - { - return this.spite.getMaxV(); - } - - @Override - public String getIconName() - { - return this.spite.getIconName(); - } - - @Override - public float getInterpolatedV( final double px ) - { - return this.spite.getInterpolatedV( px ); - } - - @Override - public float getMinU() - { - return this.spite.getMinU(); - } - - @Override - public TextureAtlasSprite getAtlas() - { - return this.spite; - } - -} diff --git a/src/main/java/appeng/client/texture/CableBusTextures.java b/src/main/java/appeng/client/texture/CableBusTextures.java deleted file mode 100644 index d0317a72e..000000000 --- a/src/main/java/appeng/client/texture/CableBusTextures.java +++ /dev/null @@ -1,210 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; -import appeng.core.AppEng; - - -public enum CableBusTextures -{ - - Channels00( "MECableSmart00" ), - Channels01( "MECableSmart01" ), - Channels02( "MECableSmart02" ), - Channels03( "MECableSmart03" ), - Channels10( "MECableSmart10" ), - Channels11( "MECableSmart11" ), - Channels12( "MECableSmart12" ), - Channels13( "MECableSmart13" ), - Channels14( "MECableSmart14" ), - Channels04( "MECableSmart04" ), - - LevelEmitterTorchOn( "ItemPart.LevelEmitterOn" ), - BlockWirelessOn( "BlockWirelessOn" ), - - BlockP2PTunnel2( "ItemPart.P2PTunnel2" ), - BlockP2PTunnel3( "ItemPart.P2PTunnel3" ), - - // MEWaiting("MEWaiting"), - - PartMonitorSides( "PartMonitorSides" ), - PartMonitorBack( "PartMonitorBack" ), - - Transparent( "Transparent" ), - PartMonitorSidesStatus( "PartMonitorSidesStatus" ), - PartMonitorSidesStatusLights( "PartMonitorSidesStatusLights" ), - - PartMonitor_Colored( "PartMonitor_Colored" ), - PartMonitor_Bright( "PartMonitor_Bright" ), - - PartPatternTerm_Bright( "PartPatternTerm_Bright" ), - PartPatternTerm_Colored( "PartPatternTerm_Colored" ), - PartPatternTerm_Dark( "PartPatternTerm_Dark" ), - - PartConversionMonitor_Bright( "PartConversionMonitor_Bright" ), - PartConversionMonitor_Colored( "PartConversionMonitor_Colored" ), - PartConversionMonitor_Dark( "PartConversionMonitor_Dark" ), - PartConversionMonitor_Dark_Locked( "PartConversionMonitor_Dark_Locked" ), - - PartInterfaceTerm_Bright( "PartInterfaceTerm_Bright" ), - PartInterfaceTerm_Colored( "PartInterfaceTerm_Colored" ), - PartInterfaceTerm_Dark( "PartInterfaceTerm_Dark" ), - - PartCraftingTerm_Bright( "PartCraftingTerm_Bright" ), - PartCraftingTerm_Colored( "PartCraftingTerm_Colored" ), - PartCraftingTerm_Dark( "PartCraftingTerm_Dark" ), // - - PartStorageMonitor_Bright( "PartStorageMonitor_Bright" ), - PartStorageMonitor_Colored( "PartStorageMonitor_Colored" ), - PartStorageMonitor_Dark( "PartStorageMonitor_Dark" ), - PartStorageMonitor_Colored_Locked( "PartStorageMonitor_Colored_Locked" ), - - PartTerminal_Bright( "PartTerminal_Bright" ), - PartTerminal_Colored( "PartTerminal_Colored" ), - PartTerminal_Dark( "PartTerminal_Dark" ), - - 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_Purple" ), - MECable_Red( "MECable_Red" ), - MECable_White( "MECable_White" ), - MECable_Yellow( "MECable_Yellow" ), - MECable_Black( "MECable_Black" ), - MECable_Blue( "MECable_Blue" ), - MECable_Brown( "MECable_Brown" ), - MECable_Cyan( "MECable_Cyan" ), - - MEDense_Black( "MEDense_Black" ), - MEDense_Blue( "MEDense_Blue" ), - MEDense_Brown( "MEDense_Brown" ), - MEDense_Cyan( "MEDense_Cyan" ), - MEDense_Gray( "MEDense_Gray" ), - MEDense_Green( "MEDense_Green" ), - MEDense_LightBlue( "MEDense_LightBlue" ), - MEDense_LightGrey( "MEDense_LightGrey" ), - MEDense_Lime( "MEDense_Lime" ), - MEDense_Magenta( "MEDense_Magenta" ), - MEDense_Orange( "MEDense_Orange" ), - MEDense_Pink( "MEDense_Pink" ), - MEDense_Purple( "MEDense_Purple" ), - MEDense_Red( "MEDense_Red" ), - MEDense_White( "MEDense_White" ), - MEDense_Yellow( "MEDense_Yellow" ), - - MESmart_Black( "MESmart_Black" ), - MESmart_Blue( "MESmart_Blue" ), - MESmart_Brown( "MESmart_Brown" ), - MESmart_Cyan( "MESmart_Cyan" ), - MESmart_Gray( "MESmart_Gray" ), - MESmart_Green( "MESmart_Green" ), - MESmart_LightBlue( "MESmart_LightBlue" ), - MESmart_LightGrey( "MESmart_LightGrey" ), - MESmart_Lime( "MESmart_Lime" ), - MESmart_Magenta( "MESmart_Magenta" ), - MESmart_Orange( "MESmart_Orange" ), - MESmart_Pink( "MESmart_Pink" ), - MESmart_Purple( "MESmart_Purple" ), - MESmart_Red( "MESmart_Red" ), - MESmart_White( "MESmart_White" ), - MESmart_Yellow( "MESmart_Yellow" ), - - MECovered_Black( "MECovered_Black" ), - MECovered_Blue( "MECovered_Blue" ), - MECovered_Brown( "MECovered_Brown" ), - MECovered_Cyan( "MECovered_Cyan" ), - MECovered_Gray( "MECovered_Gray" ), - MECovered_Green( "MECovered_Green" ), - MECovered_LightBlue( "MECovered_LightBlue" ), - MECovered_LightGrey( "MECovered_LightGrey" ), - MECovered_Lime( "MECovered_Lime" ), - MECovered_Magenta( "MECovered_Magenta" ), - MECovered_Orange( "MECovered_Orange" ), - MECovered_Pink( "MECovered_Pink" ), - MECovered_Purple( "MECovered_Purple" ), - MECovered_Red( "MECovered_Red" ), - MECovered_White( "MECovered_White" ), - MECovered_Yellow( "MECovered_Yellow" ), - - BlockAnnihilationPlaneOn( "BlockAnnihilationPlaneOn" ), - - BlockFormPlaneOn( "BlockFormPlaneOn" ), - - BlockIdentityAnnihilationPlaneOn( "BlockIdentityAnnihilationPlaneOn" ), - - ItemPartLevelEmitterOn( "ItemPart.LevelEmitterOn" ), - PartTransitionPlaneBack( "PartTransitionPlaneBack" ), - - PartTunnelSides( "PartTunnelSides" ), - PartPlaneSides( "PartPlaneSides" ), - PartExportSides( "PartExportSides" ), - PartImportSides( "PartImportSides" ), - - PartWirelessSides( "PartWirelessSides" ), - PartStorageSides( "PartStorageSides" ), - PartStorageBack( "PartStorageBack" ); - - private final String name; - public IAESprite IIcon; - - CableBusTextures( final String name ) - { - this.name = name; - } - - public static ResourceLocation GuiTexture( final String string ) - { - return null; - } - - @SideOnly( Side.CLIENT ) - public static TextureAtlasSprite getMissing() - { - return ( (TextureMap) Minecraft.getMinecraft().getTextureManager().getTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ) ).getAtlasSprite( "missingno" ); - } - - public String getName() - { - return this.name; - } - - public IAESprite getIcon() - { - return this.IIcon; - } - - public void registerIcon( final TextureMap map ) - { - this.IIcon = new BaseIcon( map.registerSprite( new ResourceLocation( AppEng.MOD_ID, "blocks/" + this.name ) ) ); - } -} diff --git a/src/main/java/appeng/client/texture/ExtraBlockTextures.java b/src/main/java/appeng/client/texture/ExtraBlockTextures.java deleted file mode 100644 index f1d74753f..000000000 --- a/src/main/java/appeng/client/texture/ExtraBlockTextures.java +++ /dev/null @@ -1,178 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.ResourceLocation; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; -import appeng.core.AppEng; - - -public enum ExtraBlockTextures -{ - BlockVibrationChamberFrontOn( "BlockVibrationChamberFrontOn" ), - - OreQuartzStone( "OreQuartzStone" ), - - MEChest( "BlockMEChest" ), - - BlockMEChestItems_Light( "BlockMEChestItems_Light" ), - BlockMEChestItems_Dark( "BlockMEChestItems_Dark" ), - BlockMEChestItems_Medium( "BlockMEChestItems_Medium" ), - - BlockControllerPowered( "BlockControllerPowered" ), - BlockControllerColumnPowered( "BlockControllerColumnPowered" ), - BlockControllerColumn( "BlockControllerColumn" ), - BlockControllerLights( "BlockControllerLights" ), - BlockControllerColumnLights( "BlockControllerColumnLights" ), - BlockControllerColumnConflict( "BlockControllerColumnConflict" ), - BlockControllerConflict( "BlockControllerConflict" ), - BlockControllerInsideA( "BlockControllerInsideA" ), - BlockControllerInsideB( "BlockControllerInsideB" ), - - BlockMolecularAssemblerLights( "BlockMolecularAssemblerLights" ), - - BlockChargerInside( "BlockChargerInside" ), - - BlockInterfaceAlternate( "BlockInterfaceAlternate" ), - BlockInterfaceAlternateArrow( "BlockInterfaceAlternateArrow" ), - - MEStorageCellTextures( "MEStorageCellTextures" ), - White( "White" ), - - BlockMatterCannonParticle( "BlockMatterCannonParticle" ), - BlockEnergyParticle( "BlockEnergyParticle" ), - - GlassFrame( "BlockQuartzGlassFrame" ), - - BlockQRingCornerLight( "BlockQRingCornerLight" ), - BlockQRingEdgeLight( "BlockQRingEdgeLight" ), - - MEDenseEnergyCell0( "BlockDenseEnergyCell0" ), - MEDenseEnergyCell1( "BlockDenseEnergyCell1" ), - MEDenseEnergyCell2( "BlockDenseEnergyCell2" ), - MEDenseEnergyCell3( "BlockDenseEnergyCell3" ), - MEDenseEnergyCell4( "BlockDenseEnergyCell4" ), - MEDenseEnergyCell5( "BlockDenseEnergyCell5" ), - MEDenseEnergyCell6( "BlockDenseEnergyCell6" ), - MEDenseEnergyCell7( "BlockDenseEnergyCell7" ), - - MEEnergyCell0( "BlockEnergyCell0" ), - MEEnergyCell1( "BlockEnergyCell1" ), - MEEnergyCell2( "BlockEnergyCell2" ), - MEEnergyCell3( "BlockEnergyCell3" ), - MEEnergyCell4( "BlockEnergyCell4" ), - MEEnergyCell5( "BlockEnergyCell5" ), - MEEnergyCell6( "BlockEnergyCell6" ), - MEEnergyCell7( "BlockEnergyCell7" ), - - BlockSpatialPylon_dim( "BlockSpatialPylon_dim" ), - BlockSpatialPylon_red( "BlockSpatialPylon_red" ), - - BlockSpatialPylonC( "BlockSpatialPylon_spanned" ), - BlockSpatialPylonC_dim( "BlockSpatialPylon_spanned_dim" ), - BlockSpatialPylonC_red( "BlockSpatialPylon_spanned_red" ), - - BlockQuartzGlassB( "BlockQuartzGlassB" ), - BlockQuartzGlassC( "BlockQuartzGlassC" ), - BlockQuartzGlassD( "BlockQuartzGlassD" ), - - BlockSpatialPylonE( "BlockSpatialPylon_end" ), - BlockSpatialPylonE_dim( "BlockSpatialPylon_end_dim" ), - BlockSpatialPylonE_red( "BlockSpatialPylon_end_red" ), - - BlockMESecurityOn_Light( "BlockMESecurityOn_Light" ), - BlockMESecurityOn_Medium( "BlockMESecurityOn_Medium" ), - BlockMESecurityOn_Dark( "BlockMESecurityOn_Dark" ), - BlockInscriberInside( "BlockInscriberInside" ), - - BlockQuartzGrowthAcceleratorOn( "BlockQuartzGrowthAcceleratorOn" ), - BlockQuartzGrowthAcceleratorSideOn( "BlockQuartzGrowthAcceleratorSideOn" ), - - BlockWirelessInside( "BlockWirelessInside" ), - - BlockCraftingAccelerator( "BlockCraftingAccelerator" ), - BlockCraftingMonitor( "BlockCraftingMonitor" ), - - BlockCraftingStorage1k( "BlockCraftingStorage" ), - BlockCraftingStorage4k( "BlockCraftingStorage4k" ), - BlockCraftingStorage16k( "BlockCraftingStorage16k" ), - BlockCraftingStorage64k( "BlockCraftingStorage64k" ), - - BlockCraftingAcceleratorFit( "BlockCraftingAcceleratorFit" ), - - BlockCraftingMonitorFit_Light( "BlockCraftingMonitorFit_Light" ), - BlockCraftingMonitorFit_Dark( "BlockCraftingMonitorFit_Dark" ), - BlockCraftingMonitorFit_Medium( "BlockCraftingMonitorFit_Medium" ), - - BlockCraftingStorage1kFit( "BlockCraftingStorageFit" ), - BlockCraftingStorage4kFit( "BlockCraftingStorage4kFit" ), - BlockCraftingStorage16kFit( "BlockCraftingStorage16kFit" ), - BlockCraftingStorage64kFit( "BlockCraftingStorage64kFit" ), - - BlockCraftingUnitRing( "BlockCraftingUnitRing" ), - BlockCraftingUnitRingLongRotated( "BlockCraftingUnitRingLongRotated" ), - BlockCraftingUnitRingLong( "BlockCraftingUnitRingLong" ), - BlockCraftingUnitFit( "BlockCraftingUnitFit" ), - - BlockCraftingMonitorOuter( "BlockCraftingMonitorOuter" ), - BlockCraftingFitSolid( "BlockCraftingFitSolid" ), - - BlockPaint2( "BlockPaint2" ), - BlockPaint3( "BlockPaint3" ); - - private final String name; - private IAESprite IIcon; - - ExtraBlockTextures( final String name ) - { - this.name = name; - } - - public static ResourceLocation GuiTexture( final String string ) - { - return new ResourceLocation( "appliedenergistics2", "textures/" + string ); - } - - @SideOnly( Side.CLIENT ) - public static IAESprite getMissing() - { - return new BaseIcon( ( (TextureMap) Minecraft.getMinecraft().getTextureManager().getTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ) ).getAtlasSprite( "missingno" ) ); - } - - public String getName() - { - return this.name; - } - - public IAESprite getIcon() - { - return this.IIcon; - } - - public void registerIcon( final TextureMap map ) - { - this.IIcon = new BaseIcon( map.registerSprite( new ResourceLocation( AppEng.MOD_ID, "blocks/" + this.name ) ) ); - } -} diff --git a/src/main/java/appeng/client/texture/ExtraItemTextures.java b/src/main/java/appeng/client/texture/ExtraItemTextures.java deleted file mode 100644 index 6819c6c38..000000000 --- a/src/main/java/appeng/client/texture/ExtraItemTextures.java +++ /dev/null @@ -1,66 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraft.util.ResourceLocation; - -import appeng.api.util.IAESprite; -import appeng.core.AppEng; - - -public enum ExtraItemTextures -{ - White( "White" ), ItemPaintBallShimmer( "ItemPaintBallShimmer" ), - - ToolColorApplicatorTip_Medium( "ToolColorApplicatorTip_Medium" ), - - ToolColorApplicatorTip_Dark( "ToolColorApplicatorTip_Dark" ), - - ToolColorApplicatorTip_Light( "ToolColorApplicatorTip_Light" ); - - private final String name; - private IAESprite IIcon; - - ExtraItemTextures( final String name ) - { - this.name = name; - } - - public static ResourceLocation GuiTexture( final String string ) - { - return new ResourceLocation( "appliedenergistics2", "textures/" + string ); - } - - public String getName() - { - return this.name; - } - - public IAESprite getIcon() - { - return this.IIcon; - } - - public void registerIcon( final TextureMap map ) - { - this.IIcon = new BaseIcon( map.registerSprite( new ResourceLocation( AppEng.MOD_ID, "items/" + this.name ) ) ); - } -} diff --git a/src/main/java/appeng/client/texture/FlippableIcon.java b/src/main/java/appeng/client/texture/FlippableIcon.java deleted file mode 100644 index d7406bece..000000000 --- a/src/main/java/appeng/client/texture/FlippableIcon.java +++ /dev/null @@ -1,169 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import javax.annotation.Nonnull; - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; - -import appeng.api.util.IAESprite; - - -public class FlippableIcon implements IAESprite -{ - - private IAESprite original; - private boolean flip_u; - private boolean flip_v; - - public FlippableIcon( final IAESprite o ) - { - this.original = o; - this.flip_u = false; - this.flip_v = false; - } - - @Override - public TextureAtlasSprite getAtlas() - { - return this.original.getAtlas(); - } - - @Override - public int getIconWidth() - { - return this.getOriginal().getIconWidth(); - } - - @Override - public int getIconHeight() - { - return this.getOriginal().getIconHeight(); - } - - @Override - public float getMinU() - { - if( this.isFlipU() ) - { - return this.getOriginal().getMaxU(); - } - return this.getOriginal().getMinU(); - } - - @Override - public float getMaxU() - { - if( this.isFlipU() ) - { - return this.getOriginal().getMinU(); - } - return this.getOriginal().getMaxU(); - } - - @Override - public float getInterpolatedU( final double px ) - { - if( this.isFlipU() ) - { - return this.getOriginal().getInterpolatedU( 16 - px ); - } - return this.getOriginal().getInterpolatedU( px ); - } - - @Override - public float getMinV() - { - if( this.isFlipV() ) - { - return this.getOriginal().getMaxV(); - } - return this.getOriginal().getMinV(); - } - - @Override - public float getMaxV() - { - if( this.isFlipV() ) - { - return this.getOriginal().getMinV(); - } - return this.getOriginal().getMaxV(); - } - - @Override - public float getInterpolatedV( final double px ) - { - if( this.isFlipV() ) - { - return this.getOriginal().getInterpolatedV( 16 - px ); - } - return this.getOriginal().getInterpolatedV( px ); - } - - @Override - public String getIconName() - { - return this.getOriginal().getIconName(); - } - - public IAESprite getOriginal() - { - return this.original; - } - - public void setFlip( final boolean u, final boolean v ) - { - this.setFlipU( u ); - this.setFlipV( v ); - } - - public int setFlip( final int orientation ) - { - this.setFlipU( ( orientation & 8 ) == 8 ); - this.setFlipV( ( orientation & 16 ) == 16 ); - return orientation & 7; - } - - boolean isFlipU() - { - return this.flip_u; - } - - void setFlipU( final boolean flipU ) - { - this.flip_u = flipU; - } - - boolean isFlipV() - { - return this.flip_v; - } - - void setFlipV( final boolean flipV ) - { - this.flip_v = flipV; - } - - public void setOriginal( @Nonnull final IAESprite original ) - { - this.original = original; - } -} diff --git a/src/main/java/appeng/client/texture/FullIcon.java b/src/main/java/appeng/client/texture/FullIcon.java deleted file mode 100644 index aba48388a..000000000 --- a/src/main/java/appeng/client/texture/FullIcon.java +++ /dev/null @@ -1,118 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; - - -public class FullIcon implements IAESprite -{ - - private final TextureAtlasSprite p; - - public FullIcon( final TextureAtlasSprite o ) - { - if( o == null ) - { - throw new IllegalArgumentException( "Cannot create a wrapper icon with a null icon." ); - } - - this.p = o; - } - - @Override - public TextureAtlasSprite getAtlas() - { - return this.p; - } - - @Override - public int getIconWidth() - { - return this.p.getIconWidth(); - } - - @Override - public int getIconHeight() - { - return this.p.getIconHeight(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMinU() - { - return this.p.getMinU(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMaxU() - { - return this.p.getMaxU(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getInterpolatedU( final double d0 ) - { - if( d0 > 8.0 ) - { - return this.p.getMaxU(); - } - return this.p.getMinU(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMinV() - { - return this.p.getMinV(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMaxV() - { - return this.p.getMaxV(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getInterpolatedV( final double d0 ) - { - if( d0 > 8.0 ) - { - return this.p.getMaxV(); - } - return this.p.getMinV(); - } - - @Override - @SideOnly( Side.CLIENT ) - public String getIconName() - { - return this.p.getIconName(); - } -} diff --git a/src/main/java/appeng/client/texture/MissingIcon.java b/src/main/java/appeng/client/texture/MissingIcon.java deleted file mode 100644 index f274f584e..000000000 --- a/src/main/java/appeng/client/texture/MissingIcon.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.Minecraft; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraft.client.renderer.texture.TextureMap; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; - - -public class MissingIcon implements IAESprite -{ - private TextureAtlasSprite missing; - - public MissingIcon( final Object forWhat ) - { - } - - @Override - public int getIconWidth() - { - return this.getMissing().getIconWidth(); - } - - @SideOnly( Side.CLIENT ) - public static TextureAtlasSprite getMissing() - { - return ( (TextureMap) Minecraft.getMinecraft().getTextureManager().getTexture( TextureMap.LOCATION_BLOCKS_TEXTURE ) ).getAtlasSprite( "missingno" ); - } - - @Override - public TextureAtlasSprite getAtlas() - { - return getMissing(); - } - - @Override - public int getIconHeight() - { - return this.getMissing().getIconHeight(); - } - - @Override - public float getMinU() - { - return this.getMissing().getMinU(); - } - - @Override - public float getMaxU() - { - return this.getMissing().getMaxU(); - } - - @Override - public float getInterpolatedU( final double var1 ) - { - return this.getMissing().getInterpolatedU( var1 ); - } - - @Override - public float getMinV() - { - return this.getMissing().getMinV(); - } - - @Override - public float getMaxV() - { - return this.getMissing().getMaxV(); - } - - @Override - public float getInterpolatedV( final double var1 ) - { - return this.getMissing().getInterpolatedV( var1 ); - } - - @Override - public String getIconName() - { - return this.getMissing().getIconName(); - } -} diff --git a/src/main/java/appeng/client/texture/OffsetIcon.java b/src/main/java/appeng/client/texture/OffsetIcon.java deleted file mode 100644 index d98da42b2..000000000 --- a/src/main/java/appeng/client/texture/OffsetIcon.java +++ /dev/null @@ -1,125 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; - - -public class OffsetIcon implements IAESprite -{ - - private final float offsetX; - private final float offsetY; - - private final IAESprite p; - - public OffsetIcon( final IAESprite iIcon, final float x, final float y ) - { - if( iIcon == null ) - { - throw new IllegalArgumentException( "Cannot create a wrapper icon with a null icon." ); - } - - this.p = iIcon; - this.offsetX = x; - this.offsetY = y; - } - - @Override - public int getIconWidth() - { - return this.p.getIconWidth(); - } - - @Override - public int getIconHeight() - { - return this.p.getIconHeight(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMinU() - { - return this.u( 0 - this.offsetX ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMaxU() - { - return this.u( 16 - this.offsetX ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getInterpolatedU( final double d0 ) - { - return this.u( d0 - this.offsetX ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMinV() - { - return this.v( 0 - this.offsetY ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMaxV() - { - return this.v( 16 - this.offsetY ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getInterpolatedV( final double d0 ) - { - return this.v( d0 - this.offsetY ); - } - - @Override - @SideOnly( Side.CLIENT ) - public String getIconName() - { - return this.p.getIconName(); - } - - private float v( final double d ) - { - return this.p.getInterpolatedV( Math.min( 16.0, Math.max( 0.0, d ) ) ); - } - - private float u( final double d ) - { - return this.p.getInterpolatedU( Math.min( 16.0, Math.max( 0.0, d ) ) ); - } - - @Override - public TextureAtlasSprite getAtlas() - { - return this.p.getAtlas(); - } -} diff --git a/src/main/java/appeng/client/texture/TaughtIcon.java b/src/main/java/appeng/client/texture/TaughtIcon.java deleted file mode 100644 index 88848037a..000000000 --- a/src/main/java/appeng/client/texture/TaughtIcon.java +++ /dev/null @@ -1,139 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import net.minecraft.client.renderer.texture.TextureAtlasSprite; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.util.IAESprite; - - -public class TaughtIcon implements IAESprite -{ - - private final float tightness; - - private final IAESprite icon; - - @Override - public TextureAtlasSprite getAtlas() - { - return this.icon.getAtlas(); - } - - public TaughtIcon( final IAESprite iIcon, final float tightness ) - { - if( iIcon == null ) - { - throw new IllegalArgumentException( "Cannot create a wrapper icon with a null icon." ); - } - - this.icon = iIcon; - this.tightness = tightness * 0.4f; - } - - @Override - public int getIconWidth() - { - return this.icon.getIconWidth(); - } - - @Override - public int getIconHeight() - { - return this.icon.getIconHeight(); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMinU() - { - return this.u( 0 ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMaxU() - { - return this.u( 16 ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getInterpolatedU( final double d0 ) - { - return this.u( d0 ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMinV() - { - return this.v( 0 ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getMaxV() - { - return this.v( 16 ); - } - - @Override - @SideOnly( Side.CLIENT ) - public float getInterpolatedV( final double d0 ) - { - return this.v( d0 ); - } - - @Override - @SideOnly( Side.CLIENT ) - public String getIconName() - { - return this.icon.getIconName(); - } - - private float v( double d ) - { - if( d < 8 ) - { - d -= this.tightness; - } - if( d > 8 ) - { - d += this.tightness; - } - return this.icon.getInterpolatedV( Math.min( 16.0, Math.max( 0.0, d ) ) ); - } - - private float u( double d ) - { - if( d < 8 ) - { - d -= this.tightness; - } - if( d > 8 ) - { - d += this.tightness; - } - return this.icon.getInterpolatedU( Math.min( 16.0, Math.max( 0.0, d ) ) ); - } -} diff --git a/src/main/java/appeng/client/texture/TmpFlippableIcon.java b/src/main/java/appeng/client/texture/TmpFlippableIcon.java deleted file mode 100644 index d7b1f44b7..000000000 --- a/src/main/java/appeng/client/texture/TmpFlippableIcon.java +++ /dev/null @@ -1,56 +0,0 @@ -/* - * This file is part of Applied Energistics 2. - * Copyright (c) 2013 - 2014, AlgorithmX2, All rights reserved. - * - * Applied Energistics 2 is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * Applied Energistics 2 is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with Applied Energistics 2. If not, see . - */ - -package appeng.client.texture; - - -import appeng.api.util.IAESprite; - - -public class TmpFlippableIcon extends FlippableIcon -{ - - public TmpFlippableIcon() - { - super( null ); - } - - @Override - public void setOriginal( IAESprite i ) - { - this.setFlip( false, false ); - - while( i instanceof FlippableIcon ) - { - final FlippableIcon fi = (FlippableIcon) i; - if( fi.isFlipU() ) - { - this.setFlipU( !this.isFlipU() ); - } - - if( fi.isFlipV() ) - { - this.setFlipV( !this.isFlipV() ); - } - - i = fi.getOriginal(); - } - - super.setOriginal( i ); - } -} diff --git a/src/main/java/appeng/core/CommonHelper.java b/src/main/java/appeng/core/CommonHelper.java index ee3630129..c143bc5b1 100644 --- a/src/main/java/appeng/core/CommonHelper.java +++ b/src/main/java/appeng/core/CommonHelper.java @@ -72,7 +72,4 @@ public abstract class CommonHelper public abstract void missingCoreMod(); - public abstract void configureIcon( Object item, String name ); - - public abstract ResourceLocation addIcon( String string ); } diff --git a/src/main/java/appeng/core/api/ApiPart.java b/src/main/java/appeng/core/api/ApiPart.java index cf5b7099a..fbe7bd59b 100644 --- a/src/main/java/appeng/core/api/ApiPart.java +++ b/src/main/java/appeng/core/api/ApiPart.java @@ -40,7 +40,6 @@ import org.objectweb.asm.tree.MethodInsnNode; import org.objectweb.asm.tree.MethodNode; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; @@ -50,7 +49,6 @@ import net.minecraft.world.World; import appeng.api.parts.CableRenderMode; import appeng.api.parts.IPartHelper; -import appeng.api.parts.IPartItem; import appeng.api.parts.LayerBase; import appeng.core.AELog; import appeng.core.CommonHelper; @@ -59,7 +57,6 @@ import appeng.integration.IntegrationType; import appeng.integration.abstraction.IFMP; import appeng.parts.PartPlacement; import appeng.tile.networking.TileCableBus; -import appeng.util.Platform; public class ApiPart implements IPartHelper @@ -328,16 +325,6 @@ public class ApiPart implements IPartHelper return false; } - @Override - public void setItemBusRenderer( final IPartItem i ) - { - if( Platform.isClient() && i instanceof Item ) - { - CommonHelper.proxy.configureIcon( i, null ); - // MinecraftForgeClient.registerItemRenderer( (Item) i, BusRenderer.INSTANCE ); - } - } - @Override public boolean placeBus( final ItemStack is, final BlockPos pos, final EnumFacing side, final EntityPlayer player, final EnumHand hand, final World w ) { diff --git a/src/main/java/appeng/core/features/AEBlockFeatureHandler.java b/src/main/java/appeng/core/features/AEBlockFeatureHandler.java index f44a221ca..deeda0a4e 100644 --- a/src/main/java/appeng/core/features/AEBlockFeatureHandler.java +++ b/src/main/java/appeng/core/features/AEBlockFeatureHandler.java @@ -84,11 +84,6 @@ public final class AEBlockFeatureHandler implements IFeatureHandler featuredItem.setRegistryName( AppEng.MOD_ID, name ); GameRegistry.register( featuredItem ); } - - if( side == Side.CLIENT ) - { - CommonHelper.proxy.configureIcon( this.featured, name ); - } } } } diff --git a/src/main/java/appeng/core/features/AECableBusFeatureHandler.java b/src/main/java/appeng/core/features/AECableBusFeatureHandler.java index 6420f7af8..01e6e6b75 100644 --- a/src/main/java/appeng/core/features/AECableBusFeatureHandler.java +++ b/src/main/java/appeng/core/features/AECableBusFeatureHandler.java @@ -94,11 +94,6 @@ public final class AECableBusFeatureHandler implements IFeatureHandler { GameData.getBlockItemMap().put( this.featured, this.definition.maybeItem().get() ); } - - if( side == Side.CLIENT ) - { - CommonHelper.proxy.configureIcon( this.featured, name ); - } } } } diff --git a/src/main/java/appeng/core/features/AETileBlockFeatureHandler.java b/src/main/java/appeng/core/features/AETileBlockFeatureHandler.java index 29b5faae0..cf2eff007 100644 --- a/src/main/java/appeng/core/features/AETileBlockFeatureHandler.java +++ b/src/main/java/appeng/core/features/AETileBlockFeatureHandler.java @@ -93,11 +93,6 @@ public final class AETileBlockFeatureHandler implements IFeatureHandler } GameRegistry.registerTileEntity( this.featured.getTileEntityClass(), this.featured.toString() ); - - if( side == Side.CLIENT ) - { - CommonHelper.proxy.configureIcon( this.featured, name ); - } } } } diff --git a/src/main/java/appeng/core/features/ItemFeatureHandler.java b/src/main/java/appeng/core/features/ItemFeatureHandler.java index f30b6dc94..656539db3 100644 --- a/src/main/java/appeng/core/features/ItemFeatureHandler.java +++ b/src/main/java/appeng/core/features/ItemFeatureHandler.java @@ -94,11 +94,6 @@ public final class ItemFeatureHandler implements IFeatureHandler // "item." + GameRegistry.registerItem( this.item, name ); - - if( side == Side.CLIENT ) - { - CommonHelper.proxy.configureIcon( this.item, itemPhysicalName ); - } } } diff --git a/src/main/java/appeng/core/features/StairBlockFeatureHandler.java b/src/main/java/appeng/core/features/StairBlockFeatureHandler.java index d4ed874b2..3e9324832 100644 --- a/src/main/java/appeng/core/features/StairBlockFeatureHandler.java +++ b/src/main/java/appeng/core/features/StairBlockFeatureHandler.java @@ -73,12 +73,6 @@ public class StairBlockFeatureHandler implements IFeatureHandler this.stairs.setUnlocalizedName( "appliedenergistics2." + name ); GameRegistry.registerBlock( this.stairs, name ); - - if( side == Side.CLIENT ) - { - final Item item = ItemBlock.getItemFromBlock( this.stairs ); - CommonHelper.proxy.configureIcon( item, name ); - } } } } diff --git a/src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java b/src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java index 19764a845..e65bade5e 100644 --- a/src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java +++ b/src/main/java/appeng/core/features/registries/entries/BasicCellHandler.java @@ -32,8 +32,6 @@ import appeng.api.storage.IMEInventoryHandler; import appeng.api.storage.ISaveProvider; import appeng.api.storage.StorageChannel; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.sync.GuiBridge; import appeng.me.storage.CellInventory; import appeng.me.storage.CellInventoryHandler; @@ -59,24 +57,6 @@ public class BasicCellHandler implements ICellHandler return null; } - @Override - public IAESprite getTopTexture_Light() - { - return ExtraBlockTextures.BlockMEChestItems_Light.getIcon(); - } - - @Override - public IAESprite getTopTexture_Medium() - { - return ExtraBlockTextures.BlockMEChestItems_Medium.getIcon(); - } - - @Override - public IAESprite getTopTexture_Dark() - { - return ExtraBlockTextures.BlockMEChestItems_Dark.getIcon(); - } - @Override public void openChestGui( final EntityPlayer player, final IChestOrDrive chest, final ICellHandler cellHandler, final IMEInventoryHandler inv, final ItemStack is, final StorageChannel chan ) { diff --git a/src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java b/src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java index dbb51e8b5..1d30fd015 100644 --- a/src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java +++ b/src/main/java/appeng/core/features/registries/entries/CreativeCellHandler.java @@ -30,8 +30,6 @@ import appeng.api.storage.IMEInventoryHandler; import appeng.api.storage.ISaveProvider; import appeng.api.storage.StorageChannel; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.client.texture.ExtraBlockTextures; import appeng.core.sync.GuiBridge; import appeng.items.storage.ItemCreativeStorageCell; import appeng.me.storage.CreativeCellInventory; @@ -57,24 +55,6 @@ public class CreativeCellHandler implements ICellHandler return null; } - @Override - public IAESprite getTopTexture_Light() - { - return ExtraBlockTextures.BlockMEChestItems_Light.getIcon(); - } - - @Override - public IAESprite getTopTexture_Medium() - { - return ExtraBlockTextures.BlockMEChestItems_Medium.getIcon(); - } - - @Override - public IAESprite getTopTexture_Dark() - { - return ExtraBlockTextures.BlockMEChestItems_Dark.getIcon(); - } - @Override public void openChestGui( final EntityPlayer player, final IChestOrDrive chest, final ICellHandler cellHandler, final IMEInventoryHandler inv, final ItemStack is, final StorageChannel chan ) { diff --git a/src/main/java/appeng/decorative/solid/QuartzGlassBlock.java b/src/main/java/appeng/decorative/solid/QuartzGlassBlock.java index 7eb7e40a9..749338bc6 100644 --- a/src/main/java/appeng/decorative/solid/QuartzGlassBlock.java +++ b/src/main/java/appeng/decorative/solid/QuartzGlassBlock.java @@ -27,12 +27,8 @@ import net.minecraft.util.BlockRenderLayer; import net.minecraft.util.EnumFacing; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.block.AEBaseBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderQuartzGlass; import appeng.core.features.AEFeature; import appeng.helpers.AEGlassMaterial; @@ -53,13 +49,6 @@ public class QuartzGlassBlock extends AEBaseBlock return BlockRenderLayer.CUTOUT; } - @Override - @SideOnly( Side.CLIENT ) - public Class getRenderer() - { - return RenderQuartzGlass.class; - } - @Override public boolean shouldSideBeRendered( final IBlockState state, final IBlockAccess w, final BlockPos pos, final EnumFacing side ) { diff --git a/src/main/java/appeng/decorative/solid/QuartzOreBlock.java b/src/main/java/appeng/decorative/solid/QuartzOreBlock.java index ed1a4c4dc..1f486d78c 100644 --- a/src/main/java/appeng/decorative/solid/QuartzOreBlock.java +++ b/src/main/java/appeng/decorative/solid/QuartzOreBlock.java @@ -36,8 +36,6 @@ import net.minecraftforge.oredict.OreDictionary; import appeng.api.AEApi; import appeng.api.exceptions.MissingDefinition; import appeng.block.AEBaseBlock; -import appeng.client.render.BaseBlockRender; -import appeng.client.render.blocks.RenderQuartzOre; import appeng.core.features.AEFeature; @@ -64,12 +62,6 @@ public class QuartzOreBlock extends AEBaseBlock return BlockRenderLayer.CUTOUT; } - @Override - protected Class getRenderer() - { - return RenderQuartzOre.class; - } - @Override public void postInit() { diff --git a/src/main/java/appeng/entity/RenderTinyTNTPrimed.java b/src/main/java/appeng/entity/RenderTinyTNTPrimed.java index c6d41b8fa..45b45814c 100644 --- a/src/main/java/appeng/entity/RenderTinyTNTPrimed.java +++ b/src/main/java/appeng/entity/RenderTinyTNTPrimed.java @@ -33,16 +33,11 @@ import net.minecraft.util.ResourceLocation; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.util.ModelGenerator; -import appeng.client.render.BakingModelGenerator; - @SideOnly( Side.CLIENT ) public class RenderTinyTNTPrimed extends Render { - private final ModelGenerator blockRenderer = new BakingModelGenerator(); - public RenderTinyTNTPrimed( final RenderManager p_i46134_1_ ) { super( p_i46134_1_ ); diff --git a/src/main/java/appeng/facade/FacadePart.java b/src/main/java/appeng/facade/FacadePart.java index c76e5493d..786c1d587 100644 --- a/src/main/java/appeng/facade/FacadePart.java +++ b/src/main/java/appeng/facade/FacadePart.java @@ -24,20 +24,14 @@ import java.util.EnumSet; import javax.annotation.Nullable; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.item.Item; -import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.BlockRenderLayer; -import net.minecraft.util.EnumFacing; import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.IBlockAccess; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.parts.IBoxProvider; @@ -45,13 +39,7 @@ import appeng.api.parts.IFacadeContainer; import appeng.api.parts.IFacadePart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.render.BusRenderHelper; -import appeng.client.render.RenderBlocksWorkaround; -import appeng.core.AELog; import appeng.integration.IntegrationRegistry; import appeng.integration.IntegrationType; import appeng.integration.abstraction.IBuildCraftTransport; @@ -102,306 +90,6 @@ public class FacadePart implements IFacadePart, IBoxProvider } } - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper instance2, final ModelGenerator renderer, final IFacadeContainer fc, final AxisAlignedBB busBounds, final boolean renderStilt ) - { - if( this.facade != null ) - { - final BusRenderHelper instance = (BusRenderHelper) instance2; - - try - { - final ItemStack randomItem = this.getTexture(); - - RenderBlocksWorkaround rbw = null; - if( renderer instanceof RenderBlocksWorkaround ) - { - rbw = (RenderBlocksWorkaround) renderer; - } - - if( renderStilt && busBounds == null ) - { - if( rbw != null ) - { - // rbw.isFacade = false; - // rbw.calculations = true; - } - - IAESprite myIcon = null; - if( this.notAEFacade() && IntegrationRegistry.INSTANCE.isEnabled( IntegrationType.BuildCraftTransport ) ) - { - final IBuildCraftTransport bc = (IBuildCraftTransport) IntegrationRegistry.INSTANCE.getInstance( IntegrationType.BuildCraftTransport ); - myIcon = bc.getCobbleStructurePipeTexture(); - } - - if( myIcon == null ) - { - myIcon = renderer.getIcon( this.facade ); - } - - instance.setTexture( myIcon ); - - if( this.notAEFacade() ) - { - instance.setBounds( 6, 6, 10, 10, 10, 15 ); - } - else - { - instance.setBounds( 7, 7, 10, 9, 9, 15 ); - } - - instance.renderBlock( pos, renderer ); - instance.setTexture( null ); - } - - if( randomItem != null ) - { - if( randomItem.getItem() instanceof ItemBlock ) - { - final ItemBlock ib = (ItemBlock) randomItem.getItem(); - final Block blk = Block.getBlockFromItem( ib ); - - if( AEApi.instance().partHelper().getCableRenderMode().transparentFacades ) - { - if( rbw != null ) - { - rbw.setOpacity( 0.3f ); - } - instance.renderForPass( 1 ); - } - else - { - if( blk.canRenderInLayer( BlockRenderLayer.TRANSLUCENT ) ) - { - instance.renderForPass( 1 ); - } - } - - try - { - final int color = Minecraft.getMinecraft().getItemColors().getColorFromItemstack( randomItem, 0 ); - } - catch( final Throwable ignored ) - { - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - instance.setBounds( 0, 0, 16 - this.thickness, 16, 16, 16 ); - instance.prepareBounds( renderer ); - - /* - * if( rbw != null ) - * { - * rbw.setFacade( true ); - * <<<<<<< HEAD - * rbw.calculations = true; - * rbw.faces = EnumSet.noneOf( AEPartLocation.class ); - * ======= - * rbw.setCalculations( true ); - * rbw.setFaces( EnumSet.noneOf( ForgeDirection.class ) ); - * >>>>>>> 500fc47... Reduces visibility of internal fields/methods - * if( this.prevLight != null && rbw.similarLighting( blk, rbw.blockAccess, x, y, z, - * this.prevLight ) ) - * { - * rbw.populate( this.prevLight ); - * } - * else - * { - * instance.setRenderColor( color ); - * rbw.renderStandardBlock( instance.getBlock(), x, y, z ); - * instance.setRenderColor( 0xffffff ); - * this.prevLight = rbw.getLightingCache(); - * } - * rbw.setCalculations( false ); - * rbw.setFaces( this.calculateFaceOpenFaces( rbw.blockAccess, fc, x, y, z, this.side ) ); - * ( (RenderBlocksWorkaround) renderer ).setTexture( blk.getIcon( AEPartLocation.DOWN.ordinal(), - * ib.getMetadata( randomItem.getItemDamage() ) ), blk.getIcon( AEPartLocation.UP.ordinal(), - * ib.getMetadata( randomItem.getItemDamage() ) ), blk.getIcon( AEPartLocation.NORTH.ordinal(), - * ib.getMetadata( randomItem.getItemDamage() ) ), blk.getIcon( AEPartLocation.SOUTH.ordinal(), - * ib.getMetadata( randomItem.getItemDamage() ) ), blk.getIcon( AEPartLocation.WEST.ordinal(), - * ib.getMetadata( randomItem.getItemDamage() ) ), blk.getIcon( AEPartLocation.EAST.ordinal(), - * ib.getMetadata( randomItem.getItemDamage() ) ) ); - * } - * else - * { - */ - final IAESprite[] icon_down = renderer.getIcon( blk.getDefaultState() ); - - instance.setTexture( icon_down[EnumFacing.DOWN.ordinal()], icon_down[EnumFacing.UP.ordinal()], icon_down[EnumFacing.NORTH.ordinal()], icon_down[EnumFacing.SOUTH.ordinal()], icon_down[EnumFacing.WEST.ordinal()], icon_down[EnumFacing.EAST.ordinal()] ); - // } - - if( busBounds == null ) - { - if( this.side == AEPartLocation.UP || this.side == AEPartLocation.DOWN ) - { - instance.renderBlockCurrentBounds( pos, renderer ); - } - else if( this.side == AEPartLocation.NORTH || this.side == AEPartLocation.SOUTH ) - { - if( fc.getFacade( AEPartLocation.UP ) != null ) - { - renderer.setRenderMaxY( renderer.getRenderMaxY() - this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.DOWN ) != null ) - { - renderer.setRenderMinY( renderer.getRenderMinY() + this.thickness / 16.0 ); - } - - instance.renderBlockCurrentBounds( pos, renderer ); - } - else - { - if( fc.getFacade( AEPartLocation.UP ) != null ) - { - renderer.setRenderMaxY( renderer.getRenderMaxY() - this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.DOWN ) != null ) - { - renderer.setRenderMinY( renderer.getRenderMinY() + this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.SOUTH ) != null ) - { - renderer.setRenderMaxZ( renderer.getRenderMaxZ() - this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.NORTH ) != null ) - { - renderer.setRenderMinZ( renderer.getRenderMinZ() + this.thickness / 16.0 ); - } - - instance.renderBlockCurrentBounds( pos, renderer ); - } - } - else - { - if( this.side == AEPartLocation.UP || this.side == AEPartLocation.DOWN ) - { - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, busBounds.maxZ, 1.0, 1.0, 1.0 ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, 0.0, 1.0, 1.0, busBounds.minZ ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, busBounds.minZ, busBounds.minX, 1.0, busBounds.maxZ ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, busBounds.maxX, 0.0, busBounds.minZ, 1.0, 1.0, busBounds.maxZ ); - } - else if( this.side == AEPartLocation.NORTH || this.side == AEPartLocation.SOUTH ) - { - if( fc.getFacade( AEPartLocation.UP ) != null ) - { - renderer.setRenderMaxY( renderer.getRenderMaxY() - this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.DOWN ) != null ) - { - renderer.setRenderMinY( renderer.getRenderMinY() + this.thickness / 16.0 ); - } - - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, busBounds.maxX, 0.0, 0.0, 1.0, 1.0, 1.0 ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, 0.0, busBounds.minX, 1.0, 1.0 ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, busBounds.minX, 0.0, 0.0, busBounds.maxX, busBounds.minY, 1.0 ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, busBounds.minX, busBounds.maxY, 0.0, busBounds.maxX, 1.0, 1.0 ); - } - else - { - if( fc.getFacade( AEPartLocation.UP ) != null ) - { - renderer.setRenderMaxY( renderer.getRenderMaxY() - this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.DOWN ) != null ) - { - renderer.setRenderMinY( renderer.getRenderMinY() + this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.SOUTH ) != null ) - { - renderer.setRenderMaxZ( renderer.getRenderMaxZ() - this.thickness / 16.0 ); - } - - if( fc.getFacade( AEPartLocation.NORTH ) != null ) - { - renderer.setRenderMinZ( renderer.getRenderMinZ() + this.thickness / 16.0 ); - } - - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, busBounds.maxZ, 1.0, 1.0, 1.0 ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, 0.0, 1.0, 1.0, busBounds.minZ ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, 0.0, busBounds.minZ, 1.0, busBounds.minY, busBounds.maxZ ); - this.renderSegmentBlockCurrentBounds( instance, pos, renderer, 0.0, busBounds.maxY, busBounds.minZ, 1.0, 1.0, busBounds.maxZ ); - } - } - - if( rbw != null ) - { - rbw.setOpacity( 1.0f ); - rbw.setFaces( EnumSet.allOf( EnumFacing.class ) ); - } - - instance.renderForPass( 0 ); - instance.setTexture( null ); - renderer.setColorOpaque_F( 1, 1, 1 ); - } - } - } - catch( final Throwable t ) - { - AELog.debug( t ); - } - } - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper instance, final ModelGenerator renderer ) - { - if( this.facade != null ) - { - final IFacadeItem fi = (IFacadeItem) this.facade.getItem(); - - try - { - final ItemStack randomItem = fi.getTextureItem( this.facade ); - - instance.setTexture( renderer.getIcon( this.facade ) ); - instance.setBounds( 7, 7, 4, 9, 9, 14 ); - instance.renderInventoryBox( renderer ); - instance.setTexture( null ); - - if( randomItem != null ) - { - if( randomItem.getItem() instanceof ItemBlock ) - { - final ItemBlock ib = (ItemBlock) randomItem.getItem(); - final Block blk = Block.getBlockFromItem( ib ); - - try - { - final int color = Minecraft.getMinecraft().getItemColors().getColorFromItemstack( randomItem, 0 ); - instance.setInvColor( color ); - } - catch( final Throwable error ) - { - instance.setInvColor( 0xffffff ); - } - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - renderer.setColorOpaque_F( 1, 1, 1 ); - instance.setTexture( renderer.getIcon( blk.getDefaultState() )[this.side.ordinal()] ); - - instance.setBounds( 0, 0, 14, 16, 16, 16 ); - instance.renderInventoryBox( renderer ); - - instance.setTexture( null ); - } - } - } - catch( final Throwable ignored ) - { - - } - } - } - @Override public AEPartLocation getSide() { @@ -556,37 +244,6 @@ public class FacadePart implements IFacadePart, IBoxProvider return out; } - @SideOnly( Side.CLIENT ) - private void renderSegmentBlockCurrentBounds( final IPartRenderHelper instance, final BlockPos pos, final ModelGenerator renderer, final double minX, final double minY, final double minZ, final double maxX, final double maxY, final double maxZ ) - { - final double oldMinX = renderer.getRenderMinX(); - final double oldMinY = renderer.getRenderMinY(); - final double oldMinZ = renderer.getRenderMinZ(); - final double oldMaxX = renderer.getRenderMaxX(); - final double oldMaxY = renderer.getRenderMaxY(); - final double oldMaxZ = renderer.getRenderMaxZ(); - - renderer.setRenderMinX( Math.max( renderer.getRenderMinX(), minX ) ); - renderer.setRenderMinY( Math.max( renderer.getRenderMinY(), minY ) ); - renderer.setRenderMinZ( Math.max( renderer.getRenderMinZ(), minZ ) ); - renderer.setRenderMaxX( Math.min( renderer.getRenderMaxX(), maxX ) ); - renderer.setRenderMaxY( Math.min( renderer.getRenderMaxY(), maxY ) ); - renderer.setRenderMaxZ( Math.min( renderer.getRenderMaxZ(), maxZ ) ); - - // don't draw it if its not at least a pixel wide... - if( renderer.getRenderMaxX() - renderer.getRenderMinX() >= 1.0 / 16.0 && renderer.getRenderMaxY() - renderer.getRenderMinY() >= 1.0 / 16.0 && renderer.getRenderMaxZ() - renderer.getRenderMinZ() >= 1.0 / 16.0 ) - { - instance.renderBlockCurrentBounds( pos, renderer ); - } - - renderer.setRenderMinX( oldMinX ); - renderer.setRenderMinY( oldMinY ); - renderer.setRenderMinZ( oldMinZ ); - renderer.setRenderMaxX( oldMaxX ); - renderer.setRenderMaxY( oldMaxY ); - renderer.setRenderMaxZ( oldMaxZ ); - } - private boolean hasAlphaDiff( final TileEntity tileEntity, final AEPartLocation side, final IFacadePart facade ) { if( tileEntity instanceof IPartHost ) diff --git a/src/main/java/appeng/integration/abstraction/IBuildCraftTransport.java b/src/main/java/appeng/integration/abstraction/IBuildCraftTransport.java index c87cff17f..094635745 100644 --- a/src/main/java/appeng/integration/abstraction/IBuildCraftTransport.java +++ b/src/main/java/appeng/integration/abstraction/IBuildCraftTransport.java @@ -29,7 +29,6 @@ import net.minecraft.util.EnumFacing; import appeng.api.parts.IFacadePart; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; /** @@ -84,13 +83,6 @@ public interface IBuildCraftTransport @Nullable ItemStack getTextureForFacade( @Nonnull ItemStack facade ); - /** - * @return texture of buildcraft cobblestone structure pipe or null if something bad happens - * // - */ - @Nullable - IAESprite getCobbleStructurePipeTexture(); - /** * @param te the to be checked {@link TileEntity} * @param dir direction of the {@link TileEntity} diff --git a/src/main/java/appeng/items/AEBaseItem.java b/src/main/java/appeng/items/AEBaseItem.java index ab745d1c3..fb46c5f62 100644 --- a/src/main/java/appeng/items/AEBaseItem.java +++ b/src/main/java/appeng/items/AEBaseItem.java @@ -32,7 +32,6 @@ import net.minecraft.item.ItemStack; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.util.IAESprite; import appeng.client.ClientHelper; import appeng.core.features.AEFeature; import appeng.core.features.FeatureNameExtractor; @@ -108,24 +107,7 @@ public abstract class AEBaseItem extends Item implements IAEFeature } @SideOnly( Side.CLIENT ) - protected IAESprite myIcon = null; - - @SideOnly( Side.CLIENT ) - public void registerIcons( final ClientHelper proxy, final String name ) - { - proxy.setIcon( this, 0, name ); - } - - public IAESprite getIcon( final ItemStack is ) - { - return this.myIcon; - } - - @SideOnly( Side.CLIENT ) - public void registerCustomIcon( final TextureMap map ) - { - - } + public void registerCustomIcon( final TextureMap map ){} protected void getCheckedSubItems( final Item sameItem, final CreativeTabs creativeTab, final List itemStacks ) { diff --git a/src/main/java/appeng/items/materials/MultiItem.java b/src/main/java/appeng/items/materials/MultiItem.java index 359bab76e..a4729ba7d 100644 --- a/src/main/java/appeng/items/materials/MultiItem.java +++ b/src/main/java/appeng/items/materials/MultiItem.java @@ -141,19 +141,6 @@ public final class MultiItem extends AEBaseItem implements IStorageComponent, IU } } - @Override - @SideOnly( Side.CLIENT ) - public void registerIcons( final ClientHelper proxy, final String name ) - { - for( final MaterialType type : MaterialType.values() ) - { - if( type != MaterialType.InvalidType ) - { - proxy.setIcon( this, type.getDamageValue(), name + "." + type.name() ); - } - } - } - public MaterialType getTypeByStack( final ItemStack is ) { if( this.dmgToMaterial.containsKey( is.getItemDamage() ) ) diff --git a/src/main/java/appeng/items/misc/ItemCrystalSeed.java b/src/main/java/appeng/items/misc/ItemCrystalSeed.java index 9181d67d0..21557d97a 100644 --- a/src/main/java/appeng/items/misc/ItemCrystalSeed.java +++ b/src/main/java/appeng/items/misc/ItemCrystalSeed.java @@ -66,10 +66,6 @@ public class ItemCrystalSeed extends AEBaseItem implements IGrowableCrystal public static final int FLUIX = SINGLE_OFFSET * 2; public static final int FINAL_STAGE = SINGLE_OFFSET * 3; - private final ModelResourceLocation[] certus = new ModelResourceLocation[3]; - private final ModelResourceLocation[] fluix = new ModelResourceLocation[3]; - private final ModelResourceLocation[] nether = new ModelResourceLocation[3]; - public ItemCrystalSeed() { this.setHasSubtypes( true ); @@ -78,70 +74,6 @@ public class ItemCrystalSeed extends AEBaseItem implements IGrowableCrystal EntityRegistry.registerModEntity( EntityGrowingCrystal.class, EntityGrowingCrystal.class.getSimpleName(), EntityIds.get( EntityGrowingCrystal.class ), AppEng.instance(), 16, 4, true ); } - @Override - @SideOnly( Side.CLIENT ) - public void registerIcons( final ClientHelper ir, final String name ) - { - final String preFix = name + "."; - - this.certus[0] = ir.setIcon( this, preFix + "Certus" ); - this.certus[1] = ir.setIcon( this, preFix + "Certus2" ); - this.certus[2] = ir.setIcon( this, preFix + "Certus3" ); - - this.nether[0] = ir.setIcon( this, preFix + "Nether" ); - this.nether[1] = ir.setIcon( this, preFix + "Nether2" ); - this.nether[2] = ir.setIcon( this, preFix + "Nether3" ); - - this.fluix[0] = ir.setIcon( this, preFix + "Fluix" ); - this.fluix[1] = ir.setIcon( this, preFix + "Fluix2" ); - this.fluix[2] = ir.setIcon( this, preFix + "Fluix3" ); - - Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register( this, new ItemMeshDefinition(){ - - @Override - public ModelResourceLocation getModelLocation( final ItemStack stack ) - { - ModelResourceLocation[] list = null; - - int damage = ItemCrystalSeed.this.getProgress( stack ); - - if( damage < CERTUS + SINGLE_OFFSET ) - { - list = ItemCrystalSeed.this.certus; - } - else if( damage < NETHER + SINGLE_OFFSET ) - { - damage -= NETHER; - list = ItemCrystalSeed.this.nether; - } - - else if( damage < FLUIX + SINGLE_OFFSET ) - { - damage -= FLUIX; - list = ItemCrystalSeed.this.fluix; - } - - if( list == null ) - { - return new ModelResourceLocation( "diamond" ); - } - - if( damage < LEVEL_OFFSET ) - { - return list[0]; - } - else if( damage < LEVEL_OFFSET * 2 ) - { - return list[1]; - } - else - { - return list[2]; - } - } - } ); - } - @Nullable public static ResolverResult getResolver( final int certus2 ) { diff --git a/src/main/java/appeng/items/misc/ItemEncodedPattern.java b/src/main/java/appeng/items/misc/ItemEncodedPattern.java index 77eaed1af..2b269aefc 100644 --- a/src/main/java/appeng/items/misc/ItemEncodedPattern.java +++ b/src/main/java/appeng/items/misc/ItemEncodedPattern.java @@ -58,51 +58,12 @@ public class ItemEncodedPattern extends AEBaseItem implements ICraftingPatternIt // rather simple client side caching. private static final Map SIMPLE_CACHE = new WeakHashMap(); - @SideOnly( Side.CLIENT ) - private ModelResourceLocation res; - - @SideOnly( Side.CLIENT ) - private ModelResourceLocation encodedPatternModel; // TODO: make encoded pattern model! - public ItemEncodedPattern() { this.setFeature( EnumSet.of( AEFeature.Patterns ) ); this.setMaxStackSize( 1 ); } - @Override - public void registerIcons( final ClientHelper proxy, final String name ) - { - this.encodedPatternModel = this.res = proxy.setIcon( this, name ); - - Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register( this, new ItemMeshDefinition(){ - - boolean recursive = false; - - @Override - public ModelResourceLocation getModelLocation( final ItemStack stack ) - { - if( this.recursive == false ) - { - this.recursive = true; - - final ItemEncodedPattern iep = (ItemEncodedPattern) stack.getItem(); - - final ItemStack is = iep.getOutput( stack ); - if( Minecraft.getMinecraft().thePlayer.isSneaking() ) - { - return ItemEncodedPattern.this.encodedPatternModel; - } - - this.recursive = false; - } - - return ItemEncodedPattern.this.res; - } - } ); - - } - @Override public ActionResult onItemRightClick( final ItemStack stack, final World w, final EntityPlayer player, final EnumHand hand ) { diff --git a/src/main/java/appeng/items/misc/ItemPaintBall.java b/src/main/java/appeng/items/misc/ItemPaintBall.java index 7bb40b5b3..314ecf2a0 100644 --- a/src/main/java/appeng/items/misc/ItemPaintBall.java +++ b/src/main/java/appeng/items/misc/ItemPaintBall.java @@ -55,28 +55,6 @@ public class ItemPaintBall extends AEBaseItem this.setHasSubtypes( true ); } - @Override - @SideOnly( Side.CLIENT ) - public void registerIcons( final ClientHelper ir, final String name ) - { - final ModelResourceLocation sloc = ir.setIcon( this, name + "Shimmer" ); - final ModelResourceLocation loc = ir.setIcon( this, name ); - - Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register( this, new ItemMeshDefinition(){ - - @Override - public ModelResourceLocation getModelLocation( final ItemStack stack ) - { - if( ItemPaintBall.this.isLumen( stack ) ) - { - return sloc; - } - - return loc; - } - } ); - } - @Override public String getItemStackDisplayName( final ItemStack is ) { diff --git a/src/main/java/appeng/items/parts/ItemFacade.java b/src/main/java/appeng/items/parts/ItemFacade.java index a522d2c7c..6591ec9d0 100644 --- a/src/main/java/appeng/items/parts/ItemFacade.java +++ b/src/main/java/appeng/items/parts/ItemFacade.java @@ -26,7 +26,6 @@ import java.util.List; import net.minecraft.block.Block; import net.minecraft.block.BlockGlass; import net.minecraft.block.BlockStainedGlass; -import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.init.Blocks; @@ -47,8 +46,6 @@ import appeng.api.AEApi; import appeng.api.exceptions.MissingDefinition; import appeng.api.parts.IAlphaPassItem; import appeng.api.util.AEPartLocation; -import appeng.client.texture.BaseIcon; -import appeng.core.AppEng; import appeng.core.FacadeConfig; import appeng.core.features.AEFeature; import appeng.decorative.solid.QuartzOreBlock; @@ -290,10 +287,4 @@ public class ItemFacade extends AEBaseItem implements IFacadeItem, IAlphaPassIte return false; } - - @Override - public void registerCustomIcon( final TextureMap map ) - { - this.myIcon = new BaseIcon( map.registerSprite( new ResourceLocation( AppEng.MOD_ID, "blocks/ItemFacade" ) ) ); - } } diff --git a/src/main/java/appeng/items/parts/ItemMultiPart.java b/src/main/java/appeng/items/parts/ItemMultiPart.java index 455c84ffd..a3fce691a 100644 --- a/src/main/java/appeng/items/parts/ItemMultiPart.java +++ b/src/main/java/appeng/items/parts/ItemMultiPart.java @@ -35,7 +35,6 @@ import javax.annotation.Nullable; import com.google.common.base.Preconditions; -import net.minecraft.client.renderer.texture.TextureMap; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.Item; @@ -43,11 +42,8 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumActionResult; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; -import net.minecraft.util.ResourceLocation; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.implementations.items.IItemGroup; @@ -55,11 +51,7 @@ import appeng.api.parts.IPart; import appeng.api.parts.IPartHelper; import appeng.api.parts.IPartItem; import appeng.api.util.AEColor; -import appeng.api.util.IAESprite; -import appeng.client.texture.BaseIcon; -import appeng.client.texture.MissingIcon; import appeng.core.AEConfig; -import appeng.core.AppEng; import appeng.core.features.AEFeature; import appeng.core.features.ActivityState; import appeng.core.features.ItemStackSrc; @@ -84,7 +76,6 @@ public final class ItemMultiPart extends AEBaseItem implements IPartItem, IItemG this.registered = new HashMap( INITIAL_REGISTERED_CAPACITY ); this.setFeature( EnumSet.of( AEFeature.Core ) ); - partHelper.setItemBusRenderer( this ); this.setHasSubtypes( true ); instance = this; @@ -195,29 +186,6 @@ public final class ItemMultiPart extends AEBaseItem implements IPartItem, IItemG return "item.appliedenergistics2." + this.getName( is ); } - @Override - @SideOnly( Side.CLIENT ) - public void registerCustomIcon( final TextureMap map ) - { - for( final Entry part : this.registered.entrySet() ) - { - part.getValue().texture = new BaseIcon( map.registerSprite( new ResourceLocation( AppEng.MOD_ID, "blocks/" + this.getName( new ItemStack( this, 1, part.getKey() ) ) ) ) ); - } - } - - @Override - public IAESprite getIcon( final ItemStack is ) - { - final int dmg = is.getMetadata(); - final PartTypeWithVariant registeredType = this.registered.get( dmg ); - if( registeredType != null ) - { - return registeredType.texture; - } - - return new MissingIcon( this ); - } - @Override public String getItemStackDisplayName( final ItemStack is ) { @@ -377,9 +345,6 @@ public final class ItemMultiPart extends AEBaseItem implements IPartItem, IItemG private final PartType part; private final int variant; - @SideOnly( Side.CLIENT ) - public IAESprite texture = null; - private PartTypeWithVariant( final PartType part, final int variant ) { assert part != null; diff --git a/src/main/java/appeng/parts/AEBasePart.java b/src/main/java/appeng/parts/AEBasePart.java index 93fe1efaf..1eadaf42f 100644 --- a/src/main/java/appeng/parts/AEBasePart.java +++ b/src/main/java/appeng/parts/AEBasePart.java @@ -58,14 +58,12 @@ import appeng.api.parts.BusSupport; import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.parts.PartItemStack; import appeng.api.util.AECableType; import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; import appeng.api.util.IConfigManager; -import appeng.api.util.ModelGenerator; import appeng.helpers.ICustomNameObject; import appeng.helpers.IPriorityHost; import appeng.me.helpers.AENetworkProxy; @@ -145,17 +143,6 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, return 0; } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setBounds( 1, 1, 1, 15, 15, 15 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 1, 1, 1, 15, 15, 15 ); - rh.renderInventoryBox( renderer ); - } - @Override public TileEntity getTile() { @@ -197,14 +184,6 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, return this.getItemStack().getDisplayName(); } - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setBounds( 1, 1, 1, 15, 15, 15 ); - rh.renderBlock( pos, renderer ); - } - @Override public boolean hasCustomName() { @@ -216,13 +195,6 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, crashreportcategory.addCrashSection( "Part Side", this.getSide() ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderDynamic( final double x, final double y, final double z, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - - } - @Override public ItemStack getItemStack( final PartItemStack type ) { @@ -543,13 +515,6 @@ public abstract class AEBasePart implements IPart, IGridProxyable, IActionHost, return false; } - @Override - @SideOnly( Side.CLIENT ) - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return null; - } - public AEPartLocation getSide() { return this.side; diff --git a/src/main/java/appeng/parts/CableBusContainer.java b/src/main/java/appeng/parts/CableBusContainer.java index a813748a6..1a9eda6e4 100644 --- a/src/main/java/appeng/parts/CableBusContainer.java +++ b/src/main/java/appeng/parts/CableBusContainer.java @@ -43,8 +43,6 @@ import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.config.YesNo; @@ -65,7 +63,6 @@ import appeng.api.util.AECableType; import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; import appeng.api.util.DimensionalCoord; -import appeng.client.render.CableRenderHelper; import appeng.core.AELog; import appeng.facade.FacadeContainer; import appeng.helpers.AEMultiTile; @@ -903,18 +900,6 @@ public class CableBusContainer extends CableBusStorage implements AEMultiTile, I return light; } - @SideOnly( Side.CLIENT ) - public void renderStatic() - { - CableRenderHelper.getInstance().renderStatic( this, this.getFacadeContainer() ); - } - - @SideOnly( Side.CLIENT ) - public void renderDynamic( final double x, final double y, final double z ) - { - CableRenderHelper.getInstance().renderDynamic( this, x, y, z ); - } - public void writeToStream( final ByteBuf data ) throws IOException { int sides = 0; diff --git a/src/main/java/appeng/parts/PartBasicState.java b/src/main/java/appeng/parts/PartBasicState.java index 0ab59be96..382b56705 100644 --- a/src/main/java/appeng/parts/PartBasicState.java +++ b/src/main/java/appeng/parts/PartBasicState.java @@ -23,21 +23,13 @@ import java.io.IOException; import io.netty.buffer.ByteBuf; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.implementations.IPowerChannelState; import appeng.api.networking.GridFlags; import appeng.api.networking.events.MENetworkChannelsChanged; import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; -import appeng.api.parts.IPartRenderHelper; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.me.GridAccessException; @@ -67,37 +59,6 @@ public abstract class PartBasicState extends AEBasePart implements IPowerChannel this.getHost().markForUpdate(); } - @SideOnly( Side.CLIENT ) - public void renderLights( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - this.setColors( renderer, ( this.clientFlags & ( POWERED_FLAG | CHANNEL_FLAG ) ) == ( POWERED_FLAG | CHANNEL_FLAG ), ( this.clientFlags & POWERED_FLAG ) == POWERED_FLAG ); - rh.renderFace( pos, CableBusTextures.PartMonitorSidesStatusLights.getIcon(), EnumFacing.EAST, renderer ); - rh.renderFace( pos, CableBusTextures.PartMonitorSidesStatusLights.getIcon(), EnumFacing.WEST, renderer ); - rh.renderFace( pos, CableBusTextures.PartMonitorSidesStatusLights.getIcon(), EnumFacing.UP, renderer ); - rh.renderFace( pos, CableBusTextures.PartMonitorSidesStatusLights.getIcon(), EnumFacing.DOWN, renderer ); - } - - public void setColors( final ModelGenerator renderer, final boolean hasChan, final boolean hasPower ) - { - if( hasChan ) - { - final int l = 14; - renderer.setBrightness( l << 20 | l << 4 ); - renderer.setColorOpaque_I( this.getColor().blackVariant ); - } - else if( hasPower ) - { - final int l = 9; - renderer.setBrightness( l << 20 | l << 4 ); - renderer.setColorOpaque_I( this.getColor().whiteVariant ); - } - else - { - renderer.setBrightness( 0 ); - renderer.setColorOpaque_I( 0x000000 ); - } - } - @Override public void writeToStream( final ByteBuf data ) throws IOException { @@ -143,13 +104,6 @@ public abstract class PartBasicState extends AEBasePart implements IPowerChannel return eh || old != this.getClientFlags(); } - @Override - @SideOnly( Side.CLIENT ) - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return CableBusTextures.PartTransitionPlaneBack.getIcon().getAtlas(); - } - @Override public boolean isPowered() { diff --git a/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java b/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java index 37732e854..4b0cc7d36 100644 --- a/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java +++ b/src/main/java/appeng/parts/automation/PartAnnihilationPlane.java @@ -35,8 +35,6 @@ import net.minecraft.util.math.AxisAlignedBB; import net.minecraft.util.math.BlockPos; import net.minecraft.world.World; import net.minecraft.world.WorldServer; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.config.Actionable; import appeng.api.config.PowerMultiplier; @@ -54,12 +52,8 @@ import appeng.api.networking.ticking.TickingRequest; import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.data.IAEItemStack; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.settings.TickRates; import appeng.core.sync.packets.PacketTransitionEffect; import appeng.hooks.TickHandler; @@ -73,10 +67,6 @@ import appeng.util.item.AEItemStack; public class PartAnnihilationPlane extends PartBasicState implements IGridTickable, IWorldCallable { - private static final IAESprite SIDE_ICON = CableBusTextures.PartPlaneSides.getIcon(); - private static final IAESprite BACK_ICON = CableBusTextures.PartTransitionPlaneBack.getIcon(); - private static final IAESprite STATUS_ICON = CableBusTextures.PartMonitorSidesStatus.getIcon(); - private static final IAESprite ACTIVE_ICON = CableBusTextures.BlockAnnihilationPlaneOn.getIcon(); private final BaseActionSource mySrc = new MachineSource( this ); private boolean isAccepting = true; @@ -137,72 +127,6 @@ public class PartAnnihilationPlane extends PartBasicState implements IGridTickab bch.addBox( minX, minY, 15, maxX, maxY, bch.isBBCollision() ? 15 : 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( SIDE_ICON, SIDE_ICON, BACK_ICON, renderer.getIcon( this.getItemStack() ), SIDE_ICON, SIDE_ICON ); - - rh.setBounds( 1, 1, 15, 15, 15, 16 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 14, 11, 11, 15 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - this.renderStaticWithIcon( pos, rh, renderer, ACTIVE_ICON ); - } - - protected void renderStaticWithIcon( final BlockPos opos, final IPartRenderHelper rh, final ModelGenerator renderer, final IAESprite activeIcon ) - { - int minX = 1; - - final EnumFacing e = rh.getWorldX(); - final EnumFacing u = rh.getWorldY(); - - final TileEntity te = this.getHost().getTile(); - final BlockPos pos = te.getPos(); - - if( this.isAnnihilationPlane( te.getWorld().getTileEntity( pos.offset( e.getOpposite() ) ), this.getSide() ) ) - { - minX = 0; - } - - int maxX = 15; - if( this.isAnnihilationPlane( te.getWorld().getTileEntity( pos.offset( e ) ), this.getSide() ) ) - { - maxX = 16; - } - - int minY = 1; - if( this.isAnnihilationPlane( te.getWorld().getTileEntity( pos.offset( u.getOpposite() ) ), this.getSide() ) ) - { - minY = 0; - } - - int maxY = 15; - if( this.isAnnihilationPlane( te.getWorld().getTileEntity( pos.offset( e ) ), this.getSide() ) ) - { - maxY = 16; - } - - final boolean isActive = ( this.getClientFlags() & ( PartBasicState.POWERED_FLAG | PartBasicState.CHANNEL_FLAG ) ) == ( PartBasicState.POWERED_FLAG | PartBasicState.CHANNEL_FLAG ); - - rh.setTexture( SIDE_ICON, SIDE_ICON, BACK_ICON, isActive ? activeIcon : renderer.getIcon( this.getItemStack() ), SIDE_ICON, SIDE_ICON ); - rh.setBounds( minX, minY, 15, maxX, maxY, 16 ); - rh.renderBlock( opos, renderer ); - - rh.setTexture( STATUS_ICON, STATUS_ICON, BACK_ICON, isActive ? activeIcon : renderer.getIcon( this.getItemStack() ), STATUS_ICON, STATUS_ICON ); - rh.setBounds( 5, 5, 14, 11, 11, 15 ); - rh.renderBlock( opos, renderer ); - - this.renderLights( opos, rh, renderer ); - } - @Override public void onNeighborChanged() { diff --git a/src/main/java/appeng/parts/automation/PartExportBus.java b/src/main/java/appeng/parts/automation/PartExportBus.java index 035770e6b..4db177b1e 100644 --- a/src/main/java/appeng/parts/automation/PartExportBus.java +++ b/src/main/java/appeng/parts/automation/PartExportBus.java @@ -26,10 +26,7 @@ import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.config.Actionable; import appeng.api.config.FuzzyMode; @@ -49,12 +46,9 @@ import appeng.api.networking.security.MachineSource; import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.IMEInventory; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEItemStack; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.AELog; import appeng.core.settings.TickRates; import appeng.core.sync.GuiBridge; @@ -189,45 +183,6 @@ public class PartExportBus extends PartSharedItemBus implements ICraftingRequest bch.addBox( 6, 6, 11, 10, 10, 12 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartExportSides.getIcon(), CableBusTextures.PartExportSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartExportSides.getIcon(), CableBusTextures.PartExportSides.getIcon() ); - - rh.setBounds( 4, 4, 12, 12, 12, 14 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 14, 11, 11, 15 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 6, 6, 15, 10, 10, 16 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartExportSides.getIcon(), CableBusTextures.PartExportSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartExportSides.getIcon(), CableBusTextures.PartExportSides.getIcon() ); - - rh.setBounds( 4, 4, 12, 12, 12, 14 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 5, 5, 14, 11, 11, 15 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 6, 6, 15, 10, 10, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon() ); - - rh.setBounds( 6, 6, 11, 10, 10, 12 ); - rh.renderBlock( pos, renderer ); - - this.renderLights( pos, rh, renderer ); - } - @Override public int cableConnectionRenderTo() { diff --git a/src/main/java/appeng/parts/automation/PartFormationPlane.java b/src/main/java/appeng/parts/automation/PartFormationPlane.java index ebc576e85..06744d7f7 100644 --- a/src/main/java/appeng/parts/automation/PartFormationPlane.java +++ b/src/main/java/appeng/parts/automation/PartFormationPlane.java @@ -43,8 +43,6 @@ import net.minecraft.world.World; import net.minecraft.world.WorldServer; import net.minecraft.world.chunk.Chunk; import net.minecraftforge.common.IPlantable; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.config.AccessRestriction; @@ -63,7 +61,6 @@ import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; import appeng.api.parts.IPartItem; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.ICellContainer; import appeng.api.storage.IMEInventory; import appeng.api.storage.IMEInventoryHandler; @@ -72,14 +69,11 @@ import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemList; import appeng.api.util.AEPartLocation; import appeng.api.util.IConfigManager; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.AEConfig; import appeng.core.sync.GuiBridge; import appeng.helpers.IPriorityHost; import appeng.me.GridAccessException; import appeng.me.storage.MEInventoryHandler; -import appeng.parts.PartBasicState; import appeng.tile.inventory.AppEngInternalAEInventory; import appeng.tile.inventory.InvOperation; import appeng.util.Platform; @@ -267,69 +261,6 @@ public class PartFormationPlane extends PartUpgradeable implements ICellContaine bch.addBox( minX, minY, 15, maxX, maxY, 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartPlaneSides.getIcon(), CableBusTextures.PartPlaneSides.getIcon(), CableBusTextures.PartTransitionPlaneBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartPlaneSides.getIcon(), CableBusTextures.PartPlaneSides.getIcon() ); - - rh.setBounds( 1, 1, 15, 15, 15, 16 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 14, 11, 11, 15 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos opos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - int minX = 1; - - final EnumFacing e = rh.getWorldX(); - final EnumFacing u = rh.getWorldY(); - - final TileEntity te = this.getHost().getTile(); - final BlockPos pos = te.getPos(); - - if( this.isTransitionPlane( te.getWorld().getTileEntity( pos.offset( e.getOpposite() ) ), this.getSide() ) ) - { - minX = 0; - } - - int maxX = 15; - if( this.isTransitionPlane( te.getWorld().getTileEntity( pos.offset( e ) ), this.getSide() ) ) - { - maxX = 16; - } - - int minY = 1; - if( this.isTransitionPlane( te.getWorld().getTileEntity( pos.offset( u.getOpposite() ) ), this.getSide() ) ) - { - minY = 0; - } - - int maxY = 15; - if( this.isTransitionPlane( te.getWorld().getTileEntity( pos.offset( u ) ), this.getSide() ) ) - { - maxY = 16; - } - - final boolean isActive = ( this.getClientFlags() & ( PartBasicState.POWERED_FLAG | PartBasicState.CHANNEL_FLAG ) ) == ( PartBasicState.POWERED_FLAG | PartBasicState.CHANNEL_FLAG ); - - rh.setTexture( CableBusTextures.PartPlaneSides.getIcon(), CableBusTextures.PartPlaneSides.getIcon(), CableBusTextures.PartTransitionPlaneBack.getIcon(), isActive ? CableBusTextures.BlockFormPlaneOn.getIcon() : renderer.getIcon( this.getItemStack() ), CableBusTextures.PartPlaneSides.getIcon(), CableBusTextures.PartPlaneSides.getIcon() ); - - rh.setBounds( minX, minY, 15, maxX, maxY, 16 ); - rh.renderBlock( opos, renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartTransitionPlaneBack.getIcon(), isActive ? CableBusTextures.BlockFormPlaneOn.getIcon() : renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon() ); - - rh.setBounds( 5, 5, 14, 11, 11, 15 ); - rh.renderBlock( opos, renderer ); - - this.renderLights( opos, rh, renderer ); - } - @Override public void onNeighborChanged() { diff --git a/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java b/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java index 24c6163c9..b0acdfa09 100644 --- a/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java +++ b/src/main/java/appeng/parts/automation/PartIdentityAnnihilationPlane.java @@ -30,21 +30,14 @@ import net.minecraft.util.math.BlockPos; import net.minecraft.world.WorldServer; import net.minecraftforge.common.util.FakePlayer; import net.minecraftforge.common.util.FakePlayerFactory; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.parts.IPart; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; public class PartIdentityAnnihilationPlane extends PartAnnihilationPlane { - private static final IAESprite ACTIVE_ICON = CableBusTextures.BlockIdentityAnnihilationPlaneOn.getIcon(); private static final float SILK_TOUCH_FACTOR = 16; @@ -53,13 +46,6 @@ public class PartIdentityAnnihilationPlane extends PartAnnihilationPlane super( is ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - this.renderStaticWithIcon( pos, rh, renderer, ACTIVE_ICON ); - } - @Override protected boolean isAnnihilationPlane( final TileEntity blockTileEntity, final AEPartLocation side ) { diff --git a/src/main/java/appeng/parts/automation/PartImportBus.java b/src/main/java/appeng/parts/automation/PartImportBus.java index 8a6a5973d..bdbdb84ac 100644 --- a/src/main/java/appeng/parts/automation/PartImportBus.java +++ b/src/main/java/appeng/parts/automation/PartImportBus.java @@ -22,10 +22,7 @@ package appeng.parts.automation; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.config.Actionable; @@ -42,12 +39,9 @@ import appeng.api.networking.security.MachineSource; import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.IMEInventory; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEItemStack; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.settings.TickRates; import appeng.core.sync.GuiBridge; import appeng.helpers.Reflected; @@ -100,44 +94,6 @@ public class PartImportBus extends PartSharedItemBus implements IInventoryDestin bch.addBox( 4, 4, 14, 12, 12, 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartImportSides.getIcon(), CableBusTextures.PartImportSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartImportSides.getIcon(), CableBusTextures.PartImportSides.getIcon() ); - - rh.setBounds( 3, 3, 15, 13, 13, 16 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 4, 4, 14, 12, 12, 15 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 13, 11, 11, 14 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartImportSides.getIcon(), CableBusTextures.PartImportSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartImportSides.getIcon(), CableBusTextures.PartImportSides.getIcon() ); - - rh.setBounds( 4, 4, 14, 12, 12, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 5, 5, 13, 11, 11, 14 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 6, 6, 12, 10, 10, 13 ); - rh.renderBlock( pos, renderer ); - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon() ); - - rh.setBounds( 6, 6, 11, 10, 10, 12 ); - rh.renderBlock( pos, renderer ); - - this.renderLights( pos, rh, renderer ); - } - @Override public int cableConnectionRenderTo() { diff --git a/src/main/java/appeng/parts/automation/PartLevelEmitter.java b/src/main/java/appeng/parts/automation/PartLevelEmitter.java index 5611e8419..4c36dbd0d 100644 --- a/src/main/java/appeng/parts/automation/PartLevelEmitter.java +++ b/src/main/java/appeng/parts/automation/PartLevelEmitter.java @@ -22,22 +22,17 @@ package appeng.parts.automation; import java.util.Collection; import java.util.Random; -import net.minecraft.client.renderer.BlockModelRenderer; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.InventoryCrafting; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; import net.minecraft.util.EnumParticleTypes; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.config.FuzzyMode; import appeng.api.config.LevelType; @@ -63,7 +58,6 @@ import appeng.api.networking.storage.IBaseMonitor; import appeng.api.networking.storage.IStackWatcher; import appeng.api.networking.storage.IStackWatcherHost; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.IMEMonitor; import appeng.api.storage.IMEMonitorHandlerReceiver; import appeng.api.storage.StorageChannel; @@ -72,10 +66,7 @@ import appeng.api.storage.data.IAEStack; import appeng.api.storage.data.IItemList; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; import appeng.api.util.IConfigManager; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.sync.GuiBridge; import appeng.helpers.Reflected; import appeng.me.GridAccessException; @@ -193,12 +184,6 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH return cf | ( this.prevState ? FLAG_ON : 0 ); } - @Override - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return renderer.getIcon( this.getItemStack() ).getAtlas(); - } - @Override public void updateWatcher( final ICraftingWatcher newWatcher ) { @@ -412,204 +397,6 @@ public class PartLevelEmitter extends PartUpgradeable implements IEnergyWatcherH bch.addBox( 7, 7, 11, 9, 9, 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( renderer.getIcon( this.getItemStack() ) ); - this.renderTorchAtAngle( 0, -0.5, 0, renderer ); - } - - public void renderTorchAtAngle( double baseX, double baseY, double baseZ, final ModelGenerator renderer ) - { - final boolean isOn = this.isLevelEmitterOn(); - final IAESprite offTexture = renderer.getIcon( this.getItemStack() ); - final IAESprite IIcon = ( isOn ? CableBusTextures.LevelEmitterTorchOn.getIcon() : offTexture ); - // - this.centerX = baseX + 0.5; - this.centerY = baseY + 0.5; - this.centerZ = baseZ + 0.5; - - baseY += 7.0 / 16.0; - - // double par11 = 0; - - /* - * double d5 = (double)TextureAtlasSprite.func_94209_e(); double d6 = (double)TextureAtlasSprite.func_94206_g(); - * double d7 = - * (double)TextureAtlasSprite.func_94212_f(); double d8 = (double)TextureAtlasSprite.func_94210_h(); double d9 = - * (double)TextureAtlasSprite.func_94214_a(7.0D); double d10 = (double)TextureAtlasSprite.func_94207_b(6.0D); - * double d11 = - * (double)TextureAtlasSprite.func_94214_a(9.0D); double d12 = (double)TextureAtlasSprite.func_94207_b(8.0D); - * double d13 = - * (double)TextureAtlasSprite.func_94214_a(7.0D); double d14 = (double)TextureAtlasSprite.func_94207_b(13.0D); - * double d15 = - * (double)TextureAtlasSprite.func_94214_a(9.0D); double d16 = (double)TextureAtlasSprite.func_94207_b(15.0D); - */ - - final float var16 = IIcon.getMinU(); - final float var17 = IIcon.getMaxU(); - final float var18 = IIcon.getMinV(); - final float var19 = IIcon.getMaxV(); - /* - * float var16 = (float)var14 / 256.0F; float var17 = ((float)var14 + 15.99F) / 256.0F; float var18 = - * (float)var15 / 256.0F; float var19 = ((float)var15 + 15.99F) / 256.0F; - */ - final double var20b = offTexture.getInterpolatedU( 7.0D ); - final double var24b = offTexture.getInterpolatedU( 9.0D ); - - final double var20 = IIcon.getInterpolatedU( 7.0D ); - final double var24 = IIcon.getInterpolatedU( 9.0D ); - final double var22 = IIcon.getInterpolatedV( 6.0D + ( isOn ? 0 : 1.0D ) ); - final double var26 = IIcon.getInterpolatedV( 8.0D + ( isOn ? 0 : 1.0D ) ); - final double var28 = IIcon.getInterpolatedU( 7.0D ); - final double var30 = IIcon.getInterpolatedV( 13.0D ); - final double var32 = IIcon.getInterpolatedU( 9.0D ); - final double var34 = IIcon.getInterpolatedV( 15.0D ); - - final double var22b = IIcon.getInterpolatedV( 9.0D ); - final double var26b = IIcon.getInterpolatedV( 11.0D ); - - baseX += 0.5D; - baseZ += 0.5D; - final double var36 = baseX - 0.5D; - final double var38 = baseX + 0.5D; - final double var40 = baseZ - 0.5D; - final double var42 = baseZ + 0.5D; - - double toff = 0.0d; - - if( !isOn ) - { - toff = 1.0d / 16.0d; - } - - if( isOn ) - { - renderer.setColorOpaque_F( 1.0F, 1.0F, 1.0F ); - renderer.setBrightness( 11 << 20 | 11 << 4 ); - } - - final EnumFacing t = EnumFacing.UP; - - final double TorchLen = 0.625D; - final double var44 = 0.0625D; - final double Zero = 0; - final double par10 = 0; - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) - var44, baseY + TorchLen - toff, baseZ + par10 * ( 1.0D - TorchLen ) - var44, var20, var22 ); - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) - var44, baseY + TorchLen - toff, baseZ + par10 * ( 1.0D - TorchLen ) + var44, var20, var26 ); - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) + var44, baseY + TorchLen - toff, baseZ + par10 * ( 1.0D - TorchLen ) + var44, var24, var26 ); - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) + var44, baseY + TorchLen - toff, baseZ + par10 * ( 1.0D - TorchLen ) - var44, var24, var22 ); - - final double var422 = 0.1915D + 1.0 / 16.0; - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) + var44, baseY + var422, baseZ + par10 * ( 1.0D - TorchLen ) - var44, var24b, var22b ); - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) + var44, baseY + var422, baseZ + par10 * ( 1.0D - TorchLen ) + var44, var24b, var26b ); - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) - var44, baseY + var422, baseZ + par10 * ( 1.0D - TorchLen ) + var44, var20b, var26b ); - this.addVertexWithUV( t, renderer, baseX + Zero * ( 1.0D - TorchLen ) - var44, baseY + var422, baseZ + par10 * ( 1.0D - TorchLen ) - var44, var20b, var22b ); - - this.addVertexWithUV( t, renderer, baseX + var44 + Zero, baseY, baseZ - var44 + par10, var32, var30 ); - this.addVertexWithUV( t, renderer, baseX + var44 + Zero, baseY, baseZ + var44 + par10, var32, var34 ); - this.addVertexWithUV( t, renderer, baseX - var44 + Zero, baseY, baseZ + var44 + par10, var28, var34 ); - this.addVertexWithUV( t, renderer, baseX - var44 + Zero, baseY, baseZ - var44 + par10, var28, var30 ); - - this.addVertexWithUV( t, renderer, baseX - var44, baseY + 1.0D, var40, var16, var18 ); - this.addVertexWithUV( t, renderer, baseX - var44 + Zero, baseY + 0.0D, var40 + par10, var16, var19 ); - this.addVertexWithUV( t, renderer, baseX - var44 + Zero, baseY + 0.0D, var42 + par10, var17, var19 ); - this.addVertexWithUV( t, renderer, baseX - var44, baseY + 1.0D, var42, var17, var18 ); - - this.addVertexWithUV( t, renderer, baseX + var44, baseY + 1.0D, var42, var16, var18 ); - this.addVertexWithUV( t, renderer, baseX + Zero + var44, baseY + 0.0D, var42 + par10, var16, var19 ); - this.addVertexWithUV( t, renderer, baseX + Zero + var44, baseY + 0.0D, var40 + par10, var17, var19 ); - this.addVertexWithUV( t, renderer, baseX + var44, baseY + 1.0D, var40, var17, var18 ); - - this.addVertexWithUV( t, renderer, var36, baseY + 1.0D, baseZ + var44, var16, var18 ); - this.addVertexWithUV( t, renderer, var36 + Zero, baseY + 0.0D, baseZ + var44 + par10, var16, var19 ); - this.addVertexWithUV( t, renderer, var38 + Zero, baseY + 0.0D, baseZ + var44 + par10, var17, var19 ); - this.addVertexWithUV( t, renderer, var38, baseY + 1.0D, baseZ + var44, var17, var18 ); - - this.addVertexWithUV( t, renderer, var38, baseY + 1.0D, baseZ - var44, var16, var18 ); - this.addVertexWithUV( t, renderer, var38 + Zero, baseY + 0.0D, baseZ - var44 + par10, var16, var19 ); - this.addVertexWithUV( t, renderer, var36 + Zero, baseY + 0.0D, baseZ - var44 + par10, var17, var19 ); - this.addVertexWithUV( t, renderer, var36, baseY + 1.0D, baseZ - var44, var17, var18 ); - } - - private void addVertexWithUV( final EnumFacing face, final ModelGenerator renderer, double x, double y, double z, final double u, final double v ) - { - x -= this.centerX; - y -= this.centerY; - z -= this.centerZ; - - if( this.getSide() == AEPartLocation.DOWN ) - { - y = -y; - z = -z; - } - - if( this.getSide() == AEPartLocation.EAST ) - { - final double m = x; - x = y; - y = m; - y = -y; - } - - if( this.getSide() == AEPartLocation.WEST ) - { - final double m = x; - x = -y; - y = m; - } - - if( this.getSide() == AEPartLocation.SOUTH ) - { - final double m = z; - z = y; - y = m; - y = -y; - } - - if( this.getSide() == AEPartLocation.NORTH ) - { - final double m = z; - z = -y; - y = m; - } - - x += this.centerX;// + orientation.offsetX * 0.4; - y += this.centerY;// + orientation.offsetY * 0.4; - z += this.centerZ;// + orientation.offsetZ * 0.4; - - renderer.addVertexWithUV( face, x, y, z, u, v ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( renderer.getIcon( this.getItemStack() ) ); - // rh.setTexture( CableBusTextures.ItemPartLevelEmitterOn.getIcon() ); - - // rh.setBounds( 2, 2, 14, 14, 14, 16 ); - // rh.renderBlock( x, y, z, renderer ); - - // rh.setBounds( 7, 7, 10, 9, 9, 15 ); - // rh.renderBlock( x, y, z, renderer ); - - renderer.setRenderAllFaces( true ); - - renderer.setBrightness( rh.getBlock().getPackedLightmapCoords( this.getHost().getTile().getWorld().getBlockState( pos ), this.getHost().getTile().getWorld(), pos ) ); - renderer.setColorOpaque_F( 1.0F, 1.0F, 1.0F ); - - this.renderTorchAtAngle( pos.getX(), pos.getY(), pos.getZ(), renderer ); - - renderer.setRenderAllFaces( false ); - - rh.setBounds( 7, 7, 11, 9, 9, 12 ); - this.renderLights( pos, rh, renderer ); - - // super.renderWorldBlock( world, x, y, z, block, modelId, renderer ); - } - @Override public int isProvidingStrongPower() { diff --git a/src/main/java/appeng/parts/misc/PartCableAnchor.java b/src/main/java/appeng/parts/misc/PartCableAnchor.java index 420203859..ebc85433b 100644 --- a/src/main/java/appeng/parts/misc/PartCableAnchor.java +++ b/src/main/java/appeng/parts/misc/PartCableAnchor.java @@ -25,7 +25,6 @@ import java.util.Random; import io.netty.buffer.ByteBuf; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.Entity; import net.minecraft.entity.EntityLivingBase; import net.minecraft.entity.player.EntityPlayer; @@ -36,19 +35,14 @@ import net.minecraft.util.EnumHand; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.world.World; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.networking.IGridNode; import appeng.api.parts.BusSupport; import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.parts.PartItemStack; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; public class PartCableAnchor implements IPart @@ -82,47 +76,6 @@ public class PartCableAnchor implements IPart return this.is; } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper instance, final ModelGenerator renderer ) - { - instance.setTexture( renderer.getIcon( this.is ) ); - instance.setBounds( 7, 7, 4, 9, 9, 14 ); - instance.renderInventoryBox( renderer ); - instance.setTexture( null ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - final IAESprite myIcon = renderer.getIcon( this.is ); - rh.setTexture( myIcon ); - if( this.host != null && this.host.getFacadeContainer().getFacade( this.mySide ) != null ) - { - rh.setBounds( 7, 7, 10, 9, 9, 14 ); - } - else - { - rh.setBounds( 7, 7, 10, 9, 9, 16 ); - } - rh.renderBlock( pos, renderer ); - rh.setTexture( null ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderDynamic( final double x, final double y, final double z, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - - } - - @Override - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return null; - } - @Override public boolean requireDynamicRender() { diff --git a/src/main/java/appeng/parts/misc/PartInterface.java b/src/main/java/appeng/parts/misc/PartInterface.java index 442df3214..88ed77100 100644 --- a/src/main/java/appeng/parts/misc/PartInterface.java +++ b/src/main/java/appeng/parts/misc/PartInterface.java @@ -24,7 +24,6 @@ import java.util.List; import com.google.common.collect.ImmutableSet; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; import net.minecraft.inventory.ISidedInventory; @@ -34,11 +33,8 @@ import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraft.util.text.ITextComponent; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.config.Actionable; import appeng.api.config.Upgrades; @@ -55,14 +51,11 @@ import appeng.api.networking.ticking.IGridTickable; import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.IMEMonitor; import appeng.api.storage.IStorageMonitorable; import appeng.api.storage.data.IAEFluidStack; import appeng.api.storage.data.IAEItemStack; import appeng.api.util.IConfigManager; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.sync.GuiBridge; import appeng.helpers.DualityInterface; import appeng.helpers.IInterfaceHost; @@ -111,50 +104,12 @@ public class PartInterface extends PartBasicState implements IGridTickable, ISto return this.duality.getInstalledUpgrades( u ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 12, 11, 11, 13 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 13, 11, 11, 14 ); - rh.renderInventoryBox( renderer ); - } - @Override public void gridChanged() { this.duality.gridChanged(); } - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSides.getIcon(), CableBusTextures.PartMonitorSides.getIcon() ); - - rh.setBounds( 5, 5, 12, 11, 11, 13 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon() ); - - rh.setBounds( 5, 5, 13, 11, 11, 14 ); - rh.renderBlock( pos, renderer ); - - this.renderLights( pos, rh, renderer ); - } - @Override public void readFromNBT( final NBTTagCompound data ) { @@ -216,12 +171,6 @@ public class PartInterface extends PartBasicState implements IGridTickable, ISto return true; } - @Override - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return renderer.getIcon( this.getItemStack() ).getAtlas(); - } - @Override public boolean canInsert( final ItemStack stack ) { diff --git a/src/main/java/appeng/parts/misc/PartStorageBus.java b/src/main/java/appeng/parts/misc/PartStorageBus.java index 07ae6cd7d..00ed2c7ca 100644 --- a/src/main/java/appeng/parts/misc/PartStorageBus.java +++ b/src/main/java/appeng/parts/misc/PartStorageBus.java @@ -29,10 +29,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.config.AccessRestriction; @@ -55,7 +52,6 @@ import appeng.api.networking.ticking.TickRateModulation; import appeng.api.networking.ticking.TickingRequest; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.ICellContainer; import appeng.api.storage.IExternalStorageHandler; import appeng.api.storage.IMEInventory; @@ -67,8 +63,6 @@ import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IItemList; import appeng.api.util.AEPartLocation; import appeng.api.util.IConfigManager; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.settings.TickRates; import appeng.core.stats.Achievements; import appeng.core.sync.GuiBridge; @@ -264,47 +258,6 @@ public class PartStorageBus extends PartUpgradeable implements IGridTickable, IC bch.addBox( 5, 5, 12, 11, 11, 14 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageSides.getIcon() ); - - rh.setBounds( 3, 3, 15, 13, 13, 16 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 2, 2, 14, 14, 14, 15 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 5, 5, 12, 11, 11, 14 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageSides.getIcon() ); - - rh.setBounds( 3, 3, 15, 13, 13, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 2, 2, 14, 14, 14, 15 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartStorageSides.getIcon(), CableBusTextures.PartStorageSides.getIcon() ); - - rh.setBounds( 5, 5, 12, 11, 11, 13 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon() ); - - rh.setBounds( 5, 5, 13, 11, 11, 14 ); - rh.renderBlock( pos, renderer ); - - this.renderLights( pos, rh, renderer ); - } - @Override public void onNeighborChanged() { diff --git a/src/main/java/appeng/parts/misc/PartToggleBus.java b/src/main/java/appeng/parts/misc/PartToggleBus.java index c4e524c2c..7463d9abd 100644 --- a/src/main/java/appeng/parts/misc/PartToggleBus.java +++ b/src/main/java/appeng/parts/misc/PartToggleBus.java @@ -25,7 +25,6 @@ import java.util.List; import org.lwjgl.opengl.GL11; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; @@ -41,11 +40,8 @@ import appeng.api.networking.IGridConnection; import appeng.api.networking.IGridNode; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.helpers.Reflected; import appeng.me.helpers.AENetworkProxy; import appeng.parts.PartBasicState; @@ -70,13 +66,6 @@ public class PartToggleBus extends PartBasicState this.getOuterProxy().setFlags(); } - @Override - public void setColors( final ModelGenerator renderer, final boolean hasChan, final boolean hasPower ) - { - this.hasRedstone = ( this.getClientFlags() & REDSTONE_FLAG ) == REDSTONE_FLAG; - super.setColors( renderer, hasChan && this.hasRedstone, hasPower && this.hasRedstone ); - } - @Override protected int populateFlags( final int cf ) { @@ -88,12 +77,6 @@ public class PartToggleBus extends PartBasicState return this.getHost().hasRedstone( this.getSide() ); } - @Override - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return renderer.getIcon( this.getItemStack() ).getAtlas(); - } - @Override public AECableType getCableConnectionType( final AEPartLocation dir ) { @@ -119,51 +102,6 @@ public class PartToggleBus extends PartBasicState bch.addBox( 6, 6, 11, 10, 10, 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - GL11.glTranslated( -0.2, -0.3, 0.0 ); - - rh.setTexture( renderer.getIcon( this.getItemStack() ) ); - rh.setBounds( 6, 6, 14 - 4, 10, 10, 16 - 4 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 6, 6, 11 - 4, 10, 10, 13 - 4 ); - rh.renderInventoryBox( renderer ); - - rh.setBounds( 6, 6, 13 - 4, 10, 10, 14 - 4 ); - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon() ); - rh.renderInventoryBox( renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSidesStatusLights.getIcon() ); - rh.setInvColor( 0x000000 ); - rh.renderInventoryBox( renderer ); - rh.setInvColor( 0xffffff ); - - rh.setTexture( null ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( renderer.getIcon( this.getItemStack() ) ); - - rh.setBounds( 6, 6, 14, 10, 10, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 6, 6, 11, 10, 10, 13 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorBack.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartMonitorSidesStatus.getIcon(), CableBusTextures.PartMonitorSidesStatus.getIcon() ); - - rh.setBounds( 6, 6, 13, 10, 10, 14 ); - rh.renderBlock( pos, renderer ); - - this.renderLights( pos, rh, renderer ); - } - @Override public void onNeighborChanged() { diff --git a/src/main/java/appeng/parts/networking/PartCable.java b/src/main/java/appeng/parts/networking/PartCable.java index 110be776f..5e8e8e8c3 100644 --- a/src/main/java/appeng/parts/networking/PartCable.java +++ b/src/main/java/appeng/parts/networking/PartCable.java @@ -22,19 +22,12 @@ package appeng.parts.networking; import java.io.IOException; import java.util.EnumSet; -import org.lwjgl.opengl.GL11; - import io.netty.buffer.ByteBuf; -import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.AEApi; import appeng.api.config.SecurityPermissions; @@ -48,18 +41,10 @@ import appeng.api.parts.BusSupport; import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AECableType; import appeng.api.util.AEColor; -import appeng.api.util.AEColoredItemDefinition; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; import appeng.api.util.IReadOnlyCollection; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.texture.CableBusTextures; -import appeng.client.texture.FlippableIcon; -import appeng.client.texture.TaughtIcon; import appeng.items.parts.ItemMultiPart; import appeng.me.GridAccessException; import appeng.parts.AEBasePart; @@ -255,200 +240,6 @@ public class PartCable extends AEBasePart implements IPartCable } } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - GL11.glTranslated( -0.0, -0.0, 0.3 ); - - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - rh.setBounds( 6.0f, 6.0f, 2.0f, 10.0f, 10.0f, 14.0f ); - rh.renderInventoryBox( renderer ); - rh.setTexture( null ); - } - - public IAESprite getTexture( final AEColor c, final ModelGenerator renderer ) - { - return this.getGlassTexture( c, renderer ); - } - - public IAESprite getGlassTexture( final AEColor c, final ModelGenerator renderer ) - { - switch( c ) - { - case Black: - return CableBusTextures.MECable_Black.getIcon(); - case Blue: - return CableBusTextures.MECable_Blue.getIcon(); - case Brown: - return CableBusTextures.MECable_Brown.getIcon(); - case Cyan: - return CableBusTextures.MECable_Cyan.getIcon(); - case Gray: - return CableBusTextures.MECable_Grey.getIcon(); - case Green: - return CableBusTextures.MECable_Green.getIcon(); - case LightBlue: - return CableBusTextures.MECable_LightBlue.getIcon(); - case LightGray: - return CableBusTextures.MECable_LightGrey.getIcon(); - case Lime: - return CableBusTextures.MECable_Lime.getIcon(); - case Magenta: - return CableBusTextures.MECable_Magenta.getIcon(); - case Orange: - return CableBusTextures.MECable_Orange.getIcon(); - case Pink: - return CableBusTextures.MECable_Pink.getIcon(); - case Purple: - return CableBusTextures.MECable_Purple.getIcon(); - case Red: - return CableBusTextures.MECable_Red.getIcon(); - case White: - return CableBusTextures.MECable_White.getIcon(); - case Yellow: - return CableBusTextures.MECable_Yellow.getIcon(); - default: - } - - final AEColoredItemDefinition glassCable = AEApi.instance().definitions().parts().cableGlass(); - final ItemStack glassCableStack = glassCable.stack( AEColor.Transparent, 1 ); - - return renderer.getIcon( glassCableStack ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - boolean useCovered = false; - boolean requireDetailed = false; - - for( final AEPartLocation dir : AEPartLocation.SIDE_LOCATIONS ) - { - final IPart p = this.getHost().getPart( dir ); - if( p instanceof IGridHost ) - { - final IGridHost igh = (IGridHost) p; - final AECableType type = igh.getCableConnectionType( dir.getOpposite() ); - if( type == AECableType.COVERED || type == AECableType.SMART ) - { - useCovered = true; - break; - } - } - else if( this.getConnections().contains( dir ) ) - { - final TileEntity te = this.getTile().getWorld().getTileEntity( pos.offset( dir.getFacing() ) ); - final IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null; - final IGridHost gh = te instanceof IGridHost ? (IGridHost) te : null; - if( partHost == null && gh != null && gh.getCableConnectionType( dir ) != AECableType.GLASS ) - { - requireDetailed = true; - } - } - } - - if( useCovered ) - { - rh.setTexture( this.getCoveredTexture( this.getCableColor(), renderer ) ); - } - else - { - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - - final IPartHost ph = this.getHost(); - for( final AEPartLocation of : EnumSet.complementOf( this.getConnections() ) ) - { - final IPart bp = ph.getPart( of ); - if( bp instanceof IGridHost ) - { - final int len = bp.cableConnectionRenderTo(); - if( len < 8 ) - { - switch( of ) - { - case DOWN: - rh.setBounds( 6, len, 6, 10, 6, 10 ); - break; - case EAST: - rh.setBounds( 10, 6, 6, 16 - len, 10, 10 ); - break; - case NORTH: - rh.setBounds( 6, 6, len, 10, 10, 6 ); - break; - case SOUTH: - rh.setBounds( 6, 6, 10, 10, 10, 16 - len ); - break; - case UP: - rh.setBounds( 6, 10, 6, 10, 16 - len, 10 ); - break; - case WEST: - rh.setBounds( len, 6, 6, 6, 10, 10 ); - break; - default: - continue; - } - rh.renderBlock( pos, renderer ); - } - } - } - - if( this.getConnections().size() != 2 || !this.nonLinear( this.getConnections() ) || useCovered || requireDetailed ) - { - if( useCovered ) - { - rh.setBounds( 5, 5, 5, 11, 11, 11 ); - rh.renderBlock( pos, renderer ); - } - else - { - rh.setBounds( 6, 6, 6, 10, 10, 10 ); - rh.renderBlock( pos, renderer ); - } - - for( final AEPartLocation of : this.getConnections() ) - { - this.renderGlassConnection( pos, rh, renderer, of ); - } - } - else - { - final IAESprite def = this.getTexture( this.getCableColor(), renderer ); - rh.setTexture( def ); - - for( final AEPartLocation of : this.getConnections() ) - { - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of.getFacing(), of.getFacing().getOpposite() ) ) ); - switch( of ) - { - case DOWN: - case UP: - renderer.setRenderBounds( 6 / 16.0, 0, 6 / 16.0, 10 / 16.0, 16 / 16.0, 10 / 16.0 ); - break; - case EAST: - case WEST: - renderer.setUvRotateEast( renderer.setUvRotateWest( 1 ) ); - renderer.setUvRotateBottom( renderer.setUvRotateTop( 1 ) ); - renderer.setRenderBounds( 0, 6 / 16.0, 6 / 16.0, 16 / 16.0, 10 / 16.0, 10 / 16.0 ); - break; - case NORTH: - case SOUTH: - renderer.setUvRotateNorth( renderer.setUvRotateSouth( 1 ) ); - renderer.setRenderBounds( 6 / 16.0, 6 / 16.0, 0, 10 / 16.0, 10 / 16.0, 16 / 16.0 ); - break; - default: - } - } - - rh.renderBlockCurrentBounds( pos, renderer ); - } - - rh.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - rh.setTexture( null ); - } - @Override public void writeToNBT( final NBTTagCompound data ) { @@ -588,477 +379,11 @@ public class PartCable extends AEBasePart implements IPartCable return !myC.equals( this.getConnections() ) || wasPowered != this.powered || channelsChanged; } - @Override - @SideOnly( Side.CLIENT ) - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return this.getTexture( this.getCableColor(), renderer ).getAtlas(); - } - - public IAESprite getCoveredTexture( final AEColor c, final ModelGenerator renderer ) - { - switch( c ) - { - case Black: - return CableBusTextures.MECovered_Black.getIcon(); - case Blue: - return CableBusTextures.MECovered_Blue.getIcon(); - case Brown: - return CableBusTextures.MECovered_Brown.getIcon(); - case Cyan: - return CableBusTextures.MECovered_Cyan.getIcon(); - case Gray: - return CableBusTextures.MECovered_Gray.getIcon(); - case Green: - return CableBusTextures.MECovered_Green.getIcon(); - case LightBlue: - return CableBusTextures.MECovered_LightBlue.getIcon(); - case LightGray: - return CableBusTextures.MECovered_LightGrey.getIcon(); - case Lime: - return CableBusTextures.MECovered_Lime.getIcon(); - case Magenta: - return CableBusTextures.MECovered_Magenta.getIcon(); - case Orange: - return CableBusTextures.MECovered_Orange.getIcon(); - case Pink: - return CableBusTextures.MECovered_Pink.getIcon(); - case Purple: - return CableBusTextures.MECovered_Purple.getIcon(); - case Red: - return CableBusTextures.MECovered_Red.getIcon(); - case White: - return CableBusTextures.MECovered_White.getIcon(); - case Yellow: - return CableBusTextures.MECovered_Yellow.getIcon(); - default: - } - - final AEColoredItemDefinition coveredCable = AEApi.instance().definitions().parts().cableCovered(); - final ItemStack coveredCableStack = coveredCable.stack( AEColor.Transparent, 1 ); - - return renderer.getIcon( coveredCableStack ); - } - protected boolean nonLinear( final EnumSet sides ) { return ( sides.contains( AEPartLocation.EAST ) && sides.contains( AEPartLocation.WEST ) ) || ( sides.contains( AEPartLocation.NORTH ) && sides.contains( AEPartLocation.SOUTH ) ) || ( sides.contains( AEPartLocation.UP ) && sides.contains( AEPartLocation.DOWN ) ); } - @SideOnly( Side.CLIENT ) - private void renderGlassConnection( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer, final AEPartLocation of ) - { - final TileEntity te = this.getTile().getWorld().getTileEntity( pos.offset( of.getFacing() ) ); - final IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null; - final IGridHost gh = te instanceof IGridHost ? (IGridHost) te : null; - - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of.getFacing() ) ) ); - - if( gh != null && partHost != null && gh.getCableConnectionType( of.getOpposite() ) == AECableType.GLASS && partHost.getColor() != AEColor.Transparent && partHost.getPart( of.getOpposite() ) == null ) - { - rh.setTexture( this.getTexture( partHost.getColor(), renderer ) ); - } - else if( partHost == null && gh != null && gh.getCableConnectionType( of.getOpposite() ) != AECableType.GLASS ) - { - rh.setTexture( this.getCoveredTexture( this.getCableColor(), renderer ) ); - switch( of ) - { - case DOWN: - rh.setBounds( 5, 0, 5, 11, 4, 11 ); - break; - case EAST: - rh.setBounds( 12, 5, 5, 16, 11, 11 ); - break; - case NORTH: - rh.setBounds( 5, 5, 0, 11, 11, 4 ); - break; - case SOUTH: - rh.setBounds( 5, 5, 12, 11, 11, 16 ); - break; - case UP: - rh.setBounds( 5, 12, 5, 11, 16, 11 ); - break; - case WEST: - rh.setBounds( 0, 5, 5, 4, 11, 11 ); - break; - default: - return; - } - - rh.renderBlock( pos, renderer ); - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - else - { - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - - switch( of ) - { - case DOWN: - rh.setBounds( 6, 0, 6, 10, 6, 10 ); - break; - case EAST: - rh.setBounds( 10, 6, 6, 16, 10, 10 ); - break; - case NORTH: - rh.setBounds( 6, 6, 0, 10, 10, 6 ); - break; - case SOUTH: - rh.setBounds( 6, 6, 10, 10, 10, 16 ); - break; - case UP: - rh.setBounds( 6, 10, 6, 10, 16, 10 ); - break; - case WEST: - rh.setBounds( 0, 6, 6, 6, 10, 10 ); - break; - default: - return; - } - - rh.renderBlock( pos, renderer ); - rh.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - } - - @SideOnly( Side.CLIENT ) - protected void renderCoveredConnection( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer, final int channels, final AEPartLocation of ) - { - final TileEntity te = this.getTile().getWorld().getTileEntity( pos.offset( of.getFacing() ) ); - final IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null; - final IGridHost ghh = te instanceof IGridHost ? (IGridHost) te : null; - - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of.getFacing() ) ) ); - if( ghh != null && partHost != null && ghh.getCableConnectionType( of.getOpposite() ) == AECableType.GLASS && partHost.getPart( of.getOpposite() ) == null && partHost.getColor() != AEColor.Transparent ) - { - rh.setTexture( this.getGlassTexture( partHost.getColor(), renderer ) ); - } - else if( partHost == null && ghh != null && ghh.getCableConnectionType( of.getOpposite() ) != AECableType.GLASS ) - { - rh.setTexture( this.getCoveredTexture( this.getCableColor(), renderer ) ); - switch( of ) - { - case DOWN: - rh.setBounds( 5, 0, 5, 11, 4, 11 ); - break; - case EAST: - rh.setBounds( 12, 5, 5, 16, 11, 11 ); - break; - case NORTH: - rh.setBounds( 5, 5, 0, 11, 11, 4 ); - break; - case SOUTH: - rh.setBounds( 5, 5, 12, 11, 11, 16 ); - break; - case UP: - rh.setBounds( 5, 12, 5, 11, 16, 11 ); - break; - case WEST: - rh.setBounds( 0, 5, 5, 4, 11, 11 ); - break; - default: - return; - } - - rh.renderBlock( pos, renderer ); - - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - else if( ghh != null && partHost != null && ghh.getCableConnectionType( of.getOpposite() ) == AECableType.COVERED && partHost.getColor() != AEColor.Transparent && partHost.getPart( of.getOpposite() ) == null ) - { - rh.setTexture( this.getCoveredTexture( partHost.getColor(), renderer ) ); - } - else - { - rh.setTexture( this.getCoveredTexture( this.getCableColor(), renderer ) ); - } - - switch( of ) - { - case DOWN: - rh.setBounds( 6, 0, 6, 10, 5, 10 ); - break; - case EAST: - rh.setBounds( 11, 6, 6, 16, 10, 10 ); - break; - case NORTH: - rh.setBounds( 6, 6, 0, 10, 10, 5 ); - break; - case SOUTH: - rh.setBounds( 6, 6, 11, 10, 10, 16 ); - break; - case UP: - rh.setBounds( 6, 11, 6, 10, 16, 10 ); - break; - case WEST: - rh.setBounds( 0, 6, 6, 5, 10, 10 ); - break; - default: - return; - } - - rh.renderBlock( pos, renderer ); - rh.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - rh.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - } - - @SideOnly( Side.CLIENT ) - protected void renderSmartConnection( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer, final int channels, final AEPartLocation of ) - { - final TileEntity te = this.getTile().getWorld().getTileEntity( pos.offset( of.getFacing() ) ); - final IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null; - final IGridHost ghh = te instanceof IGridHost ? (IGridHost) te : null; - AEColor myColor = this.getCableColor(); - - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of.getFacing() ) ) ); - - boolean isGlass = false; - if( ghh != null && partHost != null && ghh.getCableConnectionType( of.getOpposite() ) == AECableType.GLASS && partHost.getPart( of.getOpposite() ) == null && partHost.getColor() != AEColor.Transparent ) - { - isGlass = true; - rh.setTexture( this.getGlassTexture( myColor = partHost.getColor(), renderer ) ); - } - else if( partHost == null && ghh != null && ghh.getCableConnectionType( of.getOpposite() ) != AECableType.GLASS ) - { - rh.setTexture( this.getSmartTexture( myColor, renderer ) ); - switch( of ) - { - case DOWN: - rh.setBounds( 5, 0, 5, 11, 4, 11 ); - break; - case EAST: - rh.setBounds( 12, 5, 5, 16, 11, 11 ); - break; - case NORTH: - rh.setBounds( 5, 5, 0, 11, 11, 4 ); - break; - case SOUTH: - rh.setBounds( 5, 5, 12, 11, 11, 16 ); - break; - case UP: - rh.setBounds( 5, 12, 5, 11, 16, 11 ); - break; - case WEST: - rh.setBounds( 0, 5, 5, 4, 11, 11 ); - break; - default: - return; - } - rh.renderBlock( pos, renderer ); - - this.setSmartConnectionRotations( of, renderer ); - final IAESprite firstIcon = new TaughtIcon( this.getChannelTex( channels, false ).getIcon(), -0.2f ); - final IAESprite secondIcon = new TaughtIcon( this.getChannelTex( channels, true ).getIcon(), -0.2f ); - - if( of == AEPartLocation.EAST || of == AEPartLocation.WEST ) - { - final AEBaseBlock blk = (AEBaseBlock) rh.getBlock(); - final FlippableIcon ico = blk.getRendererInstance().getTexture( AEPartLocation.EAST ); - ico.setFlip( false, true ); - } - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - renderer.setColorOpaque_I( myColor.blackVariant ); - rh.setTexture( firstIcon, firstIcon, firstIcon, firstIcon, firstIcon, firstIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( myColor.whiteVariant ); - rh.setTexture( secondIcon, secondIcon, secondIcon, secondIcon, secondIcon, secondIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - - else if( ghh != null && partHost != null && ghh.getCableConnectionType( of.getOpposite() ) != AECableType.GLASS && partHost.getColor() != AEColor.Transparent && partHost.getPart( of.getOpposite() ) == null ) - { - rh.setTexture( this.getSmartTexture( myColor = partHost.getColor(), renderer ) ); - } - else - { - rh.setTexture( this.getSmartTexture( this.getCableColor(), renderer ) ); - } - - switch( of ) - { - case DOWN: - rh.setBounds( 6, 0, 6, 10, 5, 10 ); - break; - case EAST: - rh.setBounds( 11, 6, 6, 16, 10, 10 ); - break; - case NORTH: - rh.setBounds( 6, 6, 0, 10, 10, 5 ); - break; - case SOUTH: - rh.setBounds( 6, 6, 11, 10, 10, 16 ); - break; - case UP: - rh.setBounds( 6, 11, 6, 10, 16, 10 ); - break; - case WEST: - rh.setBounds( 0, 6, 6, 5, 10, 10 ); - break; - default: - return; - } - - rh.renderBlock( pos, renderer ); - rh.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - - if( !isGlass ) - { - this.setSmartConnectionRotations( of, renderer ); - - final IAESprite firstIcon = new TaughtIcon( this.getChannelTex( channels, false ).getIcon(), -0.2f ); - final IAESprite secondIcon = new TaughtIcon( this.getChannelTex( channels, true ).getIcon(), -0.2f ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - renderer.setColorOpaque_I( myColor.blackVariant ); - rh.setTexture( firstIcon, firstIcon, firstIcon, firstIcon, firstIcon, firstIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( myColor.whiteVariant ); - rh.setTexture( secondIcon, secondIcon, secondIcon, secondIcon, secondIcon, secondIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - } - } - - public IAESprite getSmartTexture( final AEColor c, final ModelGenerator renderer ) - { - switch( c ) - { - case Black: - return CableBusTextures.MESmart_Black.getIcon(); - case Blue: - return CableBusTextures.MESmart_Blue.getIcon(); - case Brown: - return CableBusTextures.MESmart_Brown.getIcon(); - case Cyan: - return CableBusTextures.MESmart_Cyan.getIcon(); - case Gray: - return CableBusTextures.MESmart_Gray.getIcon(); - case Green: - return CableBusTextures.MESmart_Green.getIcon(); - case LightBlue: - return CableBusTextures.MESmart_LightBlue.getIcon(); - case LightGray: - return CableBusTextures.MESmart_LightGrey.getIcon(); - case Lime: - return CableBusTextures.MESmart_Lime.getIcon(); - case Magenta: - return CableBusTextures.MESmart_Magenta.getIcon(); - case Orange: - return CableBusTextures.MESmart_Orange.getIcon(); - case Pink: - return CableBusTextures.MESmart_Pink.getIcon(); - case Purple: - return CableBusTextures.MESmart_Purple.getIcon(); - case Red: - return CableBusTextures.MESmart_Red.getIcon(); - case White: - return CableBusTextures.MESmart_White.getIcon(); - case Yellow: - return CableBusTextures.MESmart_Yellow.getIcon(); - default: - } - - final IParts parts = AEApi.instance().definitions().parts(); - final ItemStack smartCableStack = parts.cableSmart().stack( AEColor.Transparent, 1 ); - - return renderer.getIcon( smartCableStack ); - } - - @SideOnly( Side.CLIENT ) - protected void setSmartConnectionRotations( final AEPartLocation of, final ModelGenerator renderer ) - { - switch( of ) - { - case UP: - case DOWN: - renderer.setUvRotateTop( 0 ); - renderer.setUvRotateBottom( 0 ); - renderer.setUvRotateSouth( 3 ); - renderer.setUvRotateEast( 3 ); - break; - case NORTH: - case SOUTH: - renderer.setUvRotateTop( 3 ); - renderer.setUvRotateBottom( 3 ); - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 2 ); - renderer.setUvRotateWest( 1 ); - break; - case EAST: - case WEST: - renderer.setUvRotateEast( 2 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateBottom( 2 ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateSouth( 3 ); - renderer.setUvRotateNorth( 0 ); - break; - default: - break; - } - } - - protected CableBusTextures getChannelTex( int i, final boolean b ) - { - if( !this.powered ) - { - i = 0; - } - - if( b ) - { - switch( i ) - { - default: - return CableBusTextures.Channels10; - case 5: - return CableBusTextures.Channels11; - case 6: - return CableBusTextures.Channels12; - case 7: - return CableBusTextures.Channels13; - case 8: - return CableBusTextures.Channels14; - } - } - else - { - switch( i ) - { - case 0: - return CableBusTextures.Channels00; - case 1: - return CableBusTextures.Channels01; - case 2: - return CableBusTextures.Channels02; - case 3: - return CableBusTextures.Channels03; - default: - return CableBusTextures.Channels04; - } - } - } - - @SideOnly( Side.CLIENT ) - protected void renderAllFaces( final AEBaseBlock blk, final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setBounds( (float) renderer.getRenderMinX() * 16.0f, (float) renderer.getRenderMinY() * 16.0f, (float) renderer.getRenderMinZ() * 16.0f, (float) renderer.getRenderMaxX() * 16.0f, (float) renderer.getRenderMaxY() * 16.0f, (float) renderer.getRenderMaxZ() * 16.0f ); - rh.renderFace( pos, blk.getRendererInstance().getTexture( AEPartLocation.WEST ), EnumFacing.WEST, renderer ); - rh.renderFace( pos, blk.getRendererInstance().getTexture( AEPartLocation.EAST ), EnumFacing.EAST, renderer ); - rh.renderFace( pos, blk.getRendererInstance().getTexture( AEPartLocation.NORTH ), EnumFacing.NORTH, renderer ); - rh.renderFace( pos, blk.getRendererInstance().getTexture( AEPartLocation.SOUTH ), EnumFacing.SOUTH, renderer ); - rh.renderFace( pos, blk.getRendererInstance().getTexture( AEPartLocation.DOWN ), EnumFacing.DOWN, renderer ); - rh.renderFace( pos, blk.getRendererInstance().getTexture( AEPartLocation.UP ), EnumFacing.UP, renderer ); - } - int getChannelsOnSide( final int i ) { return this.channelsOnSide[i]; diff --git a/src/main/java/appeng/parts/networking/PartCableCovered.java b/src/main/java/appeng/parts/networking/PartCableCovered.java index 93e01cb98..ef9957f5b 100644 --- a/src/main/java/appeng/parts/networking/PartCableCovered.java +++ b/src/main/java/appeng/parts/networking/PartCableCovered.java @@ -19,31 +19,15 @@ package appeng.parts.networking; -import java.util.EnumSet; - -import org.lwjgl.opengl.GL11; - import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.networking.IGridHost; import appeng.api.networking.IGridNode; import appeng.api.networking.events.MENetworkChannelsChanged; import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; -import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AECableType; -import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.OffsetIcon; import appeng.helpers.Reflected; import appeng.util.Platform; @@ -118,146 +102,4 @@ public class PartCableCovered extends PartCable } } } - - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - GL11.glTranslated( -0.0, -0.0, 0.3 ); - - rh.setBounds( 5.0f, 5.0f, 2.0f, 11.0f, 11.0f, 14.0f ); - float offU = 0; - float offV = 9; - - OffsetIcon main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), offU, offV ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.UP, EnumFacing.DOWN ) ) - { - rh.renderInventoryFace( main, side, renderer ); - } - - offU = 9; - offV = 0; - main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), offU, offV ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.EAST, EnumFacing.WEST ) ) - { - rh.renderInventoryFace( main, side, renderer ); - } - - main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), 0, 0 ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.SOUTH, EnumFacing.NORTH ) ) - { - rh.renderInventoryFace( main, side, renderer ); - } - - rh.setTexture( null ); - } - - @Override - public IAESprite getTexture( final AEColor c, final ModelGenerator renderer ) - { - return this.getCoveredTexture( c, renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - - final EnumSet sides = this.getConnections().clone(); - - boolean hasBuses = false; - final IPartHost ph = this.getHost(); - for( final AEPartLocation of : EnumSet.complementOf( this.getConnections() ) ) - { - final IPart bp = ph.getPart( of ); - if( bp instanceof IGridHost ) - { - if( of != AEPartLocation.INTERNAL ) - { - sides.add( of ); - hasBuses = true; - } - - final int len = bp.cableConnectionRenderTo(); - if( len < 8 ) - { - switch( of ) - { - case DOWN: - rh.setBounds( 6, len, 6, 10, 5, 10 ); - break; - case EAST: - rh.setBounds( 11, 6, 6, 16 - len, 10, 10 ); - break; - case NORTH: - rh.setBounds( 6, 6, len, 10, 10, 5 ); - break; - case SOUTH: - rh.setBounds( 6, 6, 11, 10, 10, 16 - len ); - break; - case UP: - rh.setBounds( 6, 11, 6, 10, 16 - len, 10 ); - break; - case WEST: - rh.setBounds( len, 6, 6, 5, 10, 10 ); - break; - default: - continue; - } - rh.renderBlock( pos, renderer ); - } - } - } - - if( sides.size() != 2 || !this.nonLinear( sides ) || hasBuses ) - { - for( final AEPartLocation of : this.getConnections() ) - { - this.renderCoveredConnection( pos, rh, renderer, this.getChannelsOnSide( of.ordinal() ), of ); - } - - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - rh.setBounds( 5, 5, 5, 11, 11, 11 ); - rh.renderBlock( pos, renderer ); - } - else - { - final IAESprite def = this.getTexture( this.getCableColor(), renderer ); - final IAESprite off = new OffsetIcon( def, 0, -12 ); - for( final AEPartLocation of : this.getConnections() ) - { - switch( of ) - { - case DOWN: - case UP: - rh.setTexture( def, def, off, off, off, off ); - renderer.setRenderBounds( 5 / 16.0, 0, 5 / 16.0, 11 / 16.0, 16 / 16.0, 11 / 16.0 ); - break; - case EAST: - case WEST: - rh.setTexture( off, off, off, off, def, def ); - renderer.setUvRotateEast( renderer.setUvRotateWest( 1 ) ); - renderer.setUvRotateBottom( renderer.setUvRotateTop( 1 ) ); - renderer.setRenderBounds( 0, 5 / 16.0, 5 / 16.0, 16 / 16.0, 11 / 16.0, 11 / 16.0 ); - break; - case NORTH: - case SOUTH: - rh.setTexture( off, off, def, def, off, off ); - renderer.setUvRotateNorth( renderer.setUvRotateSouth( 1 ) ); - renderer.setRenderBounds( 5 / 16.0, 5 / 16.0, 0, 11 / 16.0, 11 / 16.0, 16 / 16.0 ); - break; - default: - } - } - - rh.renderBlockCurrentBounds( pos, renderer ); - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - rh.setTexture( null ); - } } diff --git a/src/main/java/appeng/parts/networking/PartCableSmart.java b/src/main/java/appeng/parts/networking/PartCableSmart.java index 3c9deaf2f..5997cc59f 100644 --- a/src/main/java/appeng/parts/networking/PartCableSmart.java +++ b/src/main/java/appeng/parts/networking/PartCableSmart.java @@ -19,34 +19,15 @@ package appeng.parts.networking; -import java.util.EnumSet; - -import org.lwjgl.opengl.GL11; - import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.networking.IGridHost; import appeng.api.networking.IGridNode; import appeng.api.networking.events.MENetworkChannelsChanged; import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; -import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AECableType; -import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.texture.FlippableIcon; -import appeng.client.texture.OffsetIcon; -import appeng.client.texture.TaughtIcon; import appeng.helpers.Reflected; import appeng.util.Platform; @@ -121,256 +102,4 @@ public class PartCableSmart extends PartCable } } } - - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - GL11.glTranslated( -0.0, -0.0, 0.3 ); - - float offU = 0; - float offV = 9; - - OffsetIcon main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), offU, offV ); - OffsetIcon ch1 = new OffsetIcon( this.getChannelTex( 4, false ).getIcon(), offU, offV ); - OffsetIcon ch2 = new OffsetIcon( this.getChannelTex( 4, true ).getIcon(), offU, offV ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.UP, EnumFacing.DOWN ) ) - { - rh.setBounds( 5.0f, 5.0f, 2.0f, 11.0f, 11.0f, 14.0f ); - rh.renderInventoryFace( main, side, renderer ); - rh.renderInventoryFace( ch1, side, renderer ); - rh.renderInventoryFace( ch2, side, renderer ); - } - - offU = 9; - offV = 0; - main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), offU, offV ); - ch1 = new OffsetIcon( this.getChannelTex( 4, false ).getIcon(), offU, offV ); - ch2 = new OffsetIcon( this.getChannelTex( 4, true ).getIcon(), offU, offV ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.EAST, EnumFacing.WEST ) ) - { - rh.setBounds( 5.0f, 5.0f, 2.0f, 11.0f, 11.0f, 14.0f ); - rh.renderInventoryFace( main, side, renderer ); - rh.renderInventoryFace( ch1, side, renderer ); - rh.renderInventoryFace( ch2, side, renderer ); - } - - main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), 0, 0 ); - ch1 = new OffsetIcon( this.getChannelTex( 4, false ).getIcon(), 0, 0 ); - ch2 = new OffsetIcon( this.getChannelTex( 4, true ).getIcon(), 0, 0 ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.SOUTH, EnumFacing.NORTH ) ) - { - rh.setBounds( 5.0f, 5.0f, 2.0f, 11.0f, 11.0f, 14.0f ); - rh.renderInventoryFace( main, side, renderer ); - rh.renderInventoryFace( ch1, side, renderer ); - rh.renderInventoryFace( ch2, side, renderer ); - } - - rh.setTexture( null ); - } - - @Override - public IAESprite getTexture( final AEColor c, final ModelGenerator renderer ) - { - return this.getSmartTexture( c, renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - - final EnumSet sides = this.getConnections().clone(); - - boolean hasBuses = false; - final IPartHost ph = this.getHost(); - for( final AEPartLocation of : EnumSet.complementOf( this.getConnections() ) ) - { - final IPart bp = ph.getPart( of ); - if( bp instanceof IGridHost ) - { - if( of != AEPartLocation.INTERNAL ) - { - sides.add( of ); - hasBuses = true; - } - - final int len = bp.cableConnectionRenderTo(); - if( len < 8 ) - { - switch( of ) - { - case DOWN: - rh.setBounds( 6, len, 6, 10, 5, 10 ); - break; - case EAST: - rh.setBounds( 11, 6, 6, 16 - len, 10, 10 ); - break; - case NORTH: - rh.setBounds( 6, 6, len, 10, 10, 5 ); - break; - case SOUTH: - rh.setBounds( 6, 6, 11, 10, 10, 16 - len ); - break; - case UP: - rh.setBounds( 6, 11, 6, 10, 16 - len, 10 ); - break; - case WEST: - rh.setBounds( len, 6, 6, 5, 10, 10 ); - break; - default: - continue; - } - rh.renderBlock( pos, renderer ); - - this.setSmartConnectionRotations( of, renderer ); - final IAESprite firstIcon = new TaughtIcon( this.getChannelTex( this.getChannelsOnSide( of.ordinal() ), false ).getIcon(), -0.2f ); - final IAESprite secondIcon = new TaughtIcon( this.getChannelTex( this.getChannelsOnSide( of.ordinal() ), true ).getIcon(), -0.2f ); - - if( of == AEPartLocation.EAST || of == AEPartLocation.WEST ) - { - final AEBaseBlock blk = (AEBaseBlock) rh.getBlock(); - final FlippableIcon ico = blk.getRendererInstance().getTexture( AEPartLocation.EAST ); - ico.setFlip( false, true ); - } - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstIcon, firstIcon, firstIcon, firstIcon, firstIcon, firstIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondIcon, secondIcon, secondIcon, secondIcon, secondIcon, secondIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - } - } - - if( sides.size() != 2 || !this.nonLinear( sides ) || hasBuses ) - { - for( final AEPartLocation of : this.getConnections() ) - { - this.renderSmartConnection( pos, rh, renderer, this.getChannelsOnSide( of.ordinal() ), of ); - } - - rh.setTexture( this.getCoveredTexture( this.getCableColor(), renderer ) ); - rh.setBounds( 5, 5, 5, 11, 11, 11 ); - rh.renderBlock( pos, renderer ); - } - else - { - AEPartLocation selectedSide = AEPartLocation.INTERNAL; - - for( final AEPartLocation of : this.getConnections() ) - { - selectedSide = of; - break; - } - - final int channels = this.getChannelsOnSide( selectedSide.ordinal() ); - final IAESprite def = this.getTexture( this.getCableColor(), renderer ); - final IAESprite off = new OffsetIcon( def, 0, -12 ); - - final IAESprite firstTaughtIcon = new TaughtIcon( this.getChannelTex( channels, false ).getIcon(), -0.2f ); - final IAESprite firstOffsetIcon = new OffsetIcon( firstTaughtIcon, 0, -12 ); - - final IAESprite secondTaughtIcon = new TaughtIcon( this.getChannelTex( channels, true ).getIcon(), -0.2f ); - final IAESprite secondOffsetIcon = new OffsetIcon( secondTaughtIcon, 0, -12 ); - - switch( selectedSide ) - { - case DOWN: - case UP: - renderer.setRenderBounds( 5 / 16.0, 0, 5 / 16.0, 11 / 16.0, 16 / 16.0, 11 / 16.0 ); - rh.setTexture( def, def, off, off, off, off ); - rh.renderBlockCurrentBounds( pos, renderer ); - - renderer.setUvRotateTop( 0 ); - renderer.setUvRotateBottom( 0 ); - renderer.setUvRotateSouth( 3 ); - renderer.setUvRotateEast( 3 ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstTaughtIcon, firstTaughtIcon, firstOffsetIcon, firstOffsetIcon, firstOffsetIcon, firstOffsetIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondTaughtIcon, secondTaughtIcon, secondOffsetIcon, secondOffsetIcon, secondOffsetIcon, secondOffsetIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - break; - case EAST: - case WEST: - rh.setTexture( off, off, off, off, def, def ); - renderer.setUvRotateEast( 2 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateBottom( 2 ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateSouth( 0 ); - renderer.setUvRotateNorth( 0 ); - - final AEBaseBlock blk = (AEBaseBlock) rh.getBlock(); - final FlippableIcon ico = blk.getRendererInstance().getTexture( AEPartLocation.EAST ); - ico.setFlip( false, true ); - - renderer.setRenderBounds( 0, 5 / 16.0, 5 / 16.0, 16 / 16.0, 11 / 16.0, 11 / 16.0 ); - rh.renderBlockCurrentBounds( pos, renderer ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - - FlippableIcon fpA = new FlippableIcon( firstTaughtIcon ); - FlippableIcon fpB = new FlippableIcon( secondTaughtIcon ); - - fpA = new FlippableIcon( firstTaughtIcon ); - fpB = new FlippableIcon( secondTaughtIcon ); - - fpA.setFlip( true, false ); - fpB.setFlip( true, false ); - - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstOffsetIcon, firstOffsetIcon, firstOffsetIcon, firstOffsetIcon, firstTaughtIcon, fpA ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondOffsetIcon, secondOffsetIcon, secondOffsetIcon, secondOffsetIcon, secondTaughtIcon, fpB ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - break; - case NORTH: - case SOUTH: - rh.setTexture( off, off, def, def, off, off ); - renderer.setUvRotateTop( 3 ); - renderer.setUvRotateBottom( 3 ); - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 2 ); - renderer.setUvRotateWest( 1 ); - renderer.setRenderBounds( 5 / 16.0, 5 / 16.0, 0, 11 / 16.0, 11 / 16.0, 16 / 16.0 ); - rh.renderBlockCurrentBounds( pos, renderer ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstOffsetIcon, firstOffsetIcon, firstTaughtIcon, firstTaughtIcon, firstOffsetIcon, firstOffsetIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondOffsetIcon, secondOffsetIcon, secondTaughtIcon, secondTaughtIcon, secondOffsetIcon, secondOffsetIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - break; - default: - break; - } - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - rh.setTexture( null ); - } } diff --git a/src/main/java/appeng/parts/networking/PartDenseCable.java b/src/main/java/appeng/parts/networking/PartDenseCable.java index 5e6221ba4..4b5d0839b 100644 --- a/src/main/java/appeng/parts/networking/PartDenseCable.java +++ b/src/main/java/appeng/parts/networking/PartDenseCable.java @@ -19,18 +19,9 @@ package appeng.parts.networking; -import java.util.EnumSet; - -import org.lwjgl.opengl.GL11; - import net.minecraft.item.ItemStack; import net.minecraft.tileentity.TileEntity; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.AEApi; import appeng.api.networking.GridFlags; import appeng.api.networking.IGridHost; import appeng.api.networking.IGridNode; @@ -39,18 +30,8 @@ import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; import appeng.api.parts.BusSupport; import appeng.api.parts.IPartCollisionHelper; -import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AECableType; -import appeng.api.util.AEColor; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.block.AEBaseBlock; -import appeng.client.texture.CableBusTextures; -import appeng.client.texture.FlippableIcon; -import appeng.client.texture.OffsetIcon; -import appeng.client.texture.TaughtIcon; import appeng.helpers.Reflected; import appeng.util.Platform; @@ -154,306 +135,6 @@ public class PartDenseCable extends PartCable } } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - GL11.glTranslated( -0.0, -0.0, 0.3 ); - rh.setBounds( 4.0f, 4.0f, 2.0f, 12.0f, 12.0f, 14.0f ); - - float offU = 0; - float offV = 9; - - OffsetIcon main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), offU, offV ); - OffsetIcon ch1 = new OffsetIcon( this.getChannelTex( 4, false ).getIcon(), offU, offV ); - OffsetIcon ch2 = new OffsetIcon( this.getChannelTex( 4, true ).getIcon(), offU, offV ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.UP, EnumFacing.DOWN ) ) - { - rh.renderInventoryFace( main, side, renderer ); - rh.renderInventoryFace( ch1, side, renderer ); - rh.renderInventoryFace( ch2, side, renderer ); - } - - offU = 9; - offV = 0; - main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), offU, offV ); - ch1 = new OffsetIcon( this.getChannelTex( 4, false ).getIcon(), offU, offV ); - ch2 = new OffsetIcon( this.getChannelTex( 4, true ).getIcon(), offU, offV ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.EAST, EnumFacing.WEST ) ) - { - rh.renderInventoryFace( main, side, renderer ); - rh.renderInventoryFace( ch1, side, renderer ); - rh.renderInventoryFace( ch2, side, renderer ); - } - - main = new OffsetIcon( this.getTexture( this.getCableColor(), renderer ), 0, 0 ); - ch1 = new OffsetIcon( this.getChannelTex( 4, false ).getIcon(), 0, 0 ); - ch2 = new OffsetIcon( this.getChannelTex( 4, true ).getIcon(), 0, 0 ); - - for( final EnumFacing side : EnumSet.of( EnumFacing.SOUTH, EnumFacing.NORTH ) ) - { - rh.renderInventoryFace( main, side, renderer ); - rh.renderInventoryFace( ch1, side, renderer ); - rh.renderInventoryFace( ch2, side, renderer ); - } - - rh.setTexture( null ); - } - - @Override - public IAESprite getTexture( final AEColor c, final ModelGenerator renderer ) - { - if( c == AEColor.Transparent ) - { - return renderer.getIcon( AEApi.instance().definitions().parts().cableSmart().stack( AEColor.Transparent, 1 ) ); - } - - return this.getSmartTexture( c, renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - - final EnumSet sides = this.getConnections().clone(); - - boolean hasBuses = false; - for( final AEPartLocation of : this.getConnections() ) - { - if( !this.isDense( of ) ) - { - hasBuses = true; - } - } - - if( sides.size() != 2 || !this.nonLinear( sides ) || hasBuses ) - { - for( final AEPartLocation of : this.getConnections() ) - { - if( this.isDense( of ) ) - { - this.renderDenseConnection( pos, rh, renderer, this.getChannelsOnSide( of.ordinal() ), of ); - } - else if( this.isSmart( of ) ) - { - this.renderSmartConnection( pos, rh, renderer, this.getChannelsOnSide( of.ordinal() ), of ); - } - else - { - this.renderCoveredConnection( pos, rh, renderer, this.getChannelsOnSide( of.ordinal() ), of ); - } - } - - rh.setTexture( this.getDenseTexture( this.getCableColor(), renderer ) ); - rh.setBounds( 3, 3, 3, 13, 13, 13 ); - rh.renderBlock( pos, renderer ); - } - else - { - AEPartLocation selectedSide = AEPartLocation.INTERNAL; - - for( final AEPartLocation of : this.getConnections() ) - { - selectedSide = of; - break; - } - - final int channels = this.getChannelsOnSide( selectedSide.ordinal() ); - final IAESprite def = this.getTexture( this.getCableColor(), renderer ); - final IAESprite off = new OffsetIcon( def, 0, -12 ); - - final IAESprite firstIcon = new TaughtIcon( this.getChannelTex( channels, false ).getIcon(), -0.2f ); - final IAESprite firstOffset = new OffsetIcon( firstIcon, 0, -12 ); - - final IAESprite secondIcon = new TaughtIcon( this.getChannelTex( channels, true ).getIcon(), -0.2f ); - final IAESprite secondOffset = new OffsetIcon( secondIcon, 0, -12 ); - - switch( selectedSide ) - { - case DOWN: - case UP: - renderer.setRenderBounds( 3 / 16.0, 0, 3 / 16.0, 13 / 16.0, 16 / 16.0, 13 / 16.0 ); - rh.setTexture( def, def, off, off, off, off ); - rh.renderBlockCurrentBounds( pos, renderer ); - - renderer.setUvRotateTop( 0 ); - renderer.setUvRotateBottom( 0 ); - renderer.setUvRotateSouth( 3 ); - renderer.setUvRotateEast( 3 ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstIcon, firstIcon, firstOffset, firstOffset, firstOffset, firstOffset ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondIcon, secondIcon, secondOffset, secondOffset, secondOffset, secondOffset ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - break; - case EAST: - case WEST: - rh.setTexture( off, off, off, off, def, def ); - renderer.setUvRotateEast( 2 ); - renderer.setUvRotateWest( 1 ); - renderer.setUvRotateBottom( 2 ); - renderer.setUvRotateTop( 1 ); - renderer.setUvRotateSouth( 0 ); - renderer.setUvRotateNorth( 0 ); - - final AEBaseBlock blk = (AEBaseBlock) rh.getBlock(); - final FlippableIcon ico = blk.getRendererInstance().getTexture( AEPartLocation.EAST ); - ico.setFlip( false, true ); - - renderer.setRenderBounds( 0, 3 / 16.0, 3 / 16.0, 16 / 16.0, 13 / 16.0, 13 / 16.0 ); - rh.renderBlockCurrentBounds( pos, renderer ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - - final FlippableIcon fpA = new FlippableIcon( firstIcon ); - final FlippableIcon fpB = new FlippableIcon( secondIcon ); - - fpA.setFlip( true, false ); - fpB.setFlip( true, false ); - - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstOffset, firstOffset, firstOffset, firstOffset, firstIcon, fpA ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondOffset, secondOffset, secondOffset, secondOffset, secondIcon, fpB ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - break; - case NORTH: - case SOUTH: - rh.setTexture( off, off, def, def, off, off ); - renderer.setUvRotateTop( 3 ); - renderer.setUvRotateBottom( 3 ); - renderer.setUvRotateNorth( 1 ); - renderer.setUvRotateSouth( 2 ); - renderer.setUvRotateWest( 1 ); - renderer.setRenderBounds( 3 / 16.0, 3 / 16.0, 0, 13 / 16.0, 13 / 16.0, 16 / 16.0 ); - rh.renderBlockCurrentBounds( pos, renderer ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - - renderer.setColorOpaque_I( this.getCableColor().blackVariant ); - rh.setTexture( firstOffset, firstOffset, firstIcon, firstIcon, firstOffset, firstOffset ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( this.getCableColor().whiteVariant ); - rh.setTexture( secondOffset, secondOffset, secondIcon, secondIcon, secondOffset, secondOffset ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - break; - default: - break; - } - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - rh.setTexture( null ); - } - - @SideOnly( Side.CLIENT ) - public void renderDenseConnection( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer, final int channels, final AEPartLocation of ) - { - final TileEntity te = this.getTile().getWorld().getTileEntity( pos.offset( of.getFacing() ) ); - final IPartHost partHost = te instanceof IPartHost ? (IPartHost) te : null; - final IGridHost ghh = te instanceof IGridHost ? (IGridHost) te : null; - AEColor myColor = this.getCableColor(); - /* - * ( ghh != null && partHost != null && ghh.getCableConnectionType( of ) == AECableType.GLASS && - * partHost.getPart( - * of.getOpposite() ) == null ) { isGlass = true; rh.setTexture( getGlassTexture( myColor = partHost.getColor() - * ) ); - * } else if ( partHost == null && ghh != null && ghh.getCableConnectionType( of ) != AECableType.GLASS ) { - * rh.setTexture( getSmartTexture( myColor ) ); switch (of) { case DOWN: rh.setBounds( 3, 0, 3, 13, 4, 13 ); - * break; case EAST: rh.setBounds( 12, 3, 3, 16, 13, 13 ); break; case NORTH: rh.setBounds( 3, 3, 0, 13, 13, 4 - * ); break; case SOUTH: rh.setBounds( 3, 3, 12, 13, 13, 16 ); break; case UP: rh.setBounds( 3, 12, 3, 13, 16, - * 13 ); break; case WEST: rh.setBounds( 0, 3, 3, 4, 13, 13 ); break; default: return; } rh.renderBlock( x, y, - * z, renderer ); - * if ( true ) { setSmartConnectionRotations( of, renderer ); TextureAtlasSprite firstIcon = new TaughtIcon( - * getChannelTex( - * channels, false ).getIcon(), -0.2f ); TextureAtlasSprite secondIcon = new TaughtIcon( getChannelTex( - * channels, true ).getIcon(), - * -0.2f ); - * if ( of == AEPartLocation.EAST || of == AEPartLocation.WEST ) { AEBaseBlock blk = (AEBaseBlock) - * rh.getBlock(); FlippableIcon ico = blk.getRendererInstance().getTexture( AEPartLocation.EAST ); ico.setFlip( - * false, true ); } - * Tessellator.INSTANCE.setBrightness( 15 << 20 | 15 << 5 ); Tessellator.INSTANCE.setColorOpaque_I( - * myColor.mediumVariant ); rh.setTexture( firstIcon, firstIcon, firstIcon, firstIcon, firstIcon, firstIcon ); - * renderAllFaces( (AEBaseBlock) - * rh.getBlock(), x, y, z, renderer ); - * Tessellator.INSTANCE.setColorOpaque_I( myColor.whiteVariant ); rh.setTexture( secondIcon, secondIcon, - * secondIcon, secondIcon, secondIcon, - * secondIcon ); renderAllFaces( (AEBaseBlock) rh.getBlock(), x, y, z, renderer ); - * renderer.uvRotateBottom = renderer.uvRotateEast = renderer.uvRotateNorth = renderer.uvRotateSouth = - * renderer.uvRotateTop = renderer.uvRotateWest = 0; } - * rh.setTexture( getTexture( getCableColor() ) ); } - */ - - rh.setFacesToRender( EnumSet.complementOf( EnumSet.of( of.getFacing(), of.getFacing().getOpposite() ) ) ); - if( ghh != null && partHost != null && ghh.getCableConnectionType( of ) != AECableType.GLASS && partHost.getColor() != AEColor.Transparent && partHost.getPart( of.getOpposite() ) == null ) - { - rh.setTexture( this.getTexture( myColor = partHost.getColor(), renderer ) ); - } - else - { - rh.setTexture( this.getTexture( this.getCableColor(), renderer ) ); - } - - switch( of ) - { - case DOWN: - rh.setBounds( 4, 0, 4, 12, 5, 12 ); - break; - case EAST: - rh.setBounds( 11, 4, 4, 16, 12, 12 ); - break; - case NORTH: - rh.setBounds( 4, 4, 0, 12, 12, 5 ); - break; - case SOUTH: - rh.setBounds( 4, 4, 11, 12, 12, 16 ); - break; - case UP: - rh.setBounds( 4, 11, 4, 12, 16, 12 ); - break; - case WEST: - rh.setBounds( 0, 4, 4, 5, 12, 12 ); - break; - default: - return; - } - - rh.renderBlock( pos, renderer ); - - rh.setFacesToRender( EnumSet.allOf( EnumFacing.class ) ); - final boolean isGlass = false; - if( !isGlass ) - { - this.setSmartConnectionRotations( of, renderer ); - - final IAESprite firstIcon = new TaughtIcon( this.getChannelTex( channels, false ).getIcon(), -0.2f ); - final IAESprite secondIcon = new TaughtIcon( this.getChannelTex( channels, true ).getIcon(), -0.2f ); - - renderer.setBrightness( 15 << 20 | 15 << 4 ); - renderer.setColorOpaque_I( myColor.blackVariant ); - rh.setTexture( firstIcon, firstIcon, firstIcon, firstIcon, firstIcon, firstIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setColorOpaque_I( myColor.whiteVariant ); - rh.setTexture( secondIcon, secondIcon, secondIcon, secondIcon, secondIcon, secondIcon ); - this.renderAllFaces( (AEBaseBlock) rh.getBlock(), pos, rh, renderer ); - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - } - } - private boolean isSmart( final AEPartLocation of ) { final TileEntity te = this.getTile().getWorld().getTileEntity( this.getTile().getPos().offset( of.getFacing() ) ); @@ -465,48 +146,6 @@ public class PartDenseCable extends PartCable return false; } - private IAESprite getDenseTexture( final AEColor c, final ModelGenerator renderer ) - { - switch( c ) - { - case Black: - return CableBusTextures.MEDense_Black.getIcon(); - case Blue: - return CableBusTextures.MEDense_Blue.getIcon(); - case Brown: - return CableBusTextures.MEDense_Brown.getIcon(); - case Cyan: - return CableBusTextures.MEDense_Cyan.getIcon(); - case Gray: - return CableBusTextures.MEDense_Gray.getIcon(); - case Green: - return CableBusTextures.MEDense_Green.getIcon(); - case LightBlue: - return CableBusTextures.MEDense_LightBlue.getIcon(); - case LightGray: - return CableBusTextures.MEDense_LightGrey.getIcon(); - case Lime: - return CableBusTextures.MEDense_Lime.getIcon(); - case Magenta: - return CableBusTextures.MEDense_Magenta.getIcon(); - case Orange: - return CableBusTextures.MEDense_Orange.getIcon(); - case Pink: - return CableBusTextures.MEDense_Pink.getIcon(); - case Purple: - return CableBusTextures.MEDense_Purple.getIcon(); - case Red: - return CableBusTextures.MEDense_Red.getIcon(); - case White: - return CableBusTextures.MEDense_White.getIcon(); - case Yellow: - return CableBusTextures.MEDense_Yellow.getIcon(); - default: - } - - return renderer.getIcon( this.getItemStack() ); - } - private boolean isDense( final AEPartLocation of ) { final TileEntity te = this.getTile().getWorld().getTileEntity( this.getTile().getPos().offset( of.getFacing() ) ); diff --git a/src/main/java/appeng/parts/networking/PartQuartzFiber.java b/src/main/java/appeng/parts/networking/PartQuartzFiber.java index 6f83bb80c..be471a204 100644 --- a/src/main/java/appeng/parts/networking/PartQuartzFiber.java +++ b/src/main/java/appeng/parts/networking/PartQuartzFiber.java @@ -22,16 +22,11 @@ package appeng.parts.networking; import java.util.EnumSet; import java.util.Set; -import org.lwjgl.opengl.GL11; - import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.tileentity.TileEntity; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; import appeng.api.config.Actionable; import appeng.api.networking.GridFlags; @@ -40,11 +35,8 @@ import appeng.api.networking.energy.IEnergyGrid; import appeng.api.networking.energy.IEnergyGridProvider; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AECableType; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; import appeng.me.GridAccessException; import appeng.me.helpers.AENetworkProxy; import appeng.parts.AEBasePart; @@ -76,29 +68,6 @@ public class PartQuartzFiber extends AEBasePart implements IEnergyGridProvider bch.addBox( 6, 6, 10, 10, 10, 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - GL11.glTranslated( -0.2, -0.3, 0.0 ); - - rh.setTexture( renderer.getIcon( this.getItemStack() ) ); - rh.setBounds( 6.0f, 6.0f, 5.0f, 10.0f, 10.0f, 11.0f ); - rh.renderInventoryBox( renderer ); - rh.setTexture( null ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - final IAESprite myIcon = renderer.getIcon( this.getItemStack() ); - rh.setTexture( myIcon ); - rh.setBounds( 6, 6, 10, 10, 10, 16 ); - rh.renderBlock( pos, renderer ); - rh.setTexture( null ); - } - @Override public void readFromNBT( final NBTTagCompound extra ) { diff --git a/src/main/java/appeng/parts/p2p/PartP2PTunnel.java b/src/main/java/appeng/parts/p2p/PartP2PTunnel.java index f6b07fbc1..8fb07d56f 100644 --- a/src/main/java/appeng/parts/p2p/PartP2PTunnel.java +++ b/src/main/java/appeng/parts/p2p/PartP2PTunnel.java @@ -24,14 +24,11 @@ import java.util.Collection; import com.google.common.base.Optional; -import net.minecraft.block.Block; import net.minecraft.client.renderer.texture.TextureAtlasSprite; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.EnumHand; -import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; @@ -47,12 +44,8 @@ import appeng.api.implementations.items.MemoryCardMessages; import appeng.api.parts.IPart; import appeng.api.parts.IPartCollisionHelper; import appeng.api.parts.IPartItem; -import appeng.api.parts.IPartRenderHelper; import appeng.api.parts.PartItemStack; import appeng.api.util.AEPartLocation; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; import appeng.core.AEConfig; import appeng.me.GridAccessException; import appeng.me.cache.P2PCache; @@ -122,66 +115,6 @@ public abstract class PartP2PTunnel extends PartBasicSt bch.addBox( 2, 2, 14, 14, 14, 16 ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( this.getTypeTexture( renderer ) ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderInventoryBox( renderer ); - - rh.setTexture( CableBusTextures.PartTunnelSides.getIcon(), CableBusTextures.PartTunnelSides.getIcon(), CableBusTextures.BlockP2PTunnel2.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartTunnelSides.getIcon(), CableBusTextures.PartTunnelSides.getIcon() ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderInventoryBox( renderer ); - } - - /** - * @param renderer - * @return If enabled it returns the icon of an AE quartz block, else vanilla quartz block icon - */ - protected IAESprite getTypeTexture( final ModelGenerator renderer ) - { - final Optional maybeBlock = AEApi.instance().definitions().blocks().quartz().maybeBlock(); - if( maybeBlock.isPresent() ) - { - return renderer.getIcon( new ItemStack( maybeBlock.get() ) ); - } - else - { - return renderer.getIcon( new ItemStack( Blocks.QUARTZ_BLOCK ) ); - } - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setTexture( this.getTypeTexture( renderer ) ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.PartTunnelSides.getIcon(), CableBusTextures.PartTunnelSides.getIcon(), CableBusTextures.BlockP2PTunnel2.getIcon(), renderer.getIcon( this.getItemStack() ), CableBusTextures.PartTunnelSides.getIcon(), CableBusTextures.PartTunnelSides.getIcon() ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 3, 3, 13, 13, 13, 14 ); - rh.renderBlock( pos, renderer ); - - rh.setTexture( CableBusTextures.BlockP2PTunnel3.getIcon() ); - - rh.setBounds( 6, 5, 12, 10, 11, 13 ); - rh.renderBlock( pos, renderer ); - - rh.setBounds( 5, 6, 12, 11, 10, 13 ); - rh.renderBlock( pos, renderer ); - - this.renderLights( pos, rh, renderer ); - } - @Override public ItemStack getItemStack( final PartItemStack type ) { @@ -445,13 +378,6 @@ public abstract class PartP2PTunnel extends PartBasicSt } - @Override - @SideOnly( Side.CLIENT ) - public TextureAtlasSprite getBreakingTexture( final ModelGenerator renderer ) - { - return CableBusTextures.BlockP2PTunnel2.getIcon().getAtlas(); - } - protected void queueTunnelDrain( final PowerUnits unit, final double f ) { final double ae_to_tax = unit.convertTo( PowerUnits.AE, f * AEConfig.TUNNEL_POWER_LOSS ); diff --git a/src/main/java/appeng/parts/reporting/AbstractPartDisplay.java b/src/main/java/appeng/parts/reporting/AbstractPartDisplay.java index df254054f..bf9b17f43 100644 --- a/src/main/java/appeng/parts/reporting/AbstractPartDisplay.java +++ b/src/main/java/appeng/parts/reporting/AbstractPartDisplay.java @@ -20,15 +20,6 @@ package appeng.parts.reporting; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; - -import appeng.api.parts.IPartRenderHelper; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; /** @@ -50,98 +41,6 @@ public abstract class AbstractPartDisplay extends AbstractPartReporting super( is, true ); } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - - final IAESprite sideTexture = CableBusTextures.PartMonitorSides.getIcon(); - final IAESprite backTexture = CableBusTextures.PartMonitorBack.getIcon(); - - rh.setTexture( sideTexture, sideTexture, backTexture, renderer.getIcon( this.getItemStack() ), sideTexture, sideTexture ); - rh.renderInventoryBox( renderer ); - - rh.setInvColor( this.getColor().whiteVariant ); - rh.renderInventoryFace( this.getFrontBright().getIcon(), EnumFacing.SOUTH, renderer ); - - rh.setInvColor( this.getColor().mediumVariant ); - rh.renderInventoryFace( this.getFrontDark().getIcon(), EnumFacing.SOUTH, renderer ); - - rh.setInvColor( this.getColor().blackVariant ); - rh.renderInventoryFace( this.getFrontColored().getIcon(), EnumFacing.SOUTH, renderer ); - - rh.setBounds( 4, 4, 13, 12, 12, 14 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - final IAESprite sideTexture = CableBusTextures.PartMonitorSides.getIcon(); - final IAESprite backTexture = CableBusTextures.PartMonitorBack.getIcon(); - - rh.setTexture( sideTexture, sideTexture, backTexture, renderer.getIcon( this.getItemStack() ), sideTexture, sideTexture ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderBlock( pos, renderer ); - - if( this.getLightLevel() > 0 ) - { - final int l = 13; - renderer.setBrightness( l << 20 | l << 4 ); - } - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( this.getSpin() ) ) ) ) ) ); - - renderer.setColorOpaque_I( this.getColor().whiteVariant ); - rh.renderFace( pos, this.getFrontBright().getIcon(), EnumFacing.SOUTH, renderer ); - - renderer.setColorOpaque_I( this.getColor().mediumVariant ); - rh.renderFace( pos, this.getFrontDark().getIcon(), EnumFacing.SOUTH, renderer ); - - renderer.setColorOpaque_I( this.getColor().blackVariant ); - rh.renderFace( pos, this.getFrontColored().getIcon(), EnumFacing.SOUTH, renderer ); - - renderer.setUvRotateBottom( renderer.setUvRotateEast( renderer.setUvRotateNorth( renderer.setUvRotateSouth( renderer.setUvRotateTop( renderer.setUvRotateWest( 0 ) ) ) ) ) ); - - final IAESprite sideStatusTexture = CableBusTextures.PartMonitorSidesStatus.getIcon(); - - rh.setTexture( sideStatusTexture, sideStatusTexture, backTexture, renderer.getIcon( this.getItemStack() ), sideStatusTexture, sideStatusTexture ); - - rh.setBounds( 4, 4, 13, 12, 12, 14 ); - rh.renderBlock( pos, renderer ); - - final boolean hasChan = ( this.getClientFlags() & ( PartPanel.POWERED_FLAG | PartPanel.CHANNEL_FLAG ) ) == ( PartPanel.POWERED_FLAG | PartPanel.CHANNEL_FLAG ); - final boolean hasPower = ( this.getClientFlags() & PartPanel.POWERED_FLAG ) == PartPanel.POWERED_FLAG; - - if( hasChan ) - { - final int l = 14; - renderer.setBrightness( l << 20 | l << 4 ); - renderer.setColorOpaque_I( this.getColor().blackVariant ); - } - else if( hasPower ) - { - final int l = 9; - renderer.setBrightness( l << 20 | l << 4 ); - renderer.setColorOpaque_I( this.getColor().whiteVariant ); - } - else - { - renderer.setBrightness( 0 ); - renderer.setColorOpaque_I( 0x000000 ); - } - - final IAESprite sideStatusLightTexture = CableBusTextures.PartMonitorSidesStatusLights.getIcon(); - - rh.renderFace( pos, sideStatusLightTexture, EnumFacing.EAST, renderer ); - rh.renderFace( pos, sideStatusLightTexture, EnumFacing.WEST, renderer ); - rh.renderFace( pos, sideStatusLightTexture, EnumFacing.UP, renderer ); - rh.renderFace( pos, sideStatusLightTexture, EnumFacing.DOWN, renderer ); - } - @Override public boolean isLightSource() { diff --git a/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java b/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java index bdca4d407..ae846c43e 100644 --- a/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java +++ b/src/main/java/appeng/parts/reporting/AbstractPartMonitor.java @@ -30,7 +30,6 @@ import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.GLAllocation; import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.VertexBuffer; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.item.ItemStack; @@ -46,14 +45,12 @@ import appeng.api.implementations.parts.IPartStorageMonitor; import appeng.api.networking.security.BaseActionSource; import appeng.api.networking.storage.IStackWatcher; import appeng.api.networking.storage.IStackWatcherHost; -import appeng.api.parts.IPartRenderHelper; import appeng.api.storage.IMEMonitor; import appeng.api.storage.StorageChannel; import appeng.api.storage.data.IAEItemStack; import appeng.api.storage.data.IAEStack; import appeng.api.storage.data.IItemList; import appeng.api.util.AEPartLocation; -import appeng.api.util.ModelGenerator; import appeng.client.ClientHelper; import appeng.core.AELog; import appeng.core.localization.PlayerMessages; @@ -259,46 +256,6 @@ public abstract class AbstractPartMonitor extends AbstractPartDisplay implements } } - @Override - @SideOnly( Side.CLIENT ) - public void renderDynamic( final double x, final double y, final double z, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - if( this.dspList == null ) - { - this.dspList = GLAllocation.generateDisplayLists( 1 ); - } - - final Tessellator tess = Tessellator.getInstance(); - final VertexBuffer wr = tess.getBuffer(); - - if( ( this.getClientFlags() & ( PartPanel.POWERED_FLAG | PartPanel.CHANNEL_FLAG ) ) != ( PartPanel.POWERED_FLAG | PartPanel.CHANNEL_FLAG ) ) - { - return; - } - - final IAEItemStack ais = (IAEItemStack) this.getDisplayed(); - - if( ais != null ) - { - GL11.glPushMatrix(); - GL11.glTranslated( x + 0.5, y + 0.5, z + 0.5 ); - - if( this.updateList ) - { - this.updateList = false; - GL11.glNewList( this.dspList, GL11.GL_COMPILE_AND_EXECUTE ); - this.tesrRenderScreen( wr, ais ); - GL11.glEndList(); - } - else - { - GL11.glCallList( this.dspList ); - } - - GL11.glPopMatrix(); - } - } - @Override public boolean requireDynamicRender() { diff --git a/src/main/java/appeng/parts/reporting/AbstractPartPanel.java b/src/main/java/appeng/parts/reporting/AbstractPartPanel.java index 499a6f9b9..9cb1887e8 100644 --- a/src/main/java/appeng/parts/reporting/AbstractPartPanel.java +++ b/src/main/java/appeng/parts/reporting/AbstractPartPanel.java @@ -20,16 +20,8 @@ package appeng.parts.reporting; import net.minecraft.item.ItemStack; -import net.minecraft.util.EnumFacing; -import net.minecraft.util.math.BlockPos; -import net.minecraftforge.fml.relauncher.Side; -import net.minecraftforge.fml.relauncher.SideOnly; -import appeng.api.parts.IPartRenderHelper; import appeng.api.util.AEColor; -import appeng.api.util.IAESprite; -import appeng.api.util.ModelGenerator; -import appeng.client.texture.CableBusTextures; /** @@ -44,83 +36,17 @@ import appeng.client.texture.CableBusTextures; */ public abstract class AbstractPartPanel extends AbstractPartReporting { - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartMonitor_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartMonitor_Colored; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartMonitor_Colored; - public AbstractPartPanel( final ItemStack is ) { super( is, false ); } - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return FRONT_DARK_ICON; - } - @Override public boolean isLightSource() { return true; } - @Override - @SideOnly( Side.CLIENT ) - public void renderInventory( final IPartRenderHelper rh, final ModelGenerator renderer ) - { - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - - final IAESprite sideTexture = CableBusTextures.PartMonitorSides.getIcon(); - final IAESprite backTexture = CableBusTextures.PartMonitorBack.getIcon(); - - rh.setTexture( sideTexture, sideTexture, backTexture, renderer.getIcon( this.getItemStack() ), sideTexture, sideTexture ); - rh.renderInventoryBox( renderer ); - - rh.setInvColor( this.getBrightnessColor() ); - rh.renderInventoryFace( this.getFrontBright().getIcon(), EnumFacing.SOUTH, renderer ); - - rh.setBounds( 4, 4, 13, 12, 12, 14 ); - rh.renderInventoryBox( renderer ); - } - - @Override - @SideOnly( Side.CLIENT ) - public void renderStatic( final BlockPos pos, final IPartRenderHelper rh, final ModelGenerator renderer ) - { - final IAESprite sideTexture = CableBusTextures.PartMonitorSides.getIcon(); - final IAESprite backTexture = CableBusTextures.PartMonitorBack.getIcon(); - - rh.setTexture( sideTexture, sideTexture, backTexture, renderer.getIcon( this.getItemStack() ), sideTexture, sideTexture ); - - rh.setBounds( 2, 2, 14, 14, 14, 16 ); - rh.renderBlock( pos, renderer ); - - if( this.getLightLevel() > 0 ) - { - final int l = 13; - renderer.setBrightness( l << 20 | l << 4 ); - } - - renderer.setColorOpaque_I( this.getBrightnessColor() ); - rh.renderFace( pos, this.getFrontBright().getIcon(), EnumFacing.SOUTH, renderer ); - - rh.setBounds( 4, 4, 13, 12, 12, 14 ); - rh.renderBlock( pos, renderer ); - } - /** * How bright the color the panel should appear. Usually it depends on a {@link AEColor} variant. * This does not affect the actual light level of the part. diff --git a/src/main/java/appeng/parts/reporting/AbstractPartReporting.java b/src/main/java/appeng/parts/reporting/AbstractPartReporting.java index b005844da..4f1829f07 100644 --- a/src/main/java/appeng/parts/reporting/AbstractPartReporting.java +++ b/src/main/java/appeng/parts/reporting/AbstractPartReporting.java @@ -39,7 +39,6 @@ import appeng.api.networking.events.MENetworkEventSubscribe; import appeng.api.networking.events.MENetworkPowerStatusChange; import appeng.api.parts.IPartCollisionHelper; import appeng.api.util.AEPartLocation; -import appeng.client.texture.CableBusTextures; import appeng.me.GridAccessException; import appeng.parts.AEBasePart; import appeng.util.Platform; @@ -300,27 +299,6 @@ public abstract class AbstractPartReporting extends AEBasePart implements IPartM return this.spin; } - /** - * The texture used for the bright front layer. - * - * The final texture can overlap any of the the texture in no particular order. - */ - public abstract CableBusTextures getFrontBright(); - - /** - * The texture used for the colored (medium) front layer. - * - * The final texture can overlap any of the the texture in no particular order. - */ - public abstract CableBusTextures getFrontColored(); - - /** - * The texture used for the dark front layer. - * - * The final texture can overlap any of the the texture in no particular order. - */ - public abstract CableBusTextures getFrontDark(); - /** * Should the part emit light. This actually only affects the light level, light source use a level of 15 and non * light source 9. diff --git a/src/main/java/appeng/parts/reporting/PartConversionMonitor.java b/src/main/java/appeng/parts/reporting/PartConversionMonitor.java index bbf5b8ba1..f89b5d627 100644 --- a/src/main/java/appeng/parts/reporting/PartConversionMonitor.java +++ b/src/main/java/appeng/parts/reporting/PartConversionMonitor.java @@ -33,7 +33,6 @@ import appeng.api.networking.energy.IEnergySource; import appeng.api.networking.security.PlayerSource; import appeng.api.storage.IMEMonitor; import appeng.api.storage.data.IAEItemStack; -import appeng.client.texture.CableBusTextures; import appeng.helpers.Reflected; import appeng.me.GridAccessException; import appeng.util.InventoryAdaptor; @@ -43,11 +42,6 @@ import appeng.util.item.AEItemStack; public class PartConversionMonitor extends AbstractPartMonitor { - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartConversionMonitor_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartConversionMonitor_Dark; - private static final CableBusTextures FRONT_DARK_ICON_LOCKED = CableBusTextures.PartConversionMonitor_Dark_Locked; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartConversionMonitor_Colored; - @Reflected public PartConversionMonitor( final ItemStack is ) { @@ -166,22 +160,4 @@ public class PartConversionMonitor extends AbstractPartMonitor } } } - - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return this.isLocked() ? FRONT_DARK_ICON_LOCKED : FRONT_DARK_ICON; - } } diff --git a/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java b/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java index 59b387d29..9ba778f70 100644 --- a/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java +++ b/src/main/java/appeng/parts/reporting/PartCraftingTerminal.java @@ -26,7 +26,6 @@ import net.minecraft.inventory.IInventory; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; -import appeng.client.texture.CableBusTextures; import appeng.core.sync.GuiBridge; import appeng.helpers.Reflected; import appeng.tile.inventory.AppEngInternalInventory; @@ -34,10 +33,6 @@ import appeng.tile.inventory.AppEngInternalInventory; public class PartCraftingTerminal extends AbstractPartTerminal { - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartCraftingTerm_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartCraftingTerm_Dark; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartCraftingTerm_Colored; - private final AppEngInternalInventory craftingGrid = new AppEngInternalInventory( this, 9 ); @Reflected @@ -103,22 +98,4 @@ public class PartCraftingTerminal extends AbstractPartTerminal } return super.getInventoryByName( name ); } - - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return FRONT_DARK_ICON; - } } diff --git a/src/main/java/appeng/parts/reporting/PartInterfaceTerminal.java b/src/main/java/appeng/parts/reporting/PartInterfaceTerminal.java index d62a07a36..e7786372d 100644 --- a/src/main/java/appeng/parts/reporting/PartInterfaceTerminal.java +++ b/src/main/java/appeng/parts/reporting/PartInterfaceTerminal.java @@ -24,17 +24,12 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.EnumHand; import net.minecraft.util.math.Vec3d; -import appeng.client.texture.CableBusTextures; import appeng.core.sync.GuiBridge; import appeng.util.Platform; public class PartInterfaceTerminal extends AbstractPartDisplay { - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartInterfaceTerm_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartInterfaceTerm_Dark; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartInterfaceTerm_Colored; - public PartInterfaceTerminal( final ItemStack is ) { super( is ); @@ -60,22 +55,4 @@ public class PartInterfaceTerminal extends AbstractPartDisplay return false; } - - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return FRONT_DARK_ICON; - } } diff --git a/src/main/java/appeng/parts/reporting/PartPatternTerminal.java b/src/main/java/appeng/parts/reporting/PartPatternTerminal.java index d4fd5b5ce..9a97def45 100644 --- a/src/main/java/appeng/parts/reporting/PartPatternTerminal.java +++ b/src/main/java/appeng/parts/reporting/PartPatternTerminal.java @@ -29,7 +29,6 @@ import net.minecraft.nbt.NBTTagCompound; import appeng.api.implementations.ICraftingPatternItem; import appeng.api.networking.crafting.ICraftingPatternDetails; import appeng.api.storage.data.IAEItemStack; -import appeng.client.texture.CableBusTextures; import appeng.core.sync.GuiBridge; import appeng.helpers.Reflected; import appeng.tile.inventory.AppEngInternalInventory; @@ -38,10 +37,6 @@ import appeng.tile.inventory.InvOperation; public class PartPatternTerminal extends AbstractPartTerminal { - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartPatternTerm_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartPatternTerm_Dark; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartPatternTerm_Colored; - private final AppEngInternalInventory crafting = new AppEngInternalInventory( this, 9 ); private final AppEngInternalInventory output = new AppEngInternalInventory( this, 3 ); private final AppEngInternalInventory pattern = new AppEngInternalInventory( this, 2 ); @@ -202,22 +197,4 @@ public class PartPatternTerminal extends AbstractPartTerminal return super.getInventoryByName( name ); } - - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return FRONT_DARK_ICON; - } } diff --git a/src/main/java/appeng/parts/reporting/PartStorageMonitor.java b/src/main/java/appeng/parts/reporting/PartStorageMonitor.java index c7596c8b6..4bdcf4086 100644 --- a/src/main/java/appeng/parts/reporting/PartStorageMonitor.java +++ b/src/main/java/appeng/parts/reporting/PartStorageMonitor.java @@ -21,7 +21,6 @@ package appeng.parts.reporting; import net.minecraft.item.ItemStack; -import appeng.client.texture.CableBusTextures; import appeng.helpers.Reflected; @@ -33,32 +32,10 @@ import appeng.helpers.Reflected; */ public class PartStorageMonitor extends AbstractPartMonitor { - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartStorageMonitor_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartStorageMonitor_Dark; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartStorageMonitor_Colored; - private static final CableBusTextures FRONT_COLORED_ICON_LOCKED = CableBusTextures.PartStorageMonitor_Colored_Locked; @Reflected public PartStorageMonitor( final ItemStack is ) { super( is ); } - - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return this.isLocked() ? FRONT_COLORED_ICON_LOCKED : FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return FRONT_DARK_ICON; - } } diff --git a/src/main/java/appeng/parts/reporting/PartTerminal.java b/src/main/java/appeng/parts/reporting/PartTerminal.java index a12f39a74..83775b522 100644 --- a/src/main/java/appeng/parts/reporting/PartTerminal.java +++ b/src/main/java/appeng/parts/reporting/PartTerminal.java @@ -21,8 +21,6 @@ package appeng.parts.reporting; import net.minecraft.item.ItemStack; -import appeng.client.texture.CableBusTextures; - public class PartTerminal extends AbstractPartTerminal { @@ -31,26 +29,4 @@ public class PartTerminal extends AbstractPartTerminal { super( is ); } - - private static final CableBusTextures FRONT_BRIGHT_ICON = CableBusTextures.PartTerminal_Bright; - private static final CableBusTextures FRONT_DARK_ICON = CableBusTextures.PartTerminal_Dark; - private static final CableBusTextures FRONT_COLORED_ICON = CableBusTextures.PartTerminal_Colored; - - @Override - public CableBusTextures getFrontBright() - { - return FRONT_BRIGHT_ICON; - } - - @Override - public CableBusTextures getFrontColored() - { - return FRONT_COLORED_ICON; - } - - @Override - public CableBusTextures getFrontDark() - { - return FRONT_DARK_ICON; - } } diff --git a/src/main/java/appeng/server/ServerHelper.java b/src/main/java/appeng/server/ServerHelper.java index 9c23b0166..ff419faf0 100644 --- a/src/main/java/appeng/server/ServerHelper.java +++ b/src/main/java/appeng/server/ServerHelper.java @@ -175,19 +175,6 @@ public class ServerHelper extends CommonHelper throw new IllegalStateException( "Unable to Load Core Mod, please verify that AE2 is properly install in the mods folder, with a .jar extension." ); } - @Override - public void configureIcon( final Object item, final String name ) - { - - } - - @Override - public ResourceLocation addIcon( final String string ) - { - // TODO Auto-generated method stub - return null; - } - protected CableRenderMode renderModeForPlayer( final EntityPlayer player ) { if( player != null )