diff options
Diffstat (limited to 'src/main/java/kubatech')
3 files changed, 20 insertions, 2 deletions
diff --git a/src/main/java/kubatech/client/effect/EntityRenderer.java b/src/main/java/kubatech/client/effect/EntityRenderer.java index 247b6ba788..42c233cddd 100644 --- a/src/main/java/kubatech/client/effect/EntityRenderer.java +++ b/src/main/java/kubatech/client/effect/EntityRenderer.java @@ -105,7 +105,12 @@ public class EntityRenderer extends EntityFX { GL11.glEnable(GL11.GL_COLOR_MATERIAL); entityToRender.worldObj = this.worldObj; - entityToRender.setPosition(this.posX, this.posY, this.posZ); + + // quiver still bugged a bit, but it is on the skeleton now + entityToRender.setPosition(this.posX, this.posY + 1d /* for some reason quiver renders too low? */, this.posZ); + entityToRender.lastTickPosX = entityToRender.posX; + entityToRender.lastTickPosY = entityToRender.posY; + entityToRender.lastTickPosZ = entityToRender.posZ; Minecraft mc = Minecraft.getMinecraft(); @@ -164,6 +169,8 @@ public class EntityRenderer extends EntityFX { (float) (this.posY - renderPosY), (float) (this.posZ - renderPosZ)); GL11.glEnable(GL12.GL_RESCALE_NORMAL); + + // TODO: Use new scale calculator float desiredScale = MobUtils.getDesiredScale(entityToRender, 2f); if (desiredScale < 1f) GL11.glScalef(desiredScale, desiredScale, desiredScale); diff --git a/src/main/java/kubatech/loaders/MobHandlerLoader.java b/src/main/java/kubatech/loaders/MobHandlerLoader.java index 72947c726d..c56c397308 100644 --- a/src/main/java/kubatech/loaders/MobHandlerLoader.java +++ b/src/main/java/kubatech/loaders/MobHandlerLoader.java @@ -23,6 +23,7 @@ package kubatech.loaders; import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeExterminationChamber.DIAMOND_SPIKES_DAMAGE; import static kubatech.tileentity.gregtech.multiblock.GT_MetaTileEntity_ExtremeExterminationChamber.MOB_SPAWN_INTERVAL; +import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.Arrays; import java.util.HashMap; @@ -37,6 +38,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.nbt.JsonToNBT; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.util.StatCollector; +import net.minecraft.world.World; import net.minecraftforge.common.MinecraftForge; import org.apache.logging.log4j.LogManager; @@ -83,10 +85,19 @@ public class MobHandlerLoader { public final int mEUt = 2000; public final int mDuration; + public final EntityLiving entityCopy; public MobEECRecipe(List<MobDrop> transformedDrops, MobRecipe recipe) { this.mOutputs = transformedDrops; this.recipe = recipe; + try { + this.entityCopy = this.recipe.entity.getClass() + .getConstructor(World.class) + .newInstance(this.recipe.entity.worldObj); + } catch (NoSuchMethodException | InvocationTargetException | InstantiationException + | IllegalAccessException e) { + throw new RuntimeException(e); + } mDuration = Math.max(MOB_SPAWN_INTERVAL, (int) ((recipe.maxEntityHealth / DIAMOND_SPIKES_DAMAGE) * 10d)); } diff --git a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java index 38a50ee1f9..bea621232f 100644 --- a/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java +++ b/src/main/java/kubatech/tileentity/gregtech/multiblock/GT_MetaTileEntity_ExtremeExterminationChamber.java @@ -375,7 +375,7 @@ public class GT_MetaTileEntity_ExtremeExterminationChamber MobHandlerLoader.MobEECRecipe r = MobHandlerLoader.recipeMap.get(mobType); if (r != null) { if (entityRenderer == null) setupEntityRenderer(getBaseMetaTileEntity(), 40); - entityRenderer.setEntity(r.recipe.entity); + entityRenderer.setEntity(r.entityCopy); } else entityRenderer.setEntity(null); } else { renderEntity = false; |