mirror of
https://github.com/MineLittlePony/MineLittlePony.git
synced 2025-02-13 16:24:23 +01:00
Added boat and bed models for their respective poses
This commit is contained in:
parent
0ae50ed2a0
commit
cb721408ad
2 changed files with 76 additions and 1 deletions
|
@ -8,6 +8,7 @@ import net.minecraft.world.World;
|
|||
import net.minecraft.world.WorldProviderSurface;
|
||||
import net.minecraft.world.WorldSettings;
|
||||
import net.minecraft.world.WorldType;
|
||||
import net.minecraft.world.chunk.Chunk;
|
||||
import net.minecraft.world.chunk.IChunkProvider;
|
||||
import net.minecraft.world.storage.WorldInfo;
|
||||
|
||||
|
@ -15,6 +16,8 @@ public class DummyWorld extends World {
|
|||
|
||||
public static final World INSTANCE = new DummyWorld();
|
||||
|
||||
private final Chunk chunk = new Chunk(this, 0, 0);
|
||||
|
||||
private DummyWorld() {
|
||||
super(null,
|
||||
new WorldInfo(new WorldSettings(0, GameType.NOT_SET, false, false, WorldType.DEFAULT), "MpServer"),
|
||||
|
@ -33,6 +36,11 @@ public class DummyWorld extends World {
|
|||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Chunk getChunk(int chunkX, int chunkZ) {
|
||||
return chunk;
|
||||
}
|
||||
|
||||
@Override
|
||||
public IBlockState getBlockState(BlockPos pos) {
|
||||
return Blocks.AIR.getDefaultState();
|
||||
|
|
|
@ -1,18 +1,25 @@
|
|||
package com.voxelmodpack.hdskins.gui;
|
||||
|
||||
import net.minecraft.block.state.IBlockState;
|
||||
import net.minecraft.client.Minecraft;
|
||||
import net.minecraft.client.model.ModelBiped.ArmPose;
|
||||
import net.minecraft.client.model.ModelElytra;
|
||||
import net.minecraft.client.model.ModelPlayer;
|
||||
import net.minecraft.client.renderer.GlStateManager;
|
||||
import net.minecraft.client.renderer.entity.Render;
|
||||
import net.minecraft.client.renderer.entity.RenderLivingBase;
|
||||
import net.minecraft.client.renderer.entity.RenderManager;
|
||||
import net.minecraft.client.renderer.entity.layers.LayerRenderer;
|
||||
import net.minecraft.client.renderer.tileentity.TileEntityRendererDispatcher;
|
||||
import net.minecraft.entity.Entity;
|
||||
import net.minecraft.entity.EntityLivingBase;
|
||||
import net.minecraft.entity.item.EntityBoat;
|
||||
import net.minecraft.entity.player.EnumPlayerModelParts;
|
||||
import net.minecraft.init.Blocks;
|
||||
import net.minecraft.init.Items;
|
||||
import net.minecraft.inventory.EntityEquipmentSlot;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.tileentity.TileEntityBed;
|
||||
import net.minecraft.util.ResourceLocation;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
@ -92,6 +99,14 @@ public class RenderPlayerModel<M extends EntityPlayerModel> extends RenderLiving
|
|||
|
||||
@Override
|
||||
public void doRender(M entity, double x, double y, double z, float entityYaw, float partialTicks) {
|
||||
|
||||
if (entity.isPlayerSleeping()) {
|
||||
BedHead.instance.render(entity);
|
||||
}
|
||||
if (entity.isRiding()) {
|
||||
MrBoaty.instance.render();
|
||||
}
|
||||
|
||||
ModelPlayer player = getEntityModel(entity);
|
||||
mainModel = player;
|
||||
|
||||
|
@ -147,7 +162,59 @@ public class RenderPlayerModel<M extends EntityPlayerModel> extends RenderLiving
|
|||
|
||||
super.doRender(entity, x, y, z, entityYaw, partialTicks);
|
||||
popMatrix();
|
||||
popAttrib();
|
||||
|
||||
}
|
||||
|
||||
static class BedHead extends TileEntityBed {
|
||||
public static BedHead instance = new BedHead(Blocks.BED.getDefaultState());
|
||||
|
||||
public int metadata;
|
||||
|
||||
public BedHead(IBlockState state) {
|
||||
state.getBlock().getMetaFromState(state);
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getBlockMetadata() {
|
||||
return metadata;
|
||||
}
|
||||
|
||||
public void render(Entity entity) {
|
||||
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
|
||||
pushMatrix();
|
||||
|
||||
scale(-1, -1, -1);
|
||||
|
||||
TileEntityRendererDispatcher dispatcher = TileEntityRendererDispatcher.instance;
|
||||
|
||||
dispatcher.prepare(entity.getEntityWorld(), Minecraft.getMinecraft().getTextureManager(), Minecraft.getMinecraft().getRenderManager().getFontRenderer(), entity, null, 0);
|
||||
dispatcher.getRenderer(this).render(BedHead.instance, -0.5F, 0, 0, 0, -1, 1);
|
||||
|
||||
popMatrix();
|
||||
popAttrib();
|
||||
}
|
||||
}
|
||||
|
||||
static class MrBoaty extends EntityBoat {
|
||||
public static MrBoaty instance = new MrBoaty();
|
||||
|
||||
public MrBoaty() {
|
||||
super(null);
|
||||
}
|
||||
|
||||
public void render() {
|
||||
GL11.glPushAttrib(GL11.GL_ALL_ATTRIB_BITS);
|
||||
pushMatrix();
|
||||
|
||||
scale(-1, -1, -1);
|
||||
|
||||
Render<EntityBoat> render = Minecraft.getMinecraft().getRenderManager().getEntityRenderObject(this);
|
||||
|
||||
render.doRender(this, 0, 0, 0, 0, 0);
|
||||
|
||||
popMatrix();
|
||||
popAttrib();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue