Merge remote-tracking branch 'origin/master'

This commit is contained in:
Tschipp 2017-08-19 23:20:33 +02:00
commit da3367cec4
4 changed files with 77 additions and 40 deletions

View File

@ -1,4 +1,2 @@
# CarryOn
Carry On mod for Minecraft
Download here: https://minecraft.curseforge.com/projects/carry-on # Carry On [![](http://cf.way2muchnoise.eu/carry-on.svg)](https://minecraft.curseforge.com/projects/carry-on) [![](http://cf.way2muchnoise.eu/versions/carry-on.svg)](https://minecraft.curseforge.com/projects/carry-on)

View File

@ -2,9 +2,12 @@ package tschipp.carryon.client.event;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import org.lwjgl.opengl.GL11;
import net.minecraft.client.Minecraft; import net.minecraft.client.Minecraft;
import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.entity.AbstractClientPlayer;
import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.entity.EntityPlayerSP;
import net.minecraft.client.gui.GuiScreen;
import net.minecraft.client.gui.inventory.GuiContainer; import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.client.model.ModelPlayer; import net.minecraft.client.model.ModelPlayer;
import net.minecraft.client.model.ModelRenderer; import net.minecraft.client.model.ModelRenderer;
@ -116,6 +119,8 @@ public class RenderEntityEvents
@SubscribeEvent @SubscribeEvent
public void renderHand(RenderHandEvent event) public void renderHand(RenderHandEvent event)
{ {
World world = Minecraft.getMinecraft().world; World world = Minecraft.getMinecraft().world;
EntityPlayer player = Minecraft.getMinecraft().player; EntityPlayer player = Minecraft.getMinecraft().player;
AbstractClientPlayer aplayer = (AbstractClientPlayer) player; AbstractClientPlayer aplayer = (AbstractClientPlayer) player;
@ -123,6 +128,7 @@ public class RenderEntityEvents
int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView; int perspective = Minecraft.getMinecraft().gameSettings.thirdPersonView;
float partialticks = event.getPartialTicks(); float partialticks = event.getPartialTicks();
if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack)) if (!stack.isEmpty() && stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))
{ {
BlockPos pos = player.getPosition(); BlockPos pos = player.getPosition();
@ -143,24 +149,28 @@ public class RenderEntityEvents
float multiplier = height * width; float multiplier = height * width;
GlStateManager.pushMatrix(); GlStateManager.pushMatrix();
GlStateManager.scale(1, 1, 1); GlStateManager.scale(.8, .8, .8);
GlStateManager.rotate(180, 0, 1, 0); GlStateManager.rotate(180, 0, 1, 0);
GlStateManager.translate(0.0, -height, width + 0.1); GlStateManager.translate(0.0, -height - .1, width + 0.1);
GlStateManager.enableAlpha(); GlStateManager.enableAlpha();
if (perspective == 0)
if (perspective == 0 && Minecraft.getMinecraft().inGameHasFocus)
{ {
Minecraft.getMinecraft().getRenderManager().setRenderShadow(false); Minecraft.getMinecraft().getRenderManager().setRenderShadow(false);
Minecraft.getMinecraft().getRenderManager().renderEntityStatic(entity, 0.0f, false); Minecraft.getMinecraft().getRenderManager().renderEntityStatic(entity, 0.0f, false);
Minecraft.getMinecraft().getRenderManager().setRenderShadow(true); Minecraft.getMinecraft().getRenderManager().setRenderShadow(true);
} }
GlStateManager.disableAlpha(); GlStateManager.disableAlpha();
GlStateManager.scale(1, 1, 1); GlStateManager.scale(1, 1, 1);
GlStateManager.popMatrix(); GlStateManager.popMatrix();
if (perspective == 0) if (perspective == 0)
event.setCanceled(true); event.setCanceled(true);
} }
} }
@ -230,17 +240,8 @@ public class RenderEntityEvents
} }
public void renderEntityStatic(Entity entityIn, float partialTicks, boolean p_188388_3_) public void renderEntityStaticCO(Entity entityIn, float partialTicks, boolean p_188388_3_)
{ {
Field fieldX = RenderManager.class.getDeclaredFields()[4];
Field fieldY = RenderManager.class.getDeclaredFields()[5];
Field fieldZ = RenderManager.class.getDeclaredFields()[6];
fieldX.setAccessible(true);
fieldY.setAccessible(true);
fieldZ.setAccessible(true);
RenderManager manager = Minecraft.getMinecraft().getRenderManager();
if (entityIn.ticksExisted == 0) if (entityIn.ticksExisted == 0)
{ {
entityIn.lastTickPosX = entityIn.posX; entityIn.lastTickPosX = entityIn.posX;
@ -248,12 +249,17 @@ public class RenderEntityEvents
entityIn.lastTickPosZ = entityIn.posZ; entityIn.lastTickPosZ = entityIn.posZ;
} }
double d0 = entityIn.lastTickPosX + (entityIn.posX - entityIn.lastTickPosX) * (double) partialTicks; double d0 = entityIn.lastTickPosX + (entityIn.posX - entityIn.lastTickPosX) * (double)partialTicks;
double d1 = entityIn.lastTickPosY + (entityIn.posY - entityIn.lastTickPosY) * (double) partialTicks; double d1 = entityIn.lastTickPosY + (entityIn.posY - entityIn.lastTickPosY) * (double)partialTicks;
double d2 = entityIn.lastTickPosZ + (entityIn.posZ - entityIn.lastTickPosZ) * (double) partialTicks; double d2 = entityIn.lastTickPosZ + (entityIn.posZ - entityIn.lastTickPosZ) * (double)partialTicks;
float f = entityIn.prevRotationYaw + (entityIn.rotationYaw - entityIn.prevRotationYaw) * partialTicks; float f = entityIn.prevRotationYaw + (entityIn.rotationYaw - entityIn.prevRotationYaw) * partialTicks;
int i = entityIn.getBrightnessForRender(partialTicks);
int i = 0;
if (!Minecraft.getMinecraft().world.isDaytime()) {
i = entityIn.getBrightnessForRender(partialTicks);
} else {
i = 50000;
}
if (entityIn.isBurning()) if (entityIn.isBurning())
{ {
i = 15728880; i = 15728880;
@ -261,16 +267,10 @@ public class RenderEntityEvents
int j = i % 65536; int j = i % 65536;
int k = i / 65536; int k = i / 65536;
OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float) j, (float) k); OpenGlHelper.setLightmapTextureCoords(OpenGlHelper.lightmapTexUnit, (float)j, (float)k);
GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F); GlStateManager.color(1.0F, 1.0F, 1.0F, 1.0F);
try RenderManager manager = Minecraft.getMinecraft().getRenderManager();
{ manager.doRenderEntity(entityIn, d0, d1, d2, f, partialTicks, p_188388_3_);
manager.doRenderEntity(entityIn, d0 - fieldX.getDouble(manager), d1 - fieldY.getDouble(manager), d2 - fieldZ.getDouble(manager), f, partialTicks, p_188388_3_);
}
catch (IllegalArgumentException | IllegalAccessException e)
{
e.printStackTrace();
}
} }
} }

View File

@ -1,6 +1,8 @@
package tschipp.carryon.client.event; package tschipp.carryon.client.event;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import java.util.Iterator;
import java.util.List;
import net.minecraft.block.Block; import net.minecraft.block.Block;
import net.minecraft.block.state.IBlockState; import net.minecraft.block.state.IBlockState;
@ -287,10 +289,14 @@ public class RenderEvents
ModelRenderer fakeLeftArm = new ModelRenderer(model, 32, 48); ModelRenderer fakeLeftArm = new ModelRenderer(model, 32, 48);
ModelRenderer fakeRightArm = new ModelRenderer(model, 40, 16); ModelRenderer fakeRightArm = new ModelRenderer(model, 40, 16);
player.setArrowCountInEntity(0); //TODO Temporary Fix
if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack))) if (!stack.isEmpty() && (stack.getItem() == RegistrationHandler.itemTile && ItemTile.hasTileData(stack)) || (stack.getItem() == RegistrationHandler.itemEntity && ItemEntity.hasEntityData(stack)))
{ {
if (model.bipedBody.childModels != null && !model.bipedBody.childModels.isEmpty())
if (model.bipedBody.childModels != null && !model.bipedBody.childModels.isEmpty()) {
model.bipedBody.childModels.clear(); model.bipedBody.childModels.clear();
}
Item item = stack.getItem(); Item item = stack.getItem();
@ -355,6 +361,7 @@ public class RenderEvents
{ {
model.bipedLeftArm.isHidden = false; model.bipedLeftArm.isHidden = false;
model.bipedRightArm.isHidden = false; model.bipedRightArm.isHidden = false;
if (model.bipedBody.childModels != null && !model.bipedBody.childModels.isEmpty()) if (model.bipedBody.childModels != null && !model.bipedBody.childModels.isEmpty())
{ {
model.bipedBody.childModels.clear(); model.bipedBody.childModels.clear();

View File

@ -42,7 +42,25 @@ public class ItemEntity extends Item
{ {
if (hasEntityData(stack)) if (hasEntityData(stack))
{ {
return I18n.translateToLocal(EntityList.getTranslationName(new ResourceLocation(getEntityName(stack))));
/*
ResourceLocation key = new ResourceLocation(getEntityName(stack));
String name = I18n.translateToLocal(EntityList.getClass(key).getCanonicalName());
System.out.println(EntityList.getClass(key).getCanonicalName());
System.out.println(EntityList.getClass(key).getSimpleName());
System.out.println(EntityList.getClass(key).getName());
//I18n.translateToLocal(entity.getDisplayName().getFormattedText())
//return name;
*/
return I18n.translateToLocal("entity."+EntityList.getTranslationName(new ResourceLocation(getEntityName(stack))) + ".name");
//return getCustomName(stack);
} }
return ""; return "";
@ -185,6 +203,20 @@ public class ItemEntity extends Item
return null; return null;
} }
public static String getCustomName(ItemStack stack)
{
if (stack.hasTagCompound())
{
NBTTagCompound tag = stack.getTagCompound();
if (tag.hasKey("CustomName") && !tag.getString("CustomName").isEmpty()) {
return tag.toString();
} else {
return tag.toString();
}
}
return null;
}
private int potionLevel(ItemStack stack, World world) private int potionLevel(ItemStack stack, World world)
{ {
Entity e = getEntity(stack, world); Entity e = getEntity(stack, world);