Jump to content

[1.12.2]Help with complex Entity needed


_Cruelar_

Recommended Posts

This might need some time as I only have an idea which I totally not know how to code. The Entity should have a Mainbody with one eye in the Head shooting lasers which deal 6 damage fully ignoring the Players armor. Additionally the Entity should have 6 legs with their own health which the Player can cut off by damaging them enough. My Idea for this is making the legs separate entities (is this actually possible?), but I'll accept all other working approaches. Also if the Entity is shot into its eye with any Arrow or a leg is cut off he'll get stunned for ~5sec. When the Entity detects the Player he'll start aiming at him with a thin red laser dealing no damage and after ~5 sec will then shoot a powerful blue laser at the Player. I have already a Model for the Mainbody and a model for the legs is almost done. What I mostly need help with is how to make that with the legs being part of the MainEntity and being able to be cut off, the Ai for this Entity and the actual laser beams.

I know this much what I request here but working on that alone I woud get completly lost in Code and make tons of mistakes. I'll post new Code as soon as I can and hope that we all can get it working. Until then every help how to make this is appreciated

My Code.

MainBodyModel:

package com.cruelar.cruelars_triforcemod.model;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

/**
 * ModelGuardianStalkerBody - Cruelar
 * Created using Tabula 7.0.0
 */
public class ModelGuardianStalkerBody extends ModelBase {
    public ModelRenderer MainBody;
    public ModelRenderer UpperBodyOne;
    public ModelRenderer LowerGear;
    public ModelRenderer UpperGear;
    public ModelRenderer UpperBodyTwo;
    public ModelRenderer Head;
    public ModelRenderer GuardianEye;
    public ModelRenderer HeadPieceLeft;
    public ModelRenderer HeadPieceRight;
    public ModelRenderer HeadPieceBack;

    public ModelGuardianStalkerBody() {
        this.textureWidth = 256;
        this.textureHeight = 128;
        this.UpperGear = new ModelRenderer(this, 186, 32);
        this.UpperGear.setRotationPoint(0.0F, -3.0F, 0.0F);
        this.UpperGear.addBox(-7.0F, -1.0F, -7.0F, 14, 2, 14, 0.0F);
        this.HeadPieceRight = new ModelRenderer(this, 22, 0);
        this.HeadPieceRight.mirror = true;
        this.HeadPieceRight.setRotationPoint(0.0F, -13.0F, 0.0F);
        this.HeadPieceRight.addBox(-12.0F, -10.0F, -1.0F, 6, 6, 2, 0.0F);
        this.MainBody = new ModelRenderer(this, 0, 0);
        this.MainBody.setRotationPoint(0.0F, 16.0F, 0.0F);
        this.MainBody.addBox(-24.0F, -5.0F, -24.0F, 48, 13, 48, 0.0F);
        this.HeadPieceBack = new ModelRenderer(this, 144, 0);
        this.HeadPieceBack.setRotationPoint(0.0F, -13.0F, 0.0F);
        this.HeadPieceBack.addBox(-1.0F, -10.0F, 6.0F, 2, 6, 6, 0.0F);
        this.Head = new ModelRenderer(this, 176, 48);
        this.Head.setRotationPoint(0.0F, -12.0F, 0.0F);
        this.Head.addBox(-8.0F, -8.0F, -8.0F, 16, 16, 16, 0.0F);
        this.UpperBodyTwo = new ModelRenderer(this, 0, 61);
        this.UpperBodyTwo.setRotationPoint(0.0F, 10.0F, 0.0F);
        this.UpperBodyTwo.addBox(-17.0F, -4.0F, -17.0F, 34, 6, 34, 0.0F);
        this.HeadPieceLeft = new ModelRenderer(this, 22, 0);
        this.HeadPieceLeft.setRotationPoint(0.0F, -13.0F, 0.0F);
        this.HeadPieceLeft.addBox(6.0F, -10.0F, -1.0F, 6, 6, 2, 0.0F);
        this.GuardianEye = new ModelRenderer(this, 0, 0);
        this.GuardianEye.setRotationPoint(0.0F, -9.0F, 0.0F);
        this.GuardianEye.addBox(-2.0F, -2.0F, -9.0F, 4, 4, 1, 0.0F);
        this.UpperBodyOne = new ModelRenderer(this, 144, 0);
        this.UpperBodyOne.setRotationPoint(0.0F, 4.0F, 0.0F);
        this.UpperBodyOne.addBox(-12.0F, -4.0F, -12.0F, 24, 6, 24, 0.0F);
        this.LowerGear = new ModelRenderer(this, 144, 30);
        this.LowerGear.setRotationPoint(0.0F, -1.0F, 0.0F);
        this.LowerGear.addBox(-7.0F, -1.0F, -7.0F, 14, 2, 14, 0.0F);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { 
        this.UpperGear.render(f5);
        this.HeadPieceRight.render(f5);
        this.MainBody.render(f5);
        this.HeadPieceBack.render(f5);
        this.Head.render(f5);
        this.UpperBodyTwo.render(f5);
        this.HeadPieceLeft.render(f5);
        this.GuardianEye.render(f5);
        this.UpperBodyOne.render(f5);
        this.LowerGear.render(f5);
    }

    /**
     * This is a helper function from Tabula to set the rotation of model parts
     */
    public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) {
        modelRenderer.rotateAngleX = x;
        modelRenderer.rotateAngleY = y;
        modelRenderer.rotateAngleZ = z;
    }
}

MainEntity:

package com.cruelar.cruelars_triforcemod.entities.monster;

import net.minecraft.entity.*;
import net.minecraft.entity.ai.*;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.network.PacketBuffer;
import net.minecraft.network.datasync.DataParameter;
import net.minecraft.network.datasync.DataSerializer;
import net.minecraft.network.datasync.EntityDataManager;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.DifficultyInstance;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;
import java.io.IOException;
import java.util.UUID;

public class Guardian_Stalker extends EntityMob implements IRangedAttackMob/*,IEntityMultiPart*/{
    public static final ResourceLocation RESOURCE_LOCATION = new ResourceLocation("cruelars_triforcemod:textures/entity/guardian_stalker.png");
    /*private static final DataSerializer<UUID> serializer = new DataSerializer<UUID>() {
        @Override
        public void write(@Nonnull PacketBuffer buf,@Nonnull UUID value) {
            buf.writeUniqueId(value);
        }

        @Override
        @Nonnull
        public UUID read(@Nonnull PacketBuffer buf) throws IOException {
            return buf.readUniqueId();
        }

        @Override
        public DataParameter<UUID> createKey(int id) {
            return new DataParameter<>(id,this);
        }

        @Override
        @Nonnull
        public UUID copyValue(@Nonnull UUID value) {
            return value;
        }
    };
    private static final DataParameter<UUID> Leg1 = EntityDataManager.<UUID>createKey(Guardian_Stalker.class, serializer);
    private static final DataParameter<UUID> Leg2 = EntityDataManager.<UUID>createKey(Guardian_Stalker.class, serializer);
    private static final DataParameter<UUID> Leg3 = EntityDataManager.<UUID>createKey(Guardian_Stalker.class, serializer);
    private static final DataParameter<UUID> Leg4 = EntityDataManager.<UUID>createKey(Guardian_Stalker.class, serializer);
    private static final DataParameter<UUID> Leg5 = EntityDataManager.<UUID>createKey(Guardian_Stalker.class, serializer);
    private static final DataParameter<UUID> Leg6 = EntityDataManager.<UUID>createKey(Guardian_Stalker.class, serializer);*/
    private LegGuardian leg1;
    private LegGuardian leg2;
    private LegGuardian leg3;
    private LegGuardian leg4;
    private LegGuardian leg5;
    private LegGuardian leg6;
    private LegGuardian[] legs;
    //private MultiPartEntityPart guardianEye = new MultiPartEntityPart(this,"eye",0.25F,0.25F);
    //private MultiPartEntityPart[] guardianParts;
    private float animTime;
    private float prevAnimTime;

    public Guardian_Stalker(World worldIn) {
        super(worldIn);
        setSize(2.8F,2F );
        this.legs=new LegGuardian[]{leg1,leg2,leg3,leg4,leg5,leg6};
        //this.guardianParts= new MultiPartEntityPart[]{this.guardianEye};
    }

    @Override
    protected void entityInit(){
        super.entityInit();
        /*this.getDataManager().register(Leg1, leg1.getUniqueID());
        this.getDataManager().register(Leg2, leg2.getUniqueID());
        this.getDataManager().register(Leg3, leg3.getUniqueID());
        this.getDataManager().register(Leg4, leg4.getUniqueID());
        this.getDataManager().register(Leg5, leg5.getUniqueID());
        this.getDataManager().register(Leg6, leg6.getUniqueID());
    }

    public void setLeg1(LegGuardian legGuardian)
    {
        this.getDataManager().set(Leg1, legGuardian.getUniqueID());
    }

    @SideOnly(Side.CLIENT)
    public UUID getLeg1()
    {
        return this.getDataManager().get(Leg1);
    }

    public void setLeg2(LegGuardian legGuardian)
    {
        this.getDataManager().set(Leg2, legGuardian.getUniqueID());
    }

    @SideOnly(Side.CLIENT)
    public UUID getLeg2()
    {
        return this.getDataManager().get(Leg2);
    }

    public void setLeg3(LegGuardian legGuardian)
    {
        this.getDataManager().set(Leg3, legGuardian.getUniqueID());
    }

    @SideOnly(Side.CLIENT)
    public UUID getLeg3()
    {
        return this.getDataManager().get(Leg3);
    }

    public void setLeg4(LegGuardian legGuardian)
    {
        this.getDataManager().set(Leg4, legGuardian.getUniqueID());
    }

    @SideOnly(Side.CLIENT)
    public UUID getLeg4()
    {
        return this.getDataManager().get(Leg4);
    }

    public void setLeg5(LegGuardian legGuardian)
    {
        this.getDataManager().set(Leg5, legGuardian.getUniqueID());
    }

    @SideOnly(Side.CLIENT)
    public UUID getLeg5()
    {
        return this.getDataManager().get(Leg5);
    }

    public void setLeg6(LegGuardian legGuardian)
    {
        this.getDataManager().set(Leg6, legGuardian.getUniqueID());
    }

    @SideOnly(Side.CLIENT)
    public UUID getLeg6()
    {
        return this.getDataManager().get(Leg6);*/
    }

    @Override
    protected void  applyEntityAttributes(){
        super.applyEntityAttributes();
        this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(1500.0D);
        this.getEntityAttribute(SharedMonsterAttributes.MOVEMENT_SPEED).setBaseValue(0.25D);
        this.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(10.0D);
        this.getEntityAttribute(SharedMonsterAttributes.FOLLOW_RANGE).setBaseValue(32.0D);
        this.getEntityAttribute(SharedMonsterAttributes.ATTACK_DAMAGE).setBaseValue(6.0D);
    }

    @Override
    protected void initEntityAI(){
        this.tasks.addTask(5,new EntityAIMoveTowardsRestriction(this,1.0D));
        this.tasks.addTask(7,new EntityAIWander(this,1.0D));
        this.tasks.addTask(8,new EntityAIWatchClosest(this, EntityPlayer.class, 8.0F));
        this.tasks.addTask(8,new EntityAILookIdle(this));
        this.applyEntityAI();
    }

    public IEntityLivingData onInitialSpawn(DifficultyInstance difficulty,@Nullable IEntityLivingData livingdata){
        livingdata = super.onInitialSpawn(difficulty, livingdata);
        leg1 = new LegGuardian(this.world);
        leg2 = new LegGuardian(this.world);
        leg3 = new LegGuardian(this.world);
        leg4 = new LegGuardian(this.world);
        leg5 = new LegGuardian(this.world);
        leg6 = new LegGuardian(this.world);
        leg1.setParent(this);
        leg2.setParent(this);
        leg3.setParent(this);
        leg4.setParent(this);
        leg5.setParent(this);
        leg6.setParent(this);
        leg1.setPartName("leg1");
        leg2.setPartName("leg2");
        leg3.setPartName("leg3");
        leg4.setPartName("leg4");
        leg5.setPartName("leg5");
        leg6.setPartName("leg6");
        legs= new LegGuardian[]{leg1,leg2,leg3,leg4,leg5,leg6};
        for (int i = 0;i<legs.length;i++){
            legs[i].setPositionAndRotation(this.posX, this.posY, this.posZ, i*MathHelper.wrapDegrees(60)+this.rotationYaw, 0);
        }
        this.world.spawnEntity(leg1);
        this.world.spawnEntity(leg2);
        this.world.spawnEntity(leg3);
        this.world.spawnEntity(leg4);
        this.world.spawnEntity(leg5);
        this.world.spawnEntity(leg6);
        return livingdata;
    }

    protected void onDeathUpdate()
    {
        ++this.deathTime;
        if (this.deathTime == 20)
        {
            for (LegGuardian leg : legs) {
                if (leg != null) {
                    leg.setDead();
                }
            }
            this.setDead();
            for (int k = 0; k < 20; ++k) {
                double d2 = this.rand.nextGaussian() * 0.02D;
                double d0 = this.rand.nextGaussian() * 0.02D;
                double d1 = this.rand.nextGaussian() * 0.02D;
                this.world.spawnParticle(EnumParticleTypes.EXPLOSION_LARGE, this.posX + (double) (this.rand.nextFloat() * this.width * 2.0F) - (double) this.width, this.posY + (double) (this.rand.nextFloat() * this.height), this.posZ + (double) (this.rand.nextFloat() * this.width * 2.0F) - (double) this.width, d2, d0, d1);
            }
        }
    }

    protected void applyEntityAI() {
        this.targetTasks.addTask(1,new EntityAIAttackRanged(this,0.25D,100,120,5));
    }

    @Override
    public void attackEntityWithRangedAttack(@Nonnull EntityLivingBase target, float distanceFactor) {

    }

    public void onLivingUpdate()
    {
        if (this.world.isRemote)
        {
            this.setHealth(this.getHealth());
        }

        this.prevAnimTime = this.animTime;

        if (this.getHealth() <= 0.0F)
        {
            float f12 = (this.rand.nextFloat() - 0.5F) * 8.0F;
            float f13 = (this.rand.nextFloat() - 0.5F) * 4.0F;
            float f15 = (this.rand.nextFloat() - 0.5F) * 8.0F;
            this.world.spawnParticle(EnumParticleTypes.EXPLOSION_LARGE, this.posX + (double)f12, this.posY + 2.0D + (double)f13, this.posZ + (double)f15, 0.0D, 0.0D, 0.0D);
        }
        else
        {
            float f11 = 0.2F / (MathHelper.sqrt(this.motionX * this.motionX + this.motionZ * this.motionZ) * 10.0F + 1.0F);
            f11 = f11 * (float)Math.pow(2.0D, this.motionY);
            this.animTime += f11;
            this.rotationYaw = MathHelper.wrapDegrees(this.rotationYaw);
            if (this.isAIDisabled())
            {
                this.animTime = 0.5F;
            }
            else
            {
                if (this.world.isRemote)
                {
                    if (this.newPosRotationIncrements > 0)
                    {
                        double d5 = this.posX + (this.interpTargetX - this.posX) / (double)this.newPosRotationIncrements;
                        double d0 = this.posY + (this.interpTargetY - this.posY) / (double)this.newPosRotationIncrements;
                        double d1 = this.posZ + (this.interpTargetZ - this.posZ) / (double)this.newPosRotationIncrements;
                        double d2 = MathHelper.wrapDegrees(this.interpTargetYaw - (double)this.rotationYaw);
                        this.rotationYaw = (float)((double)this.rotationYaw + d2 / (double)this.newPosRotationIncrements);
                        this.rotationPitch = (float)((double)this.rotationPitch + (this.interpTargetPitch - (double)this.rotationPitch) / (double)this.newPosRotationIncrements);
                        --this.newPosRotationIncrements;
                        this.setPosition(d5, d0, d1);
                        this.setRotation(this.rotationYaw, this.rotationPitch);
                    }
                }

                this.renderYawOffset = this.rotationYaw;
                float Yaw = this.rotationYaw;
                //this.guardianEye.width=0.25F;
                //this.guardianEye.height=0.25F;
                /*Vec3d[] avec3d = new Vec3d[this.guardianParts.length];

                for (int j = 0; j < this.guardianParts.length; ++j)
                {
                    avec3d[j] = new Vec3d(this.guardianParts[j].posX, this.guardianParts[j].posY, this.guardianParts[j].posZ);
                }
                float f17 = this.rotationYaw * 0.017453292F;
                float f3 = MathHelper.sin(f17);
                float f18 = MathHelper.cos(f17);
                this.guardianEye.onUpdate();
                this.guardianEye.setLocationAndAngles(this.posX+0.5, this.posY+2, this.posZ, 0.0F, 0.0F);
                for (int l = 0; l < this.guardianParts.length; ++l)
                {
                    this.guardianParts[l].prevPosX = avec3d[l].x;
                    this.guardianParts[l].prevPosY = avec3d[l].y;
                    this.guardianParts[l].prevPosZ = avec3d[l].z;
                }*/
                for (int i=0;i<legs.length;i++) {
                    legs[i].onUpdate();
                    legs[i].setLocationAndAngles(this.posX + 0.5, this.posY + 2, this.posZ, i*MathHelper.wrapDegrees(60)+Yaw, this.rotationPitch);
                }
            }
        }
    }

    public float getEyeHeight()
    {
        return 2.2F;
    }

    @Override
    public void setSwingingArms(boolean swingingArms) {
    }

    @Nonnull
    public World getWorld() {
        return this.world;
    }

    public void setNextLeg(LegGuardian leg){
        for (int i = 0; i<legs.length;i++){
            if (legs[i]==null){
                legs[i]=leg;
                break;
            }
        }
    }

    /*@Override
    public boolean attackEntityFromPart(@Nonnull MultiPartEntityPart guardianPart,@Nonnull DamageSource source, float damage) {
        if (guardianPart==this.guardianEye){
            damage=damage*2;
        }
        this.attackEntityFrom(source, damage);
        return true;
    }*/

    public boolean attackEntityFromPart(LegGuardian legGuardian, DamageSource source, float damage) {
        if (damage < 0.01F)
        {
            return false;
        }
        else
        {
            if (source.getTrueSource() instanceof EntityPlayer || source.isExplosion()||source.getTrueSource() instanceof Guardian_Stalker)
            {
                float f = this.getHealth();
                this.attackEntityFrom(source, damage);
            }

            return true;
        }
    }

}

MainEntityRenderer:

package com.cruelar.cruelars_triforcemod.renderer;

import com.cruelar.cruelars_triforcemod.entities.monster.Guardian_Stalker;
import com.cruelar.cruelars_triforcemod.model.ModelGuardianStalkerBody;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.client.registry.IRenderFactory;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public class RenderGuardianStalker extends RenderLiving<Guardian_Stalker> { //Only basic stuff by now

    private ResourceLocation mobTexture = new ResourceLocation("cruelars_triforcemod:textures/entity/guardian_stalker.png");

    public static final Factory FACTORY = new Factory();

    public RenderGuardianStalker(RenderManager renderManager){
        super(renderManager, new ModelGuardianStalkerBody(),2F);
    }

    @Nullable
    @Override
    protected ResourceLocation getEntityTexture(@Nonnull Guardian_Stalker entity) {
        return mobTexture;
    }



    public static class Factory implements IRenderFactory<Guardian_Stalker> {

        @Override
        public Render<? super Guardian_Stalker> createRenderFor(RenderManager manager){
            return new RenderGuardianStalker(manager);
        }
    }
}

No Ai yet, only AI I made already since starting Modding were simple Copies of AINearestAttackableTarget

LegEntityModel:

package com.cruelar.cruelars_triforcemod.model;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

/**
 * GuardianLeg - Cruelar
 * Created using Tabula 7.0.0
 */
public class GuardianLeg extends ModelBase {
    public ModelRenderer shape1;
    public ModelRenderer shape2;
    public ModelRenderer shape3;
    public ModelRenderer shape4;
    public ModelRenderer shape5;
    public ModelRenderer shape6;
    public ModelRenderer shape7;
    public ModelRenderer shape8;
    public ModelRenderer shape9;
    public ModelRenderer shape10;
    public ModelRenderer Footmain;
    public ModelRenderer Footright;
    public ModelRenderer Footleft;
    public ModelRenderer Footfront;

    public GuardianLeg() {
        this.textureWidth = 64;
        this.textureHeight = 32;
        this.shape8 = new ModelRenderer(this, 0, 0);
        this.shape8.mirror = true;
        this.shape8.setRotationPoint(0.0F, 12.0F, -21.0F);
        this.shape8.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape8, 0.5235987755982988F, -0.5235987755982988F, 0.7853981633974483F);
        this.shape3 = new ModelRenderer(this, 0, 0);
        this.shape3.setRotationPoint(0.0F, 10.0F, -6.0F);
        this.shape3.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape3, 0.17453292519943295F, 0.0F, 0.0F);
        this.shape5 = new ModelRenderer(this, 0, 0);
        this.shape5.setRotationPoint(0.0F, 11.0F, -12.0F);
        this.shape5.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape5, 0.2617993877991494F, 0.0F, 0.0F);
        this.Footfront = new ModelRenderer(this, 0, 8);
        this.Footfront.setRotationPoint(0.0F, 20.0F, -28.0F);
        this.Footfront.addBox(-2.0F, 0.0F, -7.0F, 4, 1, 5, 0.0F);
        this.setRotateAngle(Footfront, 0.5235987755982988F, -0.0F, 0.0F);
        this.shape2 = new ModelRenderer(this, 0, 0);
        this.shape2.mirror = true;
        this.shape2.setRotationPoint(0.0F, 10.0F, -3.0F);
        this.shape2.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape2, 0.08726646259971647F, -0.08726646259971647F, 0.7853981633974483F);
        this.shape7 = new ModelRenderer(this, 0, 0);
        this.shape7.setRotationPoint(0.0F, 12.0F, -18.0F);
        this.shape7.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape7, 0.3490658503988659F, 0.0F, 0.0F);
        this.shape4 = new ModelRenderer(this, 0, 0);
        this.shape4.mirror = true;
        this.shape4.setRotationPoint(0.0F, 10.0F, -9.0F);
        this.shape4.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape4, 0.17453292519943295F, -0.17453292519943295F, 0.7853981633974483F);
        this.Footleft = new ModelRenderer(this, 32, 0);
        this.Footleft.mirror = true;
        this.Footleft.setRotationPoint(0.0F, 20.0F, -28.0F);
        this.Footleft.addBox(2.0F, 0.0F, -2.0F, 5, 1, 4, 0.0F);
        this.setRotateAngle(Footleft, 0.0F, -0.0F, 0.5235987755982988F);
        this.shape6 = new ModelRenderer(this, 0, 0);
        this.shape6.mirror = true;
        this.shape6.setRotationPoint(0.0F, 11.0F, -15.0F);
        this.shape6.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape6, 0.2617993877991494F, -0.2617993877991494F, 0.7853981633974483F);
        this.shape9 = new ModelRenderer(this, 0, 0);
        this.shape9.setRotationPoint(0.0F, 14.0F, -24.0F);
        this.shape9.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape9, 0.7853981633974483F, 0.0F, 0.0F);
        this.shape1 = new ModelRenderer(this, 0, 0);
        this.shape1.setRotationPoint(0.0F, 10.0F, 0.0F);
        this.shape1.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape1, 0.08726646259971647F, 0.0F, 0.0F);
        this.Footmain = new ModelRenderer(this, 16, 0);
        this.Footmain.setRotationPoint(0.0F, 20.0F, -28.0F);
        this.Footmain.addBox(-2.0F, 0.0F, -2.0F, 4, 4, 4, 0.0F);
        this.Footright = new ModelRenderer(this, 32, 0);
        this.Footright.setRotationPoint(0.0F, 20.0F, -28.0F);
        this.Footright.addBox(-7.0F, 0.0F, -2.0F, 5, 1, 4, 0.0F);
        this.setRotateAngle(Footright, 0.0F, -0.0F, -0.5235987755982988F);
        this.shape10 = new ModelRenderer(this, 0, 0);
        this.shape10.mirror = true;
        this.shape10.setRotationPoint(0.0F, 17.0F, -26.0F);
        this.shape10.addBox(-2.0F, -2.0F, -4.0F, 4, 4, 4, 0.0F);
        this.setRotateAngle(shape10, 0.7853981633974483F, -0.7853981633974483F, 0.7853981633974483F);
    }

    @Override
    @SideOnly(Side.CLIENT)
    public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5) { 
        this.shape8.render(f5);
        this.shape3.render(f5);
        this.shape5.render(f5);
        this.Footfront.render(f5);
        this.shape2.render(f5);
        this.shape7.render(f5);
        this.shape4.render(f5);
        this.Footleft.render(f5);
        this.shape6.render(f5);
        this.shape9.render(f5);
        this.shape1.render(f5);
        this.Footmain.render(f5);
        this.Footright.render(f5);
        this.shape10.render(f5);
    }

    /**
     * This is a helper function from Tabula to set the rotation of model parts
     */
    public void setRotateAngle(ModelRenderer modelRenderer, float x, float y, float z) {
        modelRenderer.rotateAngleX = x;
        modelRenderer.rotateAngleY = y;
        modelRenderer.rotateAngleZ = z;
    }
}

Leg class:

package com.cruelar.cruelars_triforcemod.entities.monster;

import net.minecraft.entity.Entity;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.monster.EntityMob;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;

import java.util.List;
import java.util.UUID;

public class LegGuardian extends EntityMob{

    public static final ResourceLocation RESOURCE_LOCATION = new ResourceLocation("cruelars_triforcemod:textures/entity/guardian_leg.png");
    public UUID parent;
    public String partName;

    public LegGuardian(World world){
        super(world);
        init();
    }

    @Override
    public String toString()
    {
        return String.format("%s['%s'/%d, l='%s', x=%.2f, y=%.2f, z=%.2f]", this.getClass().getSimpleName(), this.getName(), this.getEntityId(), this.world == null ? "~NULL~" : this.world.getWorldInfo().getWorldName(), this.posX, this.posY, this.posZ);
    }

    @Override
    protected void applyEntityAttributes(){
        super.applyEntityAttributes();
        this.getEntityAttribute(SharedMonsterAttributes.MAX_HEALTH).setBaseValue(100.0D);
        this.getEntityAttribute(SharedMonsterAttributes.ARMOR).setBaseValue(10.0D);
    }

    private void init() {
        this.setSize(1.5F, 1.0F);
        this.ignoreFrustumCheck = true;
    }

    public void setParent(Guardian_Stalker parent) {
        this.parent = parent.getUniqueID();
    }

    public Guardian_Stalker getParent() {
        return this.getEntityByUUID(parent,this.world);
    }

    public void setPartName(String partName) {
        this.partName = partName;
    }

    public String getPartName() {
        return partName;
    }

    protected void onDeathUpdate()
    {
        ++this.deathTime;
        if (this.deathTime == 20)
        {
            if (parent!=null) {
                this.getEntityByUUID(parent, this.world).attackEntityFrom(DamageSource.causeIndirectDamage(this, this.getEntityByUUID(parent, this.world)), 100.0F);
            }
            this.setDead();
            for (int k = 0; k < 20; ++k)
            {
                double d2 = this.rand.nextGaussian() * 0.02D;
                double d0 = this.rand.nextGaussian() * 0.02D;
                double d1 = this.rand.nextGaussian() * 0.02D;
                this.world.spawnParticle(EnumParticleTypes.EXPLOSION_NORMAL, this.posX + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, this.posY + (double)(this.rand.nextFloat() * this.height), this.posZ + (double)(this.rand.nextFloat() * this.width * 2.0F) - (double)this.width, d2, d0, d1);
            }
        }
    }

    @Override
    protected void entityInit() {
        super.entityInit();
    }

    @Override
    public void readEntityFromNBT(NBTTagCompound compound) {
        Entity entity = getEntityByUUID(compound.getUniqueId("parent"), world);
        if (entity != null) {
            ((Guardian_Stalker)entity).setNextLeg(this);
            parent = ((Guardian_Stalker)entity).getUniqueID();
        }
    }

    @Override
    public void writeEntityToNBT(NBTTagCompound compound) {
        if (parent!=null) {
            compound.setUniqueId("parent", parent);
        }
    }

    public boolean isEntityEqual(Entity entityIn) {
        return parent != null && (this == entityIn || this.parent == entityIn.getUniqueID());
    }

    private Guardian_Stalker getEntityByUUID(UUID entityUUID, World worldIn){
        int lenght =worldIn.loadedEntityList.size();
        List<Entity> loadedEntityList= worldIn.loadedEntityList;
        Guardian_Stalker foundEntity = null;
        for (int i = 0;i<lenght;i++){
            if (loadedEntityList.get(i).getUniqueID()==entityUUID){
                foundEntity = (Guardian_Stalker) loadedEntityList.get(i);
            }
        }
        return foundEntity;
    }
}

LegRenderer:

package com.cruelar.cruelars_triforcemod.renderer;

import com.cruelar.cruelars_triforcemod.entities.monster.LegGuardian;
import com.cruelar.cruelars_triforcemod.model.ModelGuardianLeg;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderLiving;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.client.registry.IRenderFactory;

import javax.annotation.Nonnull;
import javax.annotation.Nullable;

public class RenderGuardianLeg extends RenderLiving<LegGuardian> { //Only basic stuff by now

    private ResourceLocation mobTexture = new ResourceLocation("cruelars_triforcemod:textures/entity/guardian_leg.png");

    public static final Factory FACTORY = new Factory();

    public RenderGuardianLeg(RenderManager renderManager){
        super(renderManager, new ModelGuardianLeg(),0.5F);
    }

    @Nullable
    @Override
    protected ResourceLocation getEntityTexture(@Nonnull LegGuardian entity) {
        return mobTexture;
    }



    public static class Factory implements IRenderFactory<LegGuardian> {

        @Override
        public Render<? super LegGuardian> createRenderFor(RenderManager manager){
            return new RenderGuardianLeg(manager);
        }
    }
}

Rest I have'nt started yet

Really any help is appreciated. I f the Way I use the Forum here to get lots of Information to this one thing dear moderators please just warn me. I'll then only ask for specific stuff but as this is a big project I thought I need all help I can get.

Edited by _Cruelar_
Updated code

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

Updated code.

When I start minecraft the debugger says me he can't evaluate it classname.toString()

Quote

Method threw 'java.lang.NullPointerException' exception. Cannot evaluate com.cruelar.cruelars_triforcemod.entities.monster.LegGuardian.toString()

So what should I do to fix that without giving up on the Entity?

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

Updated code I was able to spawn the Entity for a short amount of time until I added th updating code for the Legs in onLivingUpdate in The MainEntity class.

Comments are ideas I had to fix my Problems.

Log

Spoiler

[18:05:16] [Server thread/INFO] [FML]: The state engine was in incorrect state SERVER_STOPPING and forced into state SERVER_STOPPED. Errors may have been discarded.
[18:05:28] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: ---- Minecraft Crash Report ----
// Would you like a cupcake?

Time: 8/15/18 6:05 PM
Description: Ticking entity

java.lang.NullPointerException: Ticking entity
    at com.cruelar.cruelars_triforcemod.entities.monster.Guardian_Stalker.onLivingUpdate(Guardian_Stalker.java:300)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2396)
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:346)
    at net.minecraft.entity.monster.EntityMob.onUpdate(EntityMob.java:57)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2168)
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:871)
    at net.minecraft.world.World.updateEntity(World.java:2127)
    at net.minecraft.world.World.updateEntities(World.java:1928)
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:643)
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:842)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592)
    at java.lang.Thread.run(Thread.java:748)


A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Thread: Client thread
Stacktrace:
    at com.cruelar.cruelars_triforcemod.entities.monster.Guardian_Stalker.onLivingUpdate(Guardian_Stalker.java:300)
    at net.minecraft.entity.EntityLivingBase.onUpdate(EntityLivingBase.java:2396)
    at net.minecraft.entity.EntityLiving.onUpdate(EntityLiving.java:346)
    at net.minecraft.entity.monster.EntityMob.onUpdate(EntityMob.java:57)
    at net.minecraft.world.World.updateEntityWithOptionalForce(World.java:2168)
    at net.minecraft.world.WorldServer.updateEntityWithOptionalForce(WorldServer.java:871)
    at net.minecraft.world.World.updateEntity(World.java:2127)

-- Entity being ticked --
Details:
    Entity Type: cruelars_triforcemod:textures/entity/guardian_stalker.png (com.cruelar.cruelars_triforcemod.entities.monster.Guardian_Stalker)
    Entity ID: 168
    Entity Name: Guardian Stalker (doesn't work!)
    Entity's Exact location: 228.50, 95.00, 266.50
    Entity's Block location: World: (228,95,266), Chunk: (at 4,5,10 in 14,16; contains blocks 224,0,256 to 239,255,271), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Entity's Momentum: -1.32, 0.00, -2.63
    Entity's Passengers: []
    Entity's Vehicle: ~~ERROR~~ NullPointerException: null
Stacktrace:
    at net.minecraft.world.World.updateEntities(World.java:1928)
    at net.minecraft.world.WorldServer.updateEntities(WorldServer.java:643)

-- Affected level --
Details:
    Level name: Triforce Test
    All players: 0 total; []
    Chunk stats: ServerChunkCache: 625 Drop: 0
    Level seed: -7073363584905754142
    Level generator: ID 00 - default, ver 1. Features enabled: true
    Level generator options:
    Level spawn location: World: (172,64,212), Chunk: (at 12,4,4 in 10,13; contains blocks 160,0,208 to 175,255,223), Region: (0,0; contains chunks 0,0 to 31,31, blocks 0,0,0 to 511,255,511)
    Level time: 2007341 game time, 4523 day time
    Level dimension: 0
    Level storage version: 0x04ABD - Anvil
    Level weather: Rain time: 1 (now: false), thunder time: 1 (now: false)
    Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Stacktrace:
    at net.minecraft.server.MinecraftServer.updateTimeLightAndEntities(MinecraftServer.java:842)
    at net.minecraft.server.MinecraftServer.tick(MinecraftServer.java:743)
    at net.minecraft.server.integrated.IntegratedServer.tick(IntegratedServer.java:192)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:592)
    at java.lang.Thread.run(Thread.java:748)

-- System Details --
Details:
    Minecraft Version: 1.12.2
    Operating System: Windows 10 (amd64) version 10.0
    Java Version: 1.8.0_152, Oracle Corporation
    Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 310326008 bytes (295 MB) / 861405184 bytes (821 MB) up to 1883242496 bytes (1796 MB)
    JVM Flags: 0 total;
    IntCache: cache: 0, tcache: 0, allocated: 12, tallocated: 94
    FML: MCP 9.42 Powered by Forge 14.23.4.2705 9 mods loaded, 9 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored

    | State     | ID                   | Version      | Source                           | Signature |
    |:--------- |:-------------------- |:------------ |:-------------------------------- |:--------- |
    | UCHIJAAAA | minecraft            | 1.12.2       | minecraft.jar                    | None      |
    | UCHIJAAAA | mcp                  | 9.42         | minecraft.jar                    | None      |
    | UCHIJAAAA | FML                  | 8.0.99.99    | forgeSrc-1.12.2-14.23.4.2705.jar | None      |
    | UCHIJAAAA | forge                | 14.23.4.2705 | forgeSrc-1.12.2-14.23.4.2705.jar | None      |
    | UCHIJAAAA | cruelars_triforcemod | 0.4.2        | Cruelars_Triforcemod_main        | None      |
    | UCHIJAAAA | journeymap           | 1.12.2-5.5.2 | journeymap-1.12.2-5.5.2.jar      | None      |
    | UCHIJAAAA | baubles              | 1.5.2        | Baubles-Mod-1.12.2.jar           | None      |
    | UCHIJAAAA | ichunutil            | 7.1.4        | iChunUtil-1.12.2-7.1.4.jar       | None      |
    | UCHIJAAAA | tabula               | 7.0.0        | Tabula-1.12.2-7.0.0-deobf.jar    | None      |

    Loaded coremods (and transformers):
    GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
    Profiler Position: N/A (disabled)
    Player Count: 0 / 8; []
    Type: Integrated Server (map_client.txt)
    Is Modded: Definitely; Client brand changed to 'fml,forge'
[18:05:28] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: #@!@# Game crashed! Crash report saved to: #@!@# .\crash-reports\crash-2018-08-15_18.05.15-server.txt
[18:05:28] [Client Shutdown Thread/INFO] [net.minecraft.server.MinecraftServer]: Stopping server

Could anyone give me a other Solution for updating the Position of the Legs? Or at least an idea where to search. Note currently I use the EntityDragon code.

Edited by _Cruelar_

My Projects:

Cruelars Triforcemod (1.12 release; 1.14 alpha soon coming)

 

Important:

As my mod is on at least 10 different third party sites without my permission, I want to warn you about that with a link to StopModReposts

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Announcements



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • I had the same issue. The only thing I could do is to remove parchment mappings entirely from config files and replace config files from the MDK: 1. replace build.gradle from MDK 2. restore official mapping in build.properties 3. replace src\main\resources\META-INF\mods.toml from MDK sample.
    • ---- Minecraft Crash Report ---- I sent a error report i just cant understand it, the game as been running fine intill today i loaded it https://pastebin.com/gWVFh4Fe   WARNING: coremods are present:   ForgelinPlugin (Forgelin-1.8.3.jar)   PatchingFixRtmCorePlugin (fixRtm-2.0.28.jar)   IELoadingPlugin (ImmersiveEngineering-core-0.12-98.jar)   FixRtmCorePlugin (fixRtm-2.0.28.jar)   JarInJarLoaderCoreMod (fixRtm-2.0.28.jar)   BetterFoliageLoader (BetterFoliage-MC1.12-2.3.2.jar)   SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.9.jar)   OpenModsCorePlugin (OpenModsLib-1.12.2-0.12.2.jar)   MalisisCorePlugin (MalisisCore-1.12.2.jar)   ObfuscatePlugin (obfuscate-0.4.2-1.12.2.jar)   CTMCorePlugin (CTM-MC1.12.2-1.0.2.31.jar)   HookingFixRtmCorePlugin (fixRtm-2.0.28.jar) Contact their authors BEFORE contacting forge // Hey, that tickles! Hehehe! Time: 4/19/24 4:05 PM Description: Updating screen events java.lang.RuntimeException: Failed to check session lock, aborting     at net.minecraft.world.storage.SaveHandler.func_75766_h(SaveHandler.java:76)     at net.minecraft.world.storage.SaveHandler.<init>(SaveHandler.java:54)     at net.minecraft.world.chunk.storage.AnvilSaveHandler.<init>(AnvilSaveHandler.java:18)     at net.minecraft.world.chunk.storage.AnvilSaveConverter.func_75804_a(SourceFile:84)     at net.minecraft.client.Minecraft.func_71371_a(Minecraft.java:2346)     at net.minecraftforge.fml.client.FMLClientHandler.tryLoadExistingWorld(FMLClientHandler.java:734)     at net.minecraft.client.gui.GuiListWorldSelectionEntry.func_186777_e(GuiListWorldSelectionEntry.java:249)     at net.minecraft.client.gui.GuiListWorldSelectionEntry.func_186774_a(GuiListWorldSelectionEntry.java:199)     at net.minecraft.client.gui.GuiListWorldSelectionEntry.func_148278_a(GuiListWorldSelectionEntry.java:163)     at net.minecraft.client.gui.GuiListExtended.func_148179_a(SourceFile:41)     at net.minecraft.client.gui.GuiWorldSelection.func_73864_a(SourceFile:117)     at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:533)     at net.minecraft.client.gui.GuiWorldSelection.func_146274_d(SourceFile:49)     at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:501)     at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1759)     at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)     at net.minecraft.client.main.Main.main(SourceFile:123)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Head -- Thread: Client thread Stacktrace:     at net.minecraft.world.storage.SaveHandler.func_75766_h(SaveHandler.java:76)     at net.minecraft.world.storage.SaveHandler.<init>(SaveHandler.java:54)     at net.minecraft.world.chunk.storage.AnvilSaveHandler.<init>(AnvilSaveHandler.java:18)     at net.minecraft.world.chunk.storage.AnvilSaveConverter.func_75804_a(SourceFile:84)     at net.minecraft.client.Minecraft.func_71371_a(Minecraft.java:2346)     at net.minecraftforge.fml.client.FMLClientHandler.tryLoadExistingWorld(FMLClientHandler.java:734)     at net.minecraft.client.gui.GuiListWorldSelectionEntry.func_186777_e(GuiListWorldSelectionEntry.java:249)     at net.minecraft.client.gui.GuiListWorldSelectionEntry.func_186774_a(GuiListWorldSelectionEntry.java:199)     at net.minecraft.client.gui.GuiListWorldSelectionEntry.func_148278_a(GuiListWorldSelectionEntry.java:163)     at net.minecraft.client.gui.GuiListExtended.func_148179_a(SourceFile:41)     at net.minecraft.client.gui.GuiWorldSelection.func_73864_a(SourceFile:117)     at net.minecraft.client.gui.GuiScreen.func_146274_d(GuiScreen.java:533)     at net.minecraft.client.gui.GuiWorldSelection.func_146274_d(SourceFile:49)     at net.minecraft.client.gui.GuiScreen.func_146269_k(GuiScreen.java:501) -- Affected screen -- Details:     Screen name: net.minecraft.client.gui.GuiWorldSelection Stacktrace:     at net.minecraft.client.Minecraft.func_71407_l(Minecraft.java:1759)     at net.minecraft.client.Minecraft.func_71411_J(Minecraft.java:1098)     at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:398)     at net.minecraft.client.main.Main.main(SourceFile:123)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)     at java.lang.reflect.Method.invoke(Method.java:497)     at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)     at net.minecraft.launchwrapper.Launch.main(Launch.java:28) -- System Details -- Details:     Minecraft Version: 1.12.2     Operating System: Windows 10 (amd64) version 10.0     Java Version: 1.8.0_51, Oracle Corporation     Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation     Memory: 5013709368 bytes (4781 MB) / 11274289152 bytes (10752 MB) up to 12884901888 bytes (12288 MB)     JVM Flags: 8 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx12G -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:G1NewSizePercent=20 -XX:G1ReservePercent=20 -XX:MaxGCPauseMillis=50 -XX:G1HeapRegionSize=32M     IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0     FML: MCP 9.42 Powered by Forge 14.23.5.2859 Optifine OptiFine_1.12.2_HD_U_G5 99 mods loaded, 99 mods active     States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored     | State  | ID                          | Version               | Source                                            | Signature                                |     |:------ |:--------------------------- |:--------------------- |:------------------------------------------------- |:---------------------------------------- |     | LCHIJA | minecraft                   | 1.12.2                | minecraft.jar                                     | None                                     |     | LCHIJA | mcp                         | 9.42                  | minecraft.jar                                     | None                                     |     | LCHIJA | FML                         | 8.0.99.99             | forge-1.12.2-14.23.5.2859.jar                     | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LCHIJA | forge                       | 14.23.5.2859          | forge-1.12.2-14.23.5.2859.jar                     | e3c3d50c7c986df74c645c0ac54639741c90a557 |     | LCHIJA | openmodscore                | 0.12.2                | minecraft.jar                                     | None                                     |     | LCHIJA | obfuscate                   | 0.4.2                 | minecraft.jar                                     | None                                     |     | LCHIJA | securitycraft               | v1.9.9                | [1.12.2] SecurityCraft v1.9.9.jar                 | None                                     |     | LCHIJA | mts                         | 22.14.2               | Immersive Vehicles-1.12.2-22.14.2.jar             | None                                     |     | LCHIJA | mtsaircooled                | 1.0.1                 | Air-Cooled Pack [MTS] 1.10.2-14.0.0-1.0.1.jar     | None                                     |     | LCHIJA | codechickenlib              | 3.2.3.358             | CodeChickenLib-1.12.2-3.2.3.358-universal.jar     | f1850c39b2516232a2108a7bd84d1cb5df93b261 |     | LCHIJA | ancientwarfare              | 1.12.2-2.7.0.1038     | ancientwarfare-1.12.2-2.7.0.1038.jar              | None                                     |     | LCHIJA | redstoneflux                | 2.1.1                 | RedstoneFlux-1.12-2.1.1.1-universal.jar           | None                                     |     | LCHIJA | ancientwarfareautomation    | 1.12.2-2.7.0.1038     | ancientwarfare-1.12.2-2.7.0.1038.jar              | None                                     |     | LCHIJA | ancientwarfarenpc           | 1.12.2-2.7.0.1038     | ancientwarfare-1.12.2-2.7.0.1038.jar              | None                                     |     | LCHIJA | ancientwarfarestructure     | 1.12.2-2.7.0.1038     | ancientwarfare-1.12.2-2.7.0.1038.jar              | None                                     |     | LCHIJA | ancientwarfarevehicle       | 1.12.2-2.7.0.1038     | ancientwarfare-1.12.2-2.7.0.1038.jar              | None                                     |     | LCHIJA | craftstudioapi              | 1.0.0                 | CraftStudio-1.0.0.93-mc1.12-alpha.jar             | None                                     |     | LCHIJA | animania                    | 2.0.3.28              | animania-1.12.2-base-2.0.3.28.jar                 | None                                     |     | LCHIJA | architecturecraft           | @VERSION@             | architecturecraft-1.12-3.108.jar                  | None                                     |     | LCHIJA | betteranimationscollection2 | 1.0.2                 | BetterAnimationsCollection2-v1.0.2-1.12.2.jar     | 12d137bcc36051a1c2c8ea7211cfc1da1c6e9dea |     | LCHIJA | forgelin                    | 1.8.3                 | Forgelin-1.8.3.jar                                | None                                     |     | LCHIJA | betterfoliage               | 2.3.1                 | BetterFoliage-MC1.12-2.3.2.jar                    | None                                     |     | LCHIJA | bibliocraft                 | 2.4.6                 | BiblioCraft[v2.4.6][MC1.12.2].jar                 | None                                     |     | LCHIJA | biomestaff                  | 1.0.0                 | BiomeStaff-1.12.2-1.0.0.jar                       | None                                     |     | LCHIJA | blockcraftery               | 1.12.2-1.3.1          | blockcraftery-1.12.2-1.3.1.jar                    | None                                     |     | LCHIJA | bookshelf                   | 2.3.590               | Bookshelf-1.12.2-2.3.590.jar                      | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | bookworm                    | 1.12.2-2.5.2.1        | Bookworm-Library-Mod-1.12.2.jar                   | None                                     |     | LCHIJA | brandonscore                | 2.4.20                | BrandonsCore-1.12.2-2.4.20.162-universal.jar      | None                                     |     | LCHIJA | bspkrscore                  | 8.0.0                 | BspkrsCore-1.12.2.jar                             | None                                     |     | LCHIJA | carpentersblocks            | 3.4.0-poc.6           | Carpenters-Blocks-v3.4.0-poc.6-MC-1.12.2.jar      | None                                     |     | LCHIJA | ctm                         | MC1.12.2-1.0.2.31     | CTM-MC1.12.2-1.0.2.31.jar                         | None                                     |     | LCHIJA | jei                         | 4.16.1.1012           | jei_1.12.2-4.16.1.1012.jar                        | None                                     |     | LCHIJA | chisel                      | MC1.12.2-1.0.2.45     | Chisel-Mod-1.12.2.jar                             | None                                     |     | LCHIJA | chiselsandbits              | 14.33                 | chiselsandbits-14.33.jar                          | None                                     |     | LCHIJA | customspawner               | 3.11.4                | CustomMobSpawner-3.11.5.jar                       | None                                     |     | LCHIJA | customsignposts             | 1.0                   | customsignposts-1.12.2-1.0.1.jar                  | None                                     |     | LCHIJA | ptrmodellib                 | 1.0.5                 | PTRLib-1.0.5.jar                                  | None                                     |     | LCHIJA | props                       | 2.6.3.7               | Decocraft-2.6.3.7_1.12.2.jar                      | None                                     |     | LCHIJA | mocreatures                 | 12.0.5                | DrZharks MoCreatures Mod-12.0.5.jar               | None                                     |     | LCHIJA | engineersdecor              | 1.1.5                 | engineersdecor-1.12.2-1.1.5.jar                   | ed58ed655893ced6280650866985abcae2bf7559 |     | LCHIJA | exoticbirds                 | 1.0                   | Exotic Birds 1.12.2-3.2.0.jar                     | None                                     |     | LCHIJA | unuparts                    | 6.5.0                 | UNU Parts Pack [MTS] 1.12.2-22.13.0-6.5.0.jar     | None                                     |     | LCHIJA | unuverse                    | 2.0.0                 | ExpandedUNUversePack[MTS]1.12.2-19.15.5-2.0.0.jar | None                                     |     | LCHIJA | fairylights                 | 2.1.10                | fairylights-2.2.0-1.12.2.jar                      | None                                     |     | LCHIJA | fcl                         | 1.12.82               | FCL-1.12.82c.jar                                  | None                                     |     | LCHIJA | net/fexcraft/lib/frl        | 1.2                   | FCL-1.12.82c.jar                                  | None                                     |     | LCHIJA | net/fexcraft/lib/tmt        | 1.15                  | FCL-1.12.82c.jar                                  | None                                     |     | LCHIJA | famm                        | 3.4.0                 | Fexs-Alphabet-and-More-Mod-Forge-1.12.2.jar       | None                                     |     | LCHIJA | forgemultipartcbe           | 2.6.2.83              | ForgeMultipart-1.12.2-2.6.2.83-universal.jar      | f1850c39b2516232a2108a7bd84d1cb5df93b261 |     | LCHIJA | microblockcbe               | 2.6.2.83              | ForgeMultipart-1.12.2-2.6.2.83-universal.jar      | None                                     |     | LCHIJA | minecraftmultipartcbe       | 2.6.2.83              | ForgeMultipart-1.12.2-2.6.2.83-universal.jar      | None                                     |     | LCHIJA | funkylocomotion             | 1.0                   | funky-locomotion-1.12.2-1.1.2.jar                 | None                                     |     | LCHIJA | furenikusroads              | 1.2.5                 | Furenikus_Roads-1.2.5.jar                         | None                                     |     | LCHIJA | cfm                         | 6.3.0                 | furniture-6.3.2-1.12.2.jar                        | None                                     |     | LCHIJA | waila                       | 1.8.22                | Hwyla-1.8.22-B37_1.12.jar                         | None                                     |     | LCHIJA | trackapi                    | 1.2                   | TrackAPI-1.2.jar                                  | None                                     |     | LCHIJA | universalmodcore            | 1.2.1                 | UniversalModCore-1.12.2-forge-1.2.1.jar           | None                                     |     | LCHIJA | immersiverailroading        | 1.10.0                | ImmersiveRailroading-1.12.2-forge-1.10.0.jar      | None                                     |     | LCHIJA | journeymap                  | 1.12.2-5.7.1p2        | journeymap-1.12.2-5.7.1p2.jar                     | None                                     |     | LCHIJA | zawa                        | 1.12.2-2.1.3          | zawa-1.12.2-2.1.3.jar                             | 3ee471ded1bba54aa82f4f5ca5ca82dd67b8ef42 |     | LCHIJA | lilcritters                 | 1.12.2-1.1.0.0        | Lil-Critters-Mod-Forge-1.12.2.jar                 | None                                     |     | LCHIJA | malisiscore                 | 1.12.2-6.5.1-SNAPSHOT | MalisisCore-1.12.2.jar                            | None                                     |     | LCHIJA | malisisdoors                | 1.12.2-7.3.0          | MalisisDoors-Mod-1.12.2.jar                       | None                                     |     | LCHIJA | mcwbridges                  | 1.0.6                 | mcw-bridges-1.0.6b-mc1.12.2.jar                   | None                                     |     | LCHIJA | mcwfences                   | 1.0.0                 | mcw-fences-1.0.0-mc1.12.2.jar                     | None                                     |     | LCHIJA | mcwroofs                    | 1.0.2                 | mcw-roofs-1.0.2-mc1.12.2.jar                      | None                                     |     | LCHIJA | moon-core                   | 7.0                   | Moons-Core-Forge-1.12.2.jar                       | None                                     |     | LCHIJA | mrtjpcore                   | 2.1.4.43              | MrTJPCore-1.12.2-2.1.4.43-universal.jar           | None                                     |     | LCHIJA | railcraft                   | 12.0.0                | railcraft-12.0.0.jar                              | a0c255ac501b2749537d5824bb0f0588bf0320fa |     | LCHIJA | mtr                         | 3.0.0                 | MTR-1.12.2-alpha-test-0.0.1.jar                   | None                                     |     | LCHIJA | kadwinjpvehicles            | 2.0.0                 | MTS_Kadwin_JP_Vehicles_Pack_4.1.jar               | None                                     |     | LCHIJA | ngtlib                      | 2.4.21                | NGTLib2.4.21-38_forge-1.12.2-14.23.2.2611.jar     | None                                     |     | LCHIJA | projectintelligence         | 1.0.9                 | ProjectIntelligence-1.12.2-1.0.9.28-universal.jar | None                                     |     | LCHIJA | nei                         | 2.4.3                 | NotEnoughItems-1.12.2-2.4.3.245-universal.jar     | f1850c39b2516232a2108a7bd84d1cb5df93b261 |     | LCHIJA | oe                          | 1.0.7                 | OceanicExpanse-1.0.7.jar                          | None                                     |     | LCHIJA | openmods                    | 0.12.2                | OpenModsLib-1.12.2-0.12.2.jar                     | d2a9a8e8440196e26a268d1f3ddc01b2e9c572a5 |     | LCHIJA | openblocks                  | 1.8.1                 | OpenBlocks-1.12.2-1.8.1.jar                       | d2a9a8e8440196e26a268d1f3ddc01b2e9c572a5 |     | LCHIJA | placeableitems              | 3.3                   | placeableitems-3.3.jar                            | None                                     |     | LCHIJA | projectred-core             | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-Base.jar              | None                                     |     | LCHIJA | projectred-integration      | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-integration.jar       | None                                     |     | LCHIJA | projectred-transmission     | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-integration.jar       | None                                     |     | LCHIJA | projectred-illumination     | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-lighting.jar          | None                                     |     | LCHIJA | projectred-expansion        | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-mechanical.jar        | None                                     |     | LCHIJA | projectred-relocation       | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-mechanical.jar        | None                                     |     | LCHIJA | projectred-transportation   | 4.9.4.120             | ProjectRed-1.12.2-4.9.4.120-mechanical.jar        | None                                     |     | LCHIJA | rtm                         | 2.4.24                | RTM2.4.24-43_forge-1.12.2-14.23.2.2611.jar        | None                                     |     | LCHIJA | trafficcontrol              | 1.1.1                 | trafficcontrol-1.1.1.jar                          | None                                     |     | LCHIJA | travelersbackpack           | 1.0.35                | TravelersBackpack-1.12.2-1.0.35.jar               | None                                     |     | LCHIJA | iv_tpp                      | 2.22.0                | Trin Parts Pack-1.12.2-2.23.1.jar                 | None                                     |     | LCHIJA | unucivil                    | 6.3.0                 | UNU Civilian Pack [MTS] 1.12.2-22.13.0-6.3.0.jar  | None                                     |     | LCHIJA | vehicle                     | 0.44.1                | vehicle-mod-0.44.1-1.12.2.jar                     | None                                     |     | LCHIJA | wawla                       | 2.6.275               | Wawla-1.12.2-2.6.275.jar                          | d476d1b22b218a10d845928d1665d45fce301b27 |     | LCHIJA | worldedit                   | 6.1.10                | worldedit-forge-mc1.12.2-6.1.10-dist.jar          | None                                     |     | LCHIJA | worldstatecheckpoints       | 1.12.2.1.2.1          | WorldStateCheckpoints-client-1.12.2.1.2.1.jar     | None                                     |     | LCHIJA | wrcbe                       | 2.3.2                 | WR-CBE-1.12.2-2.3.2.33-universal.jar              | f1850c39b2516232a2108a7bd84d1cb5df93b261 |     | LCHIJA | zoocraftdiscoveries         | 1.0                   | Zoocraft+Discoveries+1.12.2-1.3.0.jar             | None                                     |     | LCHIJA | immersiveengineering        | 0.12-98               | ImmersiveEngineering-0.12-98.jar                  | None                                     |     | LCHIJA | fix-rtm                     | 2.0.28                | fixRtm-2.0.28.jar                                 | None                                     |     | LCHIJA | mysticallib                 | 1.12.2-1.13.0         | mysticallib-1.12.2-1.13.0.jar                     | None                                     |     Loaded coremods (and transformers): ForgelinPlugin (Forgelin-1.8.3.jar)   PatchingFixRtmCorePlugin (fixRtm-2.0.28.jar)   com.anatawa12.fixRtm.asm.patching.PatchApplier IELoadingPlugin (ImmersiveEngineering-core-0.12-98.jar)   blusunrize.immersiveengineering.common.asm.IEClassTransformer FixRtmCorePlugin (fixRtm-2.0.28.jar)   JarInJarLoaderCoreMod (fixRtm-2.0.28.jar)   com.anatawa12.fixRtm.jarInJar.JarInJarPatcher BetterFoliageLoader (BetterFoliage-MC1.12-2.3.2.jar)   mods.betterfoliage.loader.BetterFoliageTransformer SecurityCraftLoadingPlugin ([1.12.2] SecurityCraft v1.9.9.jar)   OpenModsCorePlugin (OpenModsLib-1.12.2-0.12.2.jar)   openmods.core.OpenModsClassTransformer MalisisCorePlugin (MalisisCore-1.12.2.jar)   ObfuscatePlugin (obfuscate-0.4.2-1.12.2.jar)   com.mrcrayfish.obfuscate.asm.ObfuscateTransformer CTMCorePlugin (CTM-MC1.12.2-1.0.2.31.jar)   team.chisel.ctm.client.asm.CTMTransformer HookingFixRtmCorePlugin (fixRtm-2.0.28.jar)   com.anatawa12.fixRtm.asm.hooking.HookingTransformer     GL info: ' Vendor: 'NVIDIA Corporation' Version: '4.6.0 NVIDIA 551.86' Renderer: 'NVIDIA GeForce RTX 3070/PCIe/SSE2'     OpenModsLib class transformers: [llama_null_fix:FINISHED],[horse_base_null_fix:FINISHED],[pre_world_render_hook:FINISHED],[player_render_hook:FINISHED],[horse_null_fix:FINISHED]     RTM Model Status: Initialized 1048 models, Using 0 models     I = Initialized, C = Constructed, SMP = SMP includeds     | model pack                                      | all | I | C   | SMP |     |:----------------------------------------------- |:--- |:- |:--- |:--- |     | mods\ModelPack_Nak_5_Structure_240313.zip       | 458 | 0 | 458 | 0   |     | mods\RTM2.4.24-43_forge-1.12.2-14.23.2.2611.jar | 281 | 0 | 281 | 0   |     | mods\rtm_Saracalias Pack v0.2.01.zip            | 309 | 0 | 309 | 0   |     Launched Version: 1.12.2-forge-14.23.5.2859     LWJGL: 2.9.4     OpenGL: NVIDIA GeForce RTX 3070/PCIe/SSE2 GL version 4.6.0 NVIDIA 551.86, NVIDIA Corporation     GL Caps: Using GL 1.3 multitexturing. Using GL 1.3 texture combiners. Using framebuffer objects because OpenGL 3.0 is supported and separate blending is supported. Shaders are available because OpenGL 2.1 is supported. VBOs are available because OpenGL 1.5 is supported.     Using VBOs: Yes     Is Modded: Definitely; Client brand changed to 'fml,forge'     Type: Client (map_client.txt)     Resource Packs: NickMiner69V2.zip, MPT-4.zip, feldbahnpackv1-3.zip, G_P_Narrow_Gauge_Texel_Pack_V1.0.3.zip     Current Language: English (US)     Profiler Position: N/A (disabled)     CPU: 8x Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz     OptiFine Version: OptiFine_1.12.2_HD_U_G5     OptiFine Build: 20210124-142939     Render Distance Chunks: 12     Mipmaps: 4     Anisotropic Filtering: 1     Antialiasing: 0     Multitexture: false     Shaders: null     OpenGlVersion: 4.6.0 NVIDIA 551.86     OpenGlRenderer: NVIDIA GeForce RTX 3070/PCIe/SSE2     OpenGlVendor: NVIDIA Corporation     CpuCount: 8
    • i notice a change if i add the min and max ram in the line like this for example:    # Xmx and Xms set the maximum and minimum RAM usage, respectively. # They can take any number, followed by an M or a G. # M means Megabyte, G means Gigabyte. # For example, to set the maximum to 3GB: -Xmx3G # To set the minimum to 2.5GB: -Xms2500M # A good default for a modded server is 4GB. # Uncomment the next line to set it. -Xmx10240M -Xms8192M    i need to make more experiments but for now this apparently works.
    • This honestly might just work for you @SubscribeEvent public static void onScreenRender(ScreenEvent.Render.Post event) { final var player = Minecraft.getInstance().player; final var options = Minecraft.getInstance().options; if(!hasMyEffect(player)) return; // TODO: You provide hasMyEffect float f = Mth.lerp(event.getPartialTick(), player.oSpinningEffectIntensity, player.spinningEffectIntensity); float f1 = ((Double)options.screenEffectScale().get()).floatValue(); if(f <= 0F || f1 >= 1F) return; float p_282656_ = f * (1.0F - f1); final var p_282460_ = event.getGuiGraphics(); int i = p_282460_.guiWidth(); int j = p_282460_.guiHeight(); p_282460_.pose().pushPose(); float f5 = Mth.lerp(p_282656_, 2.0F, 1.0F); p_282460_.pose().translate((float)i / 2.0F, (float)j / 2.0F, 0.0F); p_282460_.pose().scale(f5, f5, f5); p_282460_.pose().translate((float)(-i) / 2.0F, (float)(-j) / 2.0F, 0.0F); float f4 = 0.2F * p_282656_; float f2 = 0.4F * p_282656_; float f3 = 0.2F * p_282656_; RenderSystem.disableDepthTest(); RenderSystem.depthMask(false); RenderSystem.enableBlend(); RenderSystem.blendFuncSeparate(GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE, GlStateManager.SourceFactor.ONE, GlStateManager.DestFactor.ONE); p_282460_.setColor(f4, f2, f3, 1.0F); p_282460_.blit(new ResourceLocation("textures/misc/nausea.png"), 0, 0, -90, 0.0F, 0.0F, i, j, i, j); p_282460_.setColor(1.0F, 1.0F, 1.0F, 1.0F); RenderSystem.defaultBlendFunc(); RenderSystem.disableBlend(); RenderSystem.depthMask(true); RenderSystem.enableDepthTest(); p_282460_.pose().popPose(); }   Note: Most of this is directly copied from GameRenderer as you pointed out you found. The only thing you'll have to likely do is update the `oSpinningEffectIntensity` + `spinningEffectIntensity` variables on the player when your effect is applied. Which values should be there? Not 100% sure, might be a game of guess and check, but `handleNetherPortalClient` in LocalPlayer has some hard coded you might be able to start with.
    • I have been having a problem with minecraft forge. Any version. Everytime I try to launch it it always comes back with error code 1. I have tried launching from curseforge, from the minecraft launcher. I have also tried resetting my computer to see if that would help. It works on my other computer but that one is too old to run it properly. I have tried with and without mods aswell. Fabric works, optifine works, and MultiMC works aswell but i want to use forge. If you can help with this issue please DM on discord my # is Haole_Dawg#6676
  • Topics

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.