Make the project buildable with gradlew build by externalizing the model generator and expose it as an interface

This commit is contained in:
thatsIch
2016-02-16 21:06:59 +01:00
parent 8383715892
commit aff3941729
89 changed files with 307 additions and 143 deletions
@@ -33,7 +33,7 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import appeng.api.util.AEPartLocation;
import appeng.client.render.ModelGenerator;
import appeng.api.util.ModelGenerator;
/**
+2 -4
View File
@@ -45,7 +45,7 @@ import net.minecraftforge.fml.relauncher.SideOnly;
import appeng.api.networking.IGridNode;
import appeng.api.util.AEPartLocation;
import appeng.client.render.ModelGenerator;
import appeng.api.util.ModelGenerator;
public interface IPart extends IBoxProvider
@@ -81,9 +81,7 @@ public interface IPart extends IBoxProvider
*
* GL is NOT Available
*
* @param x x coord
* @param y y coord
* @param z z coord
* @param pos pos of block
* @param rh helper
* @param renderer renderer
*/
@@ -32,13 +32,12 @@ import net.minecraft.util.EnumFacing;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import appeng.client.render.ModelGenerator;
import appeng.client.texture.IAESprite;
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.
*
@@ -85,9 +84,7 @@ public interface IPartRenderHelper
*
* render a block of specified bounds.
*
* @param x x pos of block
* @param y y pos of block
* @param z z pos of block
* @param pos pos of block
* @param renderer renderer
*/
@SideOnly( Side.CLIENT )
@@ -96,7 +93,7 @@ public interface IPartRenderHelper
/**
* render a single face in inventory renderer.
*
* @param TextureAtlasSprite icon of part
* @param IIcon icon of part
* @param direction face of part
* @param renderer renderer
*/
@@ -164,9 +161,7 @@ public interface IPartRenderHelper
/**
* render a block using the current renderer state.
*
* @param x x pos of part
* @param y y pos of part
* @param z z pos of part
* @param pos pos of part
* @param renderer renderer of part
*/
void renderBlockCurrentBounds( BlockPos pos, ModelGenerator renderer );
@@ -30,7 +30,7 @@ import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import appeng.api.implementations.tiles.IChestOrDrive;
import appeng.client.texture.IAESprite;
import appeng.api.util.IAESprite;
/**
@@ -0,0 +1,31 @@
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();
}
@@ -0,0 +1,118 @@
package appeng.api.util;
import java.util.EnumSet;
import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState;
import net.minecraft.client.resources.model.IBakedModel;
import net.minecraft.item.ItemStack;
import net.minecraft.util.BlockPos;
import net.minecraft.util.EnumFacing;
import net.minecraft.world.IBlockAccess;
/**
* TODO replace with description
*
* TODO replace with intention
*
* @author thatsIch
* @version rv3 - 16.02.2016
* @see //TODO anything to see?
* @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( Block block );
void setRenderBounds( double v, double v1, double v2, double v3, double v4, double v5 );
boolean renderStandardBlock( Block block, BlockPos pos );
void setRenderFaces( EnumSet<EnumFacing> 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();
}