1.15 port

This commit is contained in:
yueh
2020-05-18 14:02:45 +02:00
parent 0ea86c939c
commit 16d6d55d7f
630 changed files with 4211 additions and 12664 deletions
@@ -21,7 +21,7 @@ package appeng.client.render.tesr;
import org.lwjgl.opengl.GL11;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder;
@@ -32,8 +32,8 @@ import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import appeng.client.render.FacingToRotation;
import appeng.tile.grindstone.TileCrank;
@@ -43,7 +43,7 @@ import appeng.tile.grindstone.TileCrank;
* This FastTESR only handles the animated model of the turning crank. When the crank is at rest, it is rendered using a
* normal model.
*/
@SideOnly( Side.CLIENT )
@OnlyIn( Dist.CLIENT )
public class CrankTESR extends TileEntitySpecialRenderer<TileCrank>
{
@@ -67,9 +67,9 @@ public class CrankTESR extends TileEntitySpecialRenderer<TileCrank>
GlStateManager.shadeModel( GL11.GL_FLAT );
}
IBlockState blockState = te.getWorld().getBlockState( te.getPos() );
BlockState blockState = te.getWorld().getBlockState( te.getPos() );
BlockRendererDispatcher dispatcher = Minecraft.getMinecraft().getBlockRendererDispatcher();
BlockRendererDispatcher dispatcher = Minecraft.getInstance().getBlockRendererDispatcher();
IBakedModel model = dispatcher.getModelForState( blockState );
BufferBuilder buffer = tessellator.getBuffer();
@@ -14,7 +14,7 @@ import net.minecraft.client.renderer.texture.TextureAtlasSprite;
import net.minecraft.client.renderer.texture.TextureMap;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.client.renderer.vertex.DefaultVertexFormats;
import net.minecraft.item.ItemBlock;
import net.minecraft.item.BlockItem;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.client.event.TextureStitchEvent;
@@ -56,7 +56,7 @@ public final class InscriberTESR extends TileEntitySpecialRenderer<TileInscriber
// render sides of stamps
Minecraft mc = Minecraft.getMinecraft();
Minecraft mc = Minecraft.getInstance();
mc.renderEngine.bindTexture( TextureMap.LOCATION_BLOCKS_TEXTURE );
// << 20 | light << 4;
@@ -187,12 +187,12 @@ public final class InscriberTESR extends TileEntitySpecialRenderer<TileInscriber
GlStateManager.scale( ITEM_RENDER_SCALE, ITEM_RENDER_SCALE, ITEM_RENDER_SCALE );
// heuristic to scale items down much further than blocks
if( !( sis.getItem() instanceof ItemBlock ) )
if( !( sis.getItem() instanceof BlockItem ) )
{
GlStateManager.scale( 0.5, 0.5, 0.5 );
}
Minecraft.getMinecraft().getRenderItem().renderItem( sis, ItemCameraTransforms.TransformType.FIXED );
Minecraft.getInstance().getRenderItem().renderItem( sis, ItemCameraTransforms.TransformType.FIXED );
GlStateManager.popMatrix();
}
}
@@ -19,30 +19,34 @@
package appeng.client.render.tesr;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import com.mojang.blaze3d.matrix.MatrixStack;
import com.mojang.blaze3d.platform.GlStateManager;
import net.minecraft.client.renderer.IRenderTypeBuffer;
import net.minecraft.client.renderer.tileentity.TileEntityRenderer;
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import appeng.client.render.FacingToRotation;
import appeng.client.render.renderable.Renderable;
import appeng.tile.AEBaseTile;
@SideOnly( Side.CLIENT )
public class ModularTESR<T extends AEBaseTile> extends TileEntitySpecialRenderer<T>
@OnlyIn( Dist.CLIENT )
public class ModularTESR<T extends AEBaseTile> extends TileEntityRenderer<T>
{
private final Renderable[] renderables;
public ModularTESR( Renderable... renderables )
public ModularTESR( TileEntityRendererDispatcher rendererDispatcherIn, Renderable... renderables )
{
super( rendererDispatcherIn );
this.renderables = renderables;
}
@Override
public void render( T te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_ )
public void render( T te, float partialTicks, MatrixStack matrixStackIn, IRenderTypeBuffer bufferIn, int combinedLightIn, int combinedOverlayIn )
{
GlStateManager.pushMatrix();
GlStateManager.translate( x, y, z );
@@ -56,19 +60,4 @@ public class ModularTESR<T extends AEBaseTile> extends TileEntitySpecialRenderer
GlStateManager.popMatrix();
}
@Override
public void renderTileEntityFast( T te, double x, double y, double z, float partialTicks, int destroyStage, float p_render_10_, BufferBuilder buffer )
{
GlStateManager.pushMatrix();
GlStateManager.translate( x, y, z );
GlStateManager.translate( 0.5, 0.5, 0.5 );
FacingToRotation.get( te.getForward(), te.getUp() ).glRotateCurrentMat();
GlStateManager.translate( -0.5, -0.5, -0.5 );
for( Renderable renderable : this.renderables )
{
renderable.renderTileEntityFast( te, x, y, z, partialTicks, destroyStage, buffer );
}
GlStateManager.popMatrix();
}
}
@@ -23,10 +23,10 @@ import net.minecraft.block.Block;
import net.minecraft.client.model.ModelChest;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.tileentity.TileEntitySpecialRenderer;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import appeng.block.storage.BlockSkyChest;
import appeng.block.storage.BlockSkyChest.SkyChestType;
@@ -35,7 +35,7 @@ import appeng.core.AppEng;
import appeng.tile.storage.TileSkyChest;
@SideOnly( Side.CLIENT )
@OnlyIn( Dist.CLIENT )
public class SkyChestTESR extends TileEntitySpecialRenderer<TileSkyChest>
{
@@ -84,23 +84,23 @@ public class SkyChestTESR extends TileEntitySpecialRenderer<TileSkyChest>
{
GlStateManager.translate( 0.5F, 0.5F, 0.5F );
// In the vanilla chest model, north and south are flipped
EnumFacing forward = te.getForward();
EnumFacing up = te.getUp();
if( forward == EnumFacing.SOUTH )
Direction forward = te.getForward();
Direction up = te.getUp();
if( forward == Direction.SOUTH )
{
forward = EnumFacing.NORTH;
forward = Direction.NORTH;
}
else if( forward == EnumFacing.NORTH )
else if( forward == Direction.NORTH )
{
forward = EnumFacing.SOUTH;
forward = Direction.SOUTH;
}
if( up == EnumFacing.SOUTH )
if( up == Direction.SOUTH )
{
up = EnumFacing.NORTH;
up = Direction.NORTH;
}
else if( up == EnumFacing.NORTH )
else if( up == Direction.NORTH )
{
up = EnumFacing.SOUTH;
up = Direction.SOUTH;
}
FacingToRotation.get( forward, up ).glRotateCurrentMat();
GlStateManager.translate( -0.5F, -0.5F, -0.5F );
@@ -19,20 +19,20 @@
package appeng.client.render.tesr;
import net.minecraft.block.state.IBlockState;
import net.minecraft.block.BlockState;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.BlockRendererDispatcher;
import net.minecraft.client.renderer.BufferBuilder;
import net.minecraft.client.renderer.block.model.IBakedModel;
import net.minecraft.util.EnumFacing;
import net.minecraft.util.Direction;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.IBlockAccess;
import net.minecraft.world.IBlockReader;
import net.minecraftforge.client.MinecraftForgeClient;
import net.minecraftforge.client.model.animation.FastTESR;
import net.minecraftforge.common.property.IExtendedBlockState;
import net.minecraftforge.common.property.Properties;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;
import net.minecraftforge.api.distmarker.Dist;
import net.minecraftforge.api.distmarker.OnlyIn;
import appeng.block.AEBaseTileBlock;
import appeng.block.misc.BlockSkyCompass;
@@ -40,7 +40,7 @@ import appeng.client.render.model.SkyCompassBakedModel;
import appeng.tile.misc.TileSkyCompass;
@SideOnly( Side.CLIENT )
@OnlyIn( Dist.CLIENT )
public class SkyCompassTESR extends FastTESR<TileSkyCompass>
{
@@ -57,12 +57,12 @@ public class SkyCompassTESR extends FastTESR<TileSkyCompass>
if( blockRenderer == null )
{
blockRenderer = Minecraft.getMinecraft().getBlockRendererDispatcher();
blockRenderer = Minecraft.getInstance().getBlockRendererDispatcher();
}
BlockPos pos = te.getPos();
IBlockAccess world = MinecraftForgeClient.getRegionRenderCache( te.getWorld(), pos );
IBlockState state = world.getBlockState( pos );
IBlockReader world = MinecraftForgeClient.getRegionRenderCache( te.getWorld(), pos );
BlockState state = world.getBlockState( pos );
if( state.getPropertyKeys().contains( Properties.StaticProperty ) )
{
state = state.withProperty( Properties.StaticProperty, false );
@@ -76,13 +76,13 @@ public class SkyCompassTESR extends FastTESR<TileSkyCompass>
exState = exState.withProperty( BlockSkyCompass.ROTATION, getRotation( te ) );
// Flip forward/up for rendering, the base model is facing up without any rotation
EnumFacing forward = exState.getValue( AEBaseTileBlock.FORWARD );
EnumFacing up = exState.getValue( AEBaseTileBlock.UP );
Direction forward = exState.getValue( AEBaseTileBlock.FORWARD );
Direction up = exState.getValue( AEBaseTileBlock.UP );
// This ensures the needle isn't flipped by the model rotator. Since the model is symmetrical, this should
// not affect the appearance
if( forward == EnumFacing.UP || forward == EnumFacing.DOWN )
if( forward == Direction.UP || forward == Direction.DOWN )
{
up = EnumFacing.NORTH;
up = Direction.NORTH;
}
exState = exState.withProperty( AEBaseTileBlock.FORWARD, up )
.withProperty( AEBaseTileBlock.UP, forward );
@@ -97,7 +97,7 @@ public class SkyCompassTESR extends FastTESR<TileSkyCompass>
{
float rotation;
if( skyCompass.getForward() == EnumFacing.UP || skyCompass.getForward() == EnumFacing.DOWN )
if( skyCompass.getForward() == Direction.UP || skyCompass.getForward() == Direction.DOWN )
{
rotation = SkyCompassBakedModel.getAnimatedRotation( skyCompass.getPos(), false );
}
@@ -106,7 +106,7 @@ public class SkyCompassTESR extends FastTESR<TileSkyCompass>
rotation = SkyCompassBakedModel.getAnimatedRotation( null, false );
}
if( skyCompass.getForward() == EnumFacing.DOWN )
if( skyCompass.getForward() == Direction.DOWN )
{
rotation = flipidiy( rotation );
}