Jump to content

1.11 No Code errors, but crash on start up (thrownentity) (-slvd fix pg2)


Recommended Posts

Posted

Here are all the classes I have that are relative to the custom entity snowball, if someone would be nice enough to help me in this debacle it would be nice. I'm having a really hard time with this...

 

Main Class:

 

package exampled.modinfo;

import exampled.modinfo.init.ExampledEntities;
import exampled.modinfo.init.ExampledItems;
import exampled.modinfo.proxy.CommonProxy;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry;

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION)
public class Exampled
{
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
public static CommonProxy proxy;
@Instance(Reference.MOD_ID)
private static Exampled instance;
private static ResourceLocation rsrcl;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
	ModCreativeTabs.load();
	proxy.preInit();
	ExampledItems.init();
	ExampledItems.register();
	ExampledEntities.registerEntities(rsrcl);
	initRecipes();
}
    @EventHandler
    public void init(FMLInitializationEvent event)
    { 
	proxy.registerRenders();
        proxy.registerKeybindings();
        NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy);
    }	
private static void initRecipes()
{
	GameRegistry.addRecipe(new ItemStack(ExampledItems.SPHERE), new Object[] {" X ",  "X X", " X ", 'X', Item.getItemFromBlock(Blocks.DIRT)});
}
public static Exampled getInstance()
{
	return instance;
}
public static ResourceLocation getResourceLocation()
{
	return rsrcl;
}
}

 

 

ModCreativeTabs:

 

package exampled.modinfo;

import net.minecraft.creativetab.CreativeTabs;

public class ModCreativeTabs {
public static CreativeTabs example_tab;
public static void load(){
	example_tab = new ExampledCreativeTab(CreativeTabs.getNextID());
}
}

 

 

ExampledCreativeTab:

 

package exampled.modinfo;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class ExampledCreativeTab extends CreativeTabs {
public ExampledCreativeTab(int id) {
	super("example_tab");
}
@Override
public ItemStack getTabIconItem() {
	return new ItemStack(Items.ENCHANTED_BOOK);
}
}

 

 

References:

 

package exampled.modinfo;

public class Reference
{
public static final String MOD_ID = "exampled";
public static final String MOD_NAME = "change_this_to_set_mod_name";
public static final String MOD_VERSION = "1.0";

public static final String CLIENT_PROXY_CLASS = "exampled.modinfo.proxy.ClientProxy";
public static final String SERVER_PROXY_CLASS = "exampled.modinfo.proxy.CommonProxy";
}

 

 

EntityOrb(basicallyentitythrowable):

 

package exampled.modinfo.entity;

import java.util.List;
import java.util.UUID;
import javax.annotation.Nullable;
import net.minecraft.block.Block;
import net.minecraft.entity.Entity;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.IProjectile;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Blocks;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.ResourceLocation;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.math.AxisAlignedBB;
import net.minecraft.util.math.BlockPos;
import net.minecraft.util.math.MathHelper;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.util.math.Vec3d;
import net.minecraft.world.World;
import net.minecraft.world.WorldServer;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public abstract class EntityOrb extends Entity implements IProjectile
{
    private int xTile;
    private int yTile;
    private int zTile;
    private Block inTile;
    protected boolean inGround;
    public int throwableShake;
    /** The entity that threw this throwable item. */
    private EntityLivingBase thrower;
    private String throwerName;
    private int ticksInGround;
    private int ticksInAir;
    public Entity ignoreEntity;
    private int ignoreTime;

    public EntityOrb(World worldIn)
    {
        super(worldIn);
        this.xTile = -1;
        this.yTile = -1;
        this.zTile = -1;
        this.setSize(0.25F, 0.25F);
    }

    public EntityOrb(World worldIn, double x, double y, double z)
    {
        this(worldIn);
        this.setPosition(x, y, z);
    }

    public EntityOrb(World worldIn, EntityLivingBase throwerIn)
    {
        this(worldIn, throwerIn.posX, throwerIn.posY + (double)throwerIn.getEyeHeight() - 0.10000000149011612D, throwerIn.posZ);
        this.thrower = throwerIn;
    }

    protected void entityInit()
    {
    }

    /**
     * Checks if the entity is in range to render.
     */
    @SideOnly(Side.CLIENT)
    public boolean isInRangeToRenderDist(double distance)
    {
        double d0 = this.getEntityBoundingBox().getAverageEdgeLength() * 4.0D;

        if (Double.isNaN(d0))
        {
            d0 = 4.0D;
        }

        d0 = d0 * 64.0D;
        return distance < d0 * d0;
    }

    /**
     * Sets throwable heading based on an entity that's throwing it
     */
    public void setHeadingFromThrower(Entity entityThrower, float rotationPitchIn, float rotationYawIn, float pitchOffset, float velocity, float inaccuracy)
    {
        float f = -MathHelper.sin(rotationYawIn * 0.017453292F) * MathHelper.cos(rotationPitchIn * 0.017453292F);
        float f1 = -MathHelper.sin((rotationPitchIn + pitchOffset) * 0.017453292F);
        float f2 = MathHelper.cos(rotationYawIn * 0.017453292F) * MathHelper.cos(rotationPitchIn * 0.017453292F);
        this.setThrowableHeading((double)f, (double)f1, (double)f2, velocity, inaccuracy);
        this.motionX += entityThrower.motionX;
        this.motionZ += entityThrower.motionZ;

        if (!entityThrower.onGround)
        {
            this.motionY += entityThrower.motionY;
        }
    }

    /**
     * Similar to setArrowHeading, it's point the throwable entity to a x, y, z direction.
     */
    public void setThrowableHeading(double x, double y, double z, float velocity, float inaccuracy)
    {
        float f = MathHelper.sqrt_double(x * x + y * y + z * z);
        x = x / (double)f;
        y = y / (double)f;
        z = z / (double)f;
        x = x + this.rand.nextGaussian() * 0.007499999832361937D * (double)inaccuracy;
        y = y + this.rand.nextGaussian() * 0.007499999832361937D * (double)inaccuracy;
        z = z + this.rand.nextGaussian() * 0.007499999832361937D * (double)inaccuracy;
        x = x * (double)velocity;
        y = y * (double)velocity;
        z = z * (double)velocity;
        this.motionX = x;
        this.motionY = y;
        this.motionZ = z;
        float f1 = MathHelper.sqrt_double(x * x + z * z);
        this.rotationYaw = (float)(MathHelper.atan2(x, z) * (180D / Math.PI));
        this.rotationPitch = (float)(MathHelper.atan2(y, (double)f1) * (180D / Math.PI));
        this.prevRotationYaw = this.rotationYaw;
        this.prevRotationPitch = this.rotationPitch;
        this.ticksInGround = 0;
    }

    /**
     * Updates the velocity of the entity to a new value.
     */
    @SideOnly(Side.CLIENT)
    public void setVelocity(double x, double y, double z)
    {
        this.motionX = x;
        this.motionY = y;
        this.motionZ = z;

        if (this.prevRotationPitch == 0.0F && this.prevRotationYaw == 0.0F)
        {
            float f = MathHelper.sqrt_double(x * x + z * z);
            this.rotationYaw = (float)(MathHelper.atan2(x, z) * (180D / Math.PI));
            this.rotationPitch = (float)(MathHelper.atan2(y, (double)f) * (180D / Math.PI));
            this.prevRotationYaw = this.rotationYaw;
            this.prevRotationPitch = this.rotationPitch;
        }
    }

    /**
     * Called to update the entity's position/logic.
     */
    public void onUpdate()
    {
        this.lastTickPosX = this.posX;
        this.lastTickPosY = this.posY;
        this.lastTickPosZ = this.posZ;
        super.onUpdate();

        if (this.throwableShake > 0)
        {
            --this.throwableShake;
        }

        if (this.inGround)
        {
            if (this.worldObj.getBlockState(new BlockPos(this.xTile, this.yTile, this.zTile)).getBlock() == this.inTile)
            {
                ++this.ticksInGround;

                if (this.ticksInGround == 1200)
                {
                    this.setDead();
                }

                return;
            }

            this.inGround = false;
            this.motionX *= (double)(this.rand.nextFloat() * 0.2F);
            this.motionY *= (double)(this.rand.nextFloat() * 0.2F);
            this.motionZ *= (double)(this.rand.nextFloat() * 0.2F);
            this.ticksInGround = 0;
            this.ticksInAir = 0;
        }
        else
        {
            ++this.ticksInAir;
        }

        Vec3d vec3d = new Vec3d(this.posX, this.posY, this.posZ);
        Vec3d vec3d1 = new Vec3d(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);
        RayTraceResult raytraceresult = this.worldObj.rayTraceBlocks(vec3d, vec3d1);
        vec3d = new Vec3d(this.posX, this.posY, this.posZ);
        vec3d1 = new Vec3d(this.posX + this.motionX, this.posY + this.motionY, this.posZ + this.motionZ);

        if (raytraceresult != null)
        {
            vec3d1 = new Vec3d(raytraceresult.hitVec.xCoord, raytraceresult.hitVec.yCoord, raytraceresult.hitVec.zCoord);
        }

        Entity entity = null;
        List<Entity> list = this.worldObj.getEntitiesWithinAABBExcludingEntity(this, this.getEntityBoundingBox().addCoord(this.motionX, this.motionY, this.motionZ).expandXyz(1.0D));
        double d0 = 0.0D;
        boolean flag = false;

        for (int i = 0; i < list.size(); ++i)
        {
            Entity entity1 = (Entity)list.get(i);

            if (entity1.canBeCollidedWith())
            {
                if (entity1 == this.ignoreEntity)
                {
                    flag = true;
                }
                else if (this.thrower != null && this.ticksExisted < 2 && this.ignoreEntity == null)
                {
                    this.ignoreEntity = entity1;
                    flag = true;
                }
                else
                {
                    flag = false;
                    AxisAlignedBB axisalignedbb = entity1.getEntityBoundingBox().expandXyz(0.30000001192092896D);
                    RayTraceResult raytraceresult1 = axisalignedbb.calculateIntercept(vec3d, vec3d1);

                    if (raytraceresult1 != null)
                    {
                        double d1 = vec3d.squareDistanceTo(raytraceresult1.hitVec);

                        if (d1 < d0 || d0 == 0.0D)
                        {
                            entity = entity1;
                            d0 = d1;
                        }
                    }
                }
            }
        }

        if (this.ignoreEntity != null)
        {
            if (flag)
            {
                this.ignoreTime = 2;
            }
            else if (this.ignoreTime-- <= 0)
            {
                this.ignoreEntity = null;
            }
        }

        if (entity != null)
        {
            raytraceresult = new RayTraceResult(entity);
        }

        if (raytraceresult != null)
        {
            if (raytraceresult.typeOfHit == RayTraceResult.Type.BLOCK && this.worldObj.getBlockState(raytraceresult.getBlockPos()).getBlock() == Blocks.PORTAL)
            {
                this.setPortal(raytraceresult.getBlockPos());
            }
            else
            {
                this.onImpact(raytraceresult);
            }
        }

        this.posX += this.motionX;
        this.posY += this.motionY;
        this.posZ += this.motionZ;
        float f = MathHelper.sqrt_double(this.motionX * this.motionX + this.motionZ * this.motionZ);
        this.rotationYaw = (float)(MathHelper.atan2(this.motionX, this.motionZ) * (180D / Math.PI));

        for (this.rotationPitch = (float)(MathHelper.atan2(this.motionY, (double)f) * (180D / Math.PI)); this.rotationPitch - this.prevRotationPitch < -180.0F; this.prevRotationPitch -= 360.0F)
        {
            ;
        }

        while (this.rotationPitch - this.prevRotationPitch >= 180.0F)
        {
            this.prevRotationPitch += 360.0F;
        }

        while (this.rotationYaw - this.prevRotationYaw < -180.0F)
        {
            this.prevRotationYaw -= 360.0F;
        }

        while (this.rotationYaw - this.prevRotationYaw >= 180.0F)
        {
            this.prevRotationYaw += 360.0F;
        }

        this.rotationPitch = this.prevRotationPitch + (this.rotationPitch - this.prevRotationPitch) * 0.2F;
        this.rotationYaw = this.prevRotationYaw + (this.rotationYaw - this.prevRotationYaw) * 0.2F;
        float f1 = 0.99F;
        float f2 = this.getGravityVelocity();

        if (this.isInWater())
        {
            for (int j = 0; j < 4; ++j)
            {
                float f3 = 0.25F;
                this.worldObj.spawnParticle(EnumParticleTypes.WATER_BUBBLE, this.posX - this.motionX * 0.25D, this.posY - this.motionY * 0.25D, this.posZ - this.motionZ * 0.25D, this.motionX, this.motionY, this.motionZ, new int[0]);
            }

            f1 = 0.8F;
        }

        this.motionX *= (double)f1;
        this.motionY *= (double)f1;
        this.motionZ *= (double)f1;

        if (!this.hasNoGravity())
        {
            this.motionY -= (double)f2;
        }

        this.setPosition(this.posX, this.posY, this.posZ);
    }

    /**
     * Gets the amount of gravity to apply to the thrown entity with each tick.
     */
    protected float getGravityVelocity()
    {
        return 0.03F;
    }

    /**
     * Called when this EntityThrowable hits a block or entity.
     */
    protected abstract void onImpact(RayTraceResult result);

    public static void registerFixesThrowable(DataFixer fixer, String name)
    {
    }

    /**
     * (abstract) Protected helper method to write subclass entity data to NBT.
     */
    public void writeEntityToNBT(NBTTagCompound compound)
    {
        compound.setInteger("xTile", this.xTile);
        compound.setInteger("yTile", this.yTile);
        compound.setInteger("zTile", this.zTile);
        ResourceLocation resourcelocation = (ResourceLocation)Block.REGISTRY.getNameForObject(this.inTile);
        compound.setString("inTile", resourcelocation == null ? "" : resourcelocation.toString());
        compound.setByte("shake", (byte)this.throwableShake);
        compound.setByte("inGround", (byte)(this.inGround ? 1 : 0));

        if ((this.throwerName == null || this.throwerName.isEmpty()) && this.thrower instanceof EntityPlayer)
        {
            this.throwerName = this.thrower.getName();
        }

        compound.setString("ownerName", this.throwerName == null ? "" : this.throwerName);
    }

    /**
     * (abstract) Protected helper method to read subclass entity data from NBT.
     */
    public void readEntityFromNBT(NBTTagCompound compound)
    {
        this.xTile = compound.getInteger("xTile");
        this.yTile = compound.getInteger("yTile");
        this.zTile = compound.getInteger("zTile");

        if (compound.hasKey("inTile", )
        {
            this.inTile = Block.getBlockFromName(compound.getString("inTile"));
        }
        else
        {
            this.inTile = Block.getBlockById(compound.getByte("inTile") & 255);
        }

        this.throwableShake = compound.getByte("shake") & 255;
        this.inGround = compound.getByte("inGround") == 1;
        this.thrower = null;
        this.throwerName = compound.getString("ownerName");

        if (this.throwerName != null && this.throwerName.isEmpty())
        {
            this.throwerName = null;
        }

        this.thrower = this.getThrower();
    }

    @Nullable
    public EntityLivingBase getThrower()
    {
        if (this.thrower == null && this.throwerName != null && !this.throwerName.isEmpty())
        {
            this.thrower = this.worldObj.getPlayerEntityByName(this.throwerName);

            if (this.thrower == null && this.worldObj instanceof WorldServer)
            {
                try
                {
                    Entity entity = ((WorldServer)this.worldObj).getEntityFromUuid(UUID.fromString(this.throwerName));

                    if (entity instanceof EntityLivingBase)
                    {
                        this.thrower = (EntityLivingBase)entity;
                    }
                }
                catch (Throwable var2)
                {
                    this.thrower = null;
                }
            }
        }

        return this.thrower;
    }
}

 

 

EntitySphere That extends EntityOrb (snowball):

 

package exampled.modinfo.entity;

import net.minecraft.block.Block;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.monster.EntityBlaze;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.init.Blocks;
import net.minecraft.init.SoundEvents;
import net.minecraft.util.DamageSource;
import net.minecraft.util.EnumParticleTypes;
import net.minecraft.util.SoundCategory;
import net.minecraft.util.datafix.DataFixer;
import net.minecraft.util.math.RayTraceResult;
import net.minecraft.world.World;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;

public class EntitySphere extends EntityOrb
{
    public EntitySphere(World worldIn)
    {
        super(worldIn);
    }

    public EntitySphere(World worldIn, EntityLivingBase throwerIn)
    {
        super(worldIn, throwerIn);
    }

    public EntitySphere(World worldIn, double x, double y, double z)
    {
        super(worldIn, x, y, z);
    }

    public static void registerFixesSnowball(DataFixer fixer)
    {
        EntityThrowable.registerFixesThrowable(fixer, "Snowball");
    }

    @SideOnly(Side.CLIENT)
    public void handleStatusUpdate(byte id)
    {
        if (id == 3)
        {
            for (int i = 0; i < 8; ++i)
            {
                this.worldObj.spawnParticle(EnumParticleTypes.SNOWBALL, this.posX, this.posY, this.posZ, 0.0D, 0.0D, 0.0D, new int[0]);
            }
        }
    }

    /**
     * Called when this EntityThrowable hits a block or entity.
     */
    protected void onImpact(RayTraceResult result)
    {
        if (result.entityHit != null)
        {
            int i = 0;

            if (result.entityHit instanceof EntityBlaze)
            {
                i = 3;
            }

            result.entityHit.attackEntityFrom(DamageSource.causeThrownDamage(this, this.getThrower()), (float)i);
        }

        if (!this.worldObj.isRemote)
        {
            this.worldObj.setEntityState(this, (byte)3);
            this.setDead();
        }
    }
}

 

 

ModelOrb:

 

package exampled.modinfo.entity.model;

import net.minecraft.client.model.ModelBase;
import net.minecraft.util.ResourceLocation;

public abstract class ModelOrb extends ModelBase
{
    public abstract ResourceLocation getTexture();

public abstract boolean shouldBeTransparent();
}

 

 

ModelSphere:

 

package exampled.modinfo.entity.model;

import net.minecraft.client.model.ModelBase;
import net.minecraft.client.model.ModelRenderer;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;

public class ModelSphere extends ModelOrb
{
public ResourceLocation getTexture()
{
	return new ResourceLocation("exampled:textures/entity/sphere.png");
}

public boolean shouldBeTransparent()
{
	return true;
}

    ModelRenderer Shape1;
    ModelRenderer Shape2;
    ModelRenderer Shape3;
    ModelRenderer Shape4;
    ModelRenderer Shape5;
    ModelRenderer Shape6;
    ModelRenderer Shape7;
    ModelRenderer Shape8;
    ModelRenderer Shape9;
    ModelRenderer Shape10;
    ModelRenderer Shape11;
    ModelRenderer Shape12;
    ModelRenderer Shape13;
    ModelRenderer Shape14;
    ModelRenderer Shape15;
    ModelRenderer Shape16;
    ModelRenderer Shape17;
    ModelRenderer Shape18;
    ModelRenderer Shape19;
    ModelRenderer Shape20;
    ModelRenderer Shape21;
    ModelRenderer Shape22;
    ModelRenderer Shape23;
    ModelRenderer Shape24;
    ModelRenderer Shape25;
    ModelRenderer Shape26;
    ModelRenderer Shape27;
    ModelRenderer Shape28;
    ModelRenderer Shape29;
    ModelRenderer Shape30;
    ModelRenderer Shape31;
    ModelRenderer Shape32;
    ModelRenderer Shape33;
    ModelRenderer Shape34;
    ModelRenderer Shape35;
    ModelRenderer Shape36;
    ModelRenderer Shape37;
    ModelRenderer Shape38;
    ModelRenderer Shape39;
    ModelRenderer Shape40;
    ModelRenderer Shape41;
    ModelRenderer Shape42;
    ModelRenderer Shape43;
    ModelRenderer Shape44;
    ModelRenderer Shape45;
    ModelRenderer Shape46;
    ModelRenderer Shape47;
    ModelRenderer Shape48;
    ModelRenderer Shape49;
  
  public ModelSphere()
  {
    textureWidth = 32;
    textureHeight = 512;
    
      Shape1 = new ModelRenderer(this, 0, 0);
      Shape1.addBox(-1F, 0F, 0F, 5, 1, 1);
      Shape1.setRotationPoint(-2F, 22F, 0F);
      Shape1.setTextureSize(32, 512);
      Shape1.mirror = true;
      setRotation(Shape1, 0F, 0F, 0F);
      Shape2 = new ModelRenderer(this, 0, 0);
      Shape2.addBox(0F, 0F, 0F, 1, 1, 2);
      Shape2.setRotationPoint(-1F, 22F, 1F);
      Shape2.setTextureSize(32, 512);
      Shape2.mirror = true;
      setRotation(Shape2, 0F, 0F, 0F);
      Shape3 = new ModelRenderer(this, 0, 0);
      Shape3.addBox(0F, 0F, 0F, 1, 1, 2);
      Shape3.setRotationPoint(-1F, 22F, -2F);
      Shape3.setTextureSize(32, 512);
      Shape3.mirror = true;
      setRotation(Shape3, 0F, 0F, 0F);
      Shape4 = new ModelRenderer(this, 0, 0);
      Shape4.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape4.setRotationPoint(0F, 22F, 1F);
      Shape4.setTextureSize(32, 512);
      Shape4.mirror = true;
      setRotation(Shape4, 0F, 0F, 0F);
      Shape5 = new ModelRenderer(this, 0, 0);
      Shape5.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape5.setRotationPoint(0F, 22F, -1F);
      Shape5.setTextureSize(32, 512);
      Shape5.mirror = true;
      setRotation(Shape5, 0F, 0F, 0F);
      Shape6 = new ModelRenderer(this, 0, 0);
      Shape6.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape6.setRotationPoint(-2F, 22F, 1F);
      Shape6.setTextureSize(32, 512);
      Shape6.mirror = true;
      setRotation(Shape6, 0F, 0F, 0F);
      Shape7 = new ModelRenderer(this, 0, 0);
      Shape7.addBox(0F, 0F, -1F, 1, 1, 1);
      Shape7.setRotationPoint(-2F, 22F, 0F);
      Shape7.setTextureSize(32, 512);
      Shape7.mirror = true;
      setRotation(Shape7, 0F, 0F, 0F);
      Shape8 = new ModelRenderer(this, 0, 0);
      Shape8.addBox(0F, 0F, 0F, 5, 1, 1);
      Shape8.setRotationPoint(-3F, 10F, 0F);
      Shape8.setTextureSize(32, 512);
      Shape8.mirror = true;
      setRotation(Shape8, 0F, 0F, 0F);
      Shape9 = new ModelRenderer(this, 0, 0);
      Shape9.addBox(0F, 0F, 0F, 1, 1, 2);
      Shape9.setRotationPoint(-1F, 10F, 1F);
      Shape9.setTextureSize(32, 512);
      Shape9.mirror = true;
      setRotation(Shape9, 0F, 0F, 0F);
      Shape10 = new ModelRenderer(this, 0, 0);
      Shape10.addBox(0F, 0F, 0F, 1, 1, 2);
      Shape10.setRotationPoint(-1F, 10F, -2F);
      Shape10.setTextureSize(32, 512);
      Shape10.mirror = true;
      setRotation(Shape10, 0F, 0F, 0F);
      Shape11 = new ModelRenderer(this, 0, 0);
      Shape11.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape11.setRotationPoint(0F, 10F, -1F);
      Shape11.setTextureSize(32, 512);
      Shape11.mirror = true;
      setRotation(Shape11, 0F, 0F, 0F);
      Shape12 = new ModelRenderer(this, 0, 0);
      Shape12.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape12.setRotationPoint(0F, 10F, 1F);
      Shape12.setTextureSize(32, 512);
      Shape12.mirror = true;
      setRotation(Shape12, 0F, 0F, 0F);
      Shape13 = new ModelRenderer(this, 0, 0);
      Shape13.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape13.setRotationPoint(-2F, 10F, 1F);
      Shape13.setTextureSize(32, 512);
      Shape13.mirror = true;
      setRotation(Shape13, 0F, 0F, 0F);
      Shape14 = new ModelRenderer(this, 0, 0);
      Shape14.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape14.setRotationPoint(-2F, 10F, -1F);
      Shape14.setTextureSize(32, 512);
      Shape14.mirror = true;
      setRotation(Shape14, 0F, 0F, 0F);
      Shape15 = new ModelRenderer(this, 0, 0);
      Shape15.addBox(0F, 0F, 0F, 1, 1, 5);
      Shape15.setRotationPoint(5F, 16F, -2F);
      Shape15.setTextureSize(32, 512);
      Shape15.mirror = true;
      setRotation(Shape15, 0F, 0F, 0F);
      Shape16 = new ModelRenderer(this, 0, 0);
      Shape16.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape16.setRotationPoint(5F, 14F, 0F);
      Shape16.setTextureSize(32, 512);
      Shape16.mirror = true;
      setRotation(Shape16, 0F, 0F, 0F);
      Shape17 = new ModelRenderer(this, 0, 0);
      Shape17.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape17.setRotationPoint(5F, 17F, 0F);
      Shape17.setTextureSize(32, 512);
      Shape17.mirror = true;
      setRotation(Shape17, 0F, 0F, 0F);
      Shape18 = new ModelRenderer(this, 0, 0);
      Shape18.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape18.setRotationPoint(5F, 15F, 1F);
      Shape18.setTextureSize(32, 512);
      Shape18.mirror = true;
      setRotation(Shape18, 0F, 0F, 0F);
      Shape19 = new ModelRenderer(this, 0, 0);
      Shape19.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape19.setRotationPoint(5F, 15F, -1F);
      Shape19.setTextureSize(32, 512);
      Shape19.mirror = true;
      setRotation(Shape19, 0F, 0F, 0F);
      Shape20 = new ModelRenderer(this, 0, 0);
      Shape20.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape20.setRotationPoint(5F, 17F, 1F);
      Shape20.setTextureSize(32, 512);
      Shape20.mirror = true;
      setRotation(Shape20, 0F, 0F, 0F);
      Shape21 = new ModelRenderer(this, 0, 0);
      Shape21.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape21.setRotationPoint(5F, 17F, -1F);
      Shape21.setTextureSize(32, 512);
      Shape21.mirror = true;
      setRotation(Shape21, 0F, 0F, 0F);
      Shape22 = new ModelRenderer(this, 0, 0);
      Shape22.addBox(0F, 0F, 0F, 5, 1, 1);
      Shape22.setRotationPoint(-3F, 16F, -6F);
      Shape22.setTextureSize(32, 512);
      Shape22.mirror = true;
      setRotation(Shape22, 0F, 0F, 0F);
      Shape23 = new ModelRenderer(this, 0, 0);
      Shape23.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape23.setRotationPoint(-1F, 14F, -6F);
      Shape23.setTextureSize(32, 512);
      Shape23.mirror = true;
      setRotation(Shape23, 0F, 0F, 0F);
      Shape24 = new ModelRenderer(this, 0, 0);
      Shape24.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape24.setRotationPoint(-1F, 17F, -6F);
      Shape24.setTextureSize(32, 512);
      Shape24.mirror = true;
      setRotation(Shape24, 0F, 0F, 0F);
      Shape25 = new ModelRenderer(this, 0, 0);
      Shape25.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape25.setRotationPoint(0F, 17F, -6F);
      Shape25.setTextureSize(32, 512);
      Shape25.mirror = true;
      setRotation(Shape25, 0F, 0F, 0F);
      Shape26 = new ModelRenderer(this, 0, 0);
      Shape26.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape26.setRotationPoint(0F, 15F, -6F);
      Shape26.setTextureSize(32, 512);
      Shape26.mirror = true;
      setRotation(Shape26, 0F, 0F, 0F);
      Shape27 = new ModelRenderer(this, 0, 0);
      Shape27.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape27.setRotationPoint(-2F, 15F, -6F);
      Shape27.setTextureSize(32, 512);
      Shape27.mirror = true;
      setRotation(Shape27, 0F, 0F, 0F);
      Shape28 = new ModelRenderer(this, 0, 0);
      Shape28.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape28.setRotationPoint(-2F, 17F, -6F);
      Shape28.setTextureSize(32, 512);
      Shape28.mirror = true;
      setRotation(Shape28, 0F, 0F, 0F);
      Shape29 = new ModelRenderer(this, 0, 0);
      Shape29.addBox(0F, 0F, 0F, 5, 1, 1);
      Shape29.setRotationPoint(-3F, 16F, 6F);
      Shape29.setTextureSize(32, 512);
      Shape29.mirror = true;
      setRotation(Shape29, 0F, 0F, 0F);
      Shape30 = new ModelRenderer(this, 0, 0);
      Shape30.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape30.setRotationPoint(-1F, 14F, 6F);
      Shape30.setTextureSize(32, 512);
      Shape30.mirror = true;
      setRotation(Shape30, 0F, 0F, 0F);
      Shape31 = new ModelRenderer(this, 0, 0);
      Shape31.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape31.setRotationPoint(-1F, 17F, 6F);
      Shape31.setTextureSize(32, 512);
      Shape31.mirror = true;
      setRotation(Shape31, 0F, 0F, 0F);
      Shape32 = new ModelRenderer(this, 0, 0);
      Shape32.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape32.setRotationPoint(0F, 15F, 6F);
      Shape32.setTextureSize(32, 512);
      Shape32.mirror = true;
      setRotation(Shape32, 0F, 0F, 0F);
      Shape33 = new ModelRenderer(this, 0, 0);
      Shape33.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape33.setRotationPoint(-2F, 17F, 6F);
      Shape33.setTextureSize(32, 512);
      Shape33.mirror = true;
      setRotation(Shape33, 0F, 0F, 0F);
      Shape34 = new ModelRenderer(this, 0, 0);
      Shape34.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape34.setRotationPoint(-2F, 15F, 6F);
      Shape34.setTextureSize(32, 512);
      Shape34.mirror = true;
      setRotation(Shape34, 0F, 0F, 0F);
      Shape35 = new ModelRenderer(this, 0, 0);
      Shape35.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape35.setRotationPoint(0F, 17F, 6F);
      Shape35.setTextureSize(32, 512);
      Shape35.mirror = true;
      setRotation(Shape35, 0F, 0F, 0F);
      Shape36 = new ModelRenderer(this, 0, 0);
      Shape36.addBox(0F, 0F, 0F, 1, 1, 5);
      Shape36.setRotationPoint(-7F, 16F, -2F);
      Shape36.setTextureSize(32, 512);
      Shape36.mirror = true;
      setRotation(Shape36, 0F, 0F, 0F);
      Shape37 = new ModelRenderer(this, 0, 0);
      Shape37.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape37.setRotationPoint(-7F, 17F, 0F);
      Shape37.setTextureSize(32, 512);
      Shape37.mirror = true;
      setRotation(Shape37, 0F, 0F, 0F);
      Shape38 = new ModelRenderer(this, 0, 0);
      Shape38.addBox(0F, 0F, 0F, 1, 2, 1);
      Shape38.setRotationPoint(-7F, 14F, 0F);
      Shape38.setTextureSize(32, 512);
      Shape38.mirror = true;
      setRotation(Shape38, 0F, 0F, 0F);
      Shape39 = new ModelRenderer(this, 0, 0);
      Shape39.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape39.setRotationPoint(-7F, 17F, -1F);
      Shape39.setTextureSize(32, 512);
      Shape39.mirror = true;
      setRotation(Shape39, 0F, 0F, 0F);
      Shape40 = new ModelRenderer(this, 0, 0);
      Shape40.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape40.setRotationPoint(-7F, 15F, -1F);
      Shape40.setTextureSize(32, 512);
      Shape40.mirror = true;
      setRotation(Shape40, 0F, 0F, 0F);
      Shape41 = new ModelRenderer(this, 0, 0);
      Shape41.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape41.setRotationPoint(-7F, 17F, 1F);
      Shape41.setTextureSize(32, 512);
      Shape41.mirror = true;
      setRotation(Shape41, 0F, 0F, 0F);
      Shape42 = new ModelRenderer(this, 0, 0);
      Shape42.addBox(0F, 0F, 0F, 1, 1, 1);
      Shape42.setRotationPoint(-7F, 15F, 1F);
      Shape42.setTextureSize(32, 512);
      Shape42.mirror = true;
      setRotation(Shape42, 0F, 0F, 0F);
      Shape43 = new ModelRenderer(this, 0, 0);
      Shape43.addBox(0F, 0F, 0F, 7, 1, 7);
      Shape43.setRotationPoint(-4F, 21F, -3F);
      Shape43.setTextureSize(32, 512);
      Shape43.mirror = true;
      setRotation(Shape43, 0F, 0F, 0F);
      Shape44 = new ModelRenderer(this, 0, 0);
      Shape44.addBox(0F, 0F, 0F, 7, 1, 7);
      Shape44.setRotationPoint(-4F, 11F, -3F);
      Shape44.setTextureSize(32, 512);
      Shape44.mirror = true;
      setRotation(Shape44, 0F, 0F, 0F);
      Shape45 = new ModelRenderer(this, 0, 0);
      Shape45.addBox(0F, 0F, 0F, 1, 7, 7);
      Shape45.setRotationPoint(4F, 13F, -3F);
      Shape45.setTextureSize(32, 512);
      Shape45.mirror = true;
      setRotation(Shape45, 0F, 0F, 0F);
      Shape46 = new ModelRenderer(this, 0, 0);
      Shape46.addBox(0F, 0F, 0F, 1, 7, 7);
      Shape46.setRotationPoint(-6F, 13F, -3F);
      Shape46.setTextureSize(32, 512);
      Shape46.mirror = true;
      setRotation(Shape46, 0F, 0F, 0F);
      Shape47 = new ModelRenderer(this, 0, 0);
      Shape47.addBox(0F, 0F, 0F, 7, 7, 1);
      Shape47.setRotationPoint(-4F, 13F, 5F);
      Shape47.setTextureSize(32, 512);
      Shape47.mirror = true;
      setRotation(Shape47, 0F, 0F, 0F);
      Shape48 = new ModelRenderer(this, 0, 0);
      Shape48.addBox(0F, 0F, 0F, 7, 7, 1);
      Shape48.setRotationPoint(-4F, 13F, -5F);
      Shape48.setTextureSize(32, 512);
      Shape48.mirror = true;
      setRotation(Shape48, 0F, 0F, 0F);
      Shape49 = new ModelRenderer(this, 0, 0);
      Shape49.addBox(0F, 0F, 0F, 9, 9, 9);
      Shape49.setRotationPoint(-5F, 12F, -4F);
      Shape49.setTextureSize(32, 512);
      Shape49.mirror = true;
      setRotation(Shape49, 0F, 0F, 0F);
  }
  
  public void render(Entity entity, float f, float f1, float f2, float f3, float f4, float f5)
  {
    super.render(entity, f, f1, f2, f3, f4, f5);
    setRotationAngles(f, f1, f2, f3, f4, f5, entity);
    Shape1.render(f5);
    Shape2.render(f5);
    Shape3.render(f5);
    Shape4.render(f5);
    Shape5.render(f5);
    Shape6.render(f5);
    Shape7.render(f5);
    Shape8.render(f5);
    Shape9.render(f5);
    Shape10.render(f5);
    Shape11.render(f5);
    Shape12.render(f5);
    Shape13.render(f5);
    Shape14.render(f5);
    Shape15.render(f5);
    Shape16.render(f5);
    Shape17.render(f5);
    Shape18.render(f5);
    Shape19.render(f5);
    Shape20.render(f5);
    Shape21.render(f5);
    Shape22.render(f5);
    Shape23.render(f5);
    Shape24.render(f5);
    Shape25.render(f5);
    Shape26.render(f5);
    Shape27.render(f5);
    Shape28.render(f5);
    Shape29.render(f5);
    Shape30.render(f5);
    Shape31.render(f5);
    Shape32.render(f5);
    Shape33.render(f5);
    Shape34.render(f5);
    Shape35.render(f5);
    Shape36.render(f5);
    Shape37.render(f5);
    Shape38.render(f5);
    Shape39.render(f5);
    Shape40.render(f5);
    Shape41.render(f5);
    Shape42.render(f5);
    Shape43.render(f5);
    Shape44.render(f5);
    Shape45.render(f5);
    Shape46.render(f5);
    Shape47.render(f5);
    Shape48.render(f5);
    Shape49.render(f5);
  }
  
  private void setRotation(ModelRenderer model, float x, float y, float z)
  {
    model.rotateAngleX = x;
    model.rotateAngleY = y;
    model.rotateAngleZ = z;
  }
  
  public void setRotationAngles(float f, float f1, float f2, float f3, float f4, float f5, Entity entity)
  {
    super.setRotationAngles(f, f1, f2, f3, f4, f5, entity);
  }
}

 

 

RenderSphere:

 

package exampled.modinfo.entity.render;

import exampled.modinfo.entity.EntitySphere;
import exampled.modinfo.entity.model.ModelSphere;
import net.minecraft.client.renderer.GlStateManager;
import net.minecraft.client.renderer.entity.Render;
import net.minecraft.client.renderer.entity.RenderManager;
import net.minecraft.entity.Entity;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.relauncher.Side;
import net.minecraftforge.fml.relauncher.SideOnly;


@SideOnly(Side.CLIENT)
public class RenderSphere extends Render
{
    protected ModelSphere model;
    
    public RenderSphere(RenderManager renderManager)
    {
        super(renderManager);
        this.model = new ModelSphere();
    }
    
    public void doRender(EntitySphere entity, double x, double y, double z, float f, float partialTicks)
    {
        GlStateManager.pushMatrix();
        this.bindEntityTexture(entity);
        GlStateManager.translate(x, y - 0.4734, z);
        GlStateManager.rotate(entity.rotationYaw, 1, 80, 1);
        
        if(model.shouldBeTransparent())
        {
            GlStateManager.enableNormalize();
            GlStateManager.enableBlend();
            GlStateManager.blendFunc(770, 771);
            model.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
            GlStateManager.disableBlend();
            GlStateManager.disableNormalize();
        }
        else
            model.render(entity, 0.0F, 0.0F, -0.1F, 0.0F, 0.0F, 0.0625F);
        
        GlStateManager.popMatrix();
        super.doRender(entity, x, y, z, f, partialTicks);
    }
    
    protected ResourceLocation getTexture(EntitySphere entity)
    {
        return model.getTexture();
    }
    
    protected ResourceLocation getEntityTexture(Entity entity)
    {
        return this.getTexture((EntitySphere)entity);
    }
    public void doRender(Entity entity, double x, double y, double z, float f, float partialTicks)
    {
        this.doRender((EntitySphere)entity, x, y, z, f, partialTicks);
    }
}

 

 

ExampledEntities:

 

package exampled.modinfo.init;

import exampled.modinfo.Exampled;
import exampled.modinfo.entity.EntitySphere;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.EntityRegistry;

public class ExampledEntities
{
private static int id = 0;

public static void registerEntities(ResourceLocation rsrcl) {
	// TODO Auto-generated method stub
	register( rsrcl, EntitySphere.class, "sphere");
}

private static void register(ResourceLocation rsrcl, Class cls, String name)
{
	EntityRegistry.registerModEntity( rsrcl, cls, name, id++, Exampled.getInstance(), 128, 214, true);
}	
}

 

 

ExampledItems:

 

package exampled.modinfo.init;

import exampled.modinfo.ModCreativeTabs;
import exampled.modinfo.Reference;
import exampled.modinfo.item.ItemSphere;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.block.model.ModelResourceLocation;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.init.Blocks;
import net.minecraft.init.Items;
import net.minecraft.item.Item;
import net.minecraft.item.ItemBucket;
import net.minecraft.item.ItemStack;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class ExampledItems
{
public static Item SPHERE;

public static void init()
{
	Item item = (new ItemBucket(Blocks.AIR)).setUnlocalizedName("bucket").setMaxStackSize(16);
	SPHERE = new ItemSphere().setUnlocalizedName("sphere");
}
public static void register()
{
	GameRegistry.register(SPHERE.setRegistryName ("sphere"));
}
public static void registerRenders()
{
	registerRender(SPHERE);
}
private static void registerRender(Item item)
{
	Minecraft.getMinecraft().getRenderItem().getItemModelMesher().register(item, 0, new ModelResourceLocation(Reference.MOD_ID + ":" + item.getUnlocalizedName().substring(5), "inventory"));
}
}

 

 

ItemSphere:

 

package exampled.modinfo.item;

import exampled.modinfo.ModCreativeTabs;
import exampled.modinfo.entity.EntitySphere;
import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.entity.projectile.EntitySnowball;
import net.minecraft.init.SoundEvents;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.stats.StatList;
import net.minecraft.util.ActionResult;
import net.minecraft.util.EnumActionResult;
import net.minecraft.util.EnumHand;
import net.minecraft.util.SoundCategory;
import net.minecraft.world.World;

public class ItemSphere extends Item
{
    public ItemSphere()
    {
    	this.maxStackSize = 16;
    	this.setCreativeTab(ModCreativeTabs.example_tab);
    }

    public ActionResult<ItemStack> onItemRightClick(World itemStackIn, EntityPlayer worldIn, EnumHand playerIn)
    {
        ItemStack itemstack = worldIn.getHeldItem(playerIn);

        if (!worldIn.capabilities.isCreativeMode)
        {
            itemstack.func_190918_g(1);
        }

        itemStackIn.playSound((EntityPlayer)null, worldIn.posX, worldIn.posY, worldIn.posZ, SoundEvents.ENTITY_SNOWBALL_THROW, SoundCategory.NEUTRAL, 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));

        if (!itemStackIn.isRemote)
        {
            EntitySphere entitythrowable = new EntitySphere(itemStackIn, worldIn);
            entitythrowable.setHeadingFromThrower(worldIn, worldIn.rotationPitch, worldIn.rotationYaw, 0.0F, 1.5F, 1.0F);
            itemStackIn.spawnEntityInWorld(entitythrowable);
        }

        worldIn.addStat(StatList.getObjectUseStats(this));
        return new ActionResult(EnumActionResult.SUCCESS, itemstack);
    }
}

 

 

ClientProxy:

 

package exampled.modinfo.proxy;


import exampled.modinfo.entity.EntitySphere;
import exampled.modinfo.entity.render.RenderSphere;
import exampled.modinfo.init.ExampledItems;
import net.minecraftforge.fml.client.registry.RenderingRegistry;

public class ClientProxy extends CommonProxy
{
@Override
public void preInit()
{
	super.preInit();
	RenderingRegistry.registerEntityRenderingHandler(EntitySphere.class, RenderSphere::new);
}	
@Override
public void registerRenders()
{
	ExampledItems.registerRenders();
}
}

 

 

CommonProxy:

 

package exampled.modinfo.proxy;

import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.network.IGuiHandler;

public class CommonProxy implements IGuiHandler
{
    public void registerKeybindings()
    { 	
    }
public void registerRenders()
{		
}	
public void preInit()
{		
}
@Override
public Object getServerGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
	return null;
}
@Override
public Object getClientGuiElement(int ID, EntityPlayer player, World world, int x, int y, int z)
{
        return null;
}
}

 

 

 

I am unable to resolve this, I end up hitting an area where I get no red and it displays no errors and I get crashed... That's about as far as I've got :\. I got it to load one time but the entity was invisible and how I got that far escapes me now...

Posted

You forgot the most important part: the crash.

 

Ok, it did give me a crash report, I just had to find it:

---- Minecraft Crash Report ----
// Daisy, daisy...

Time: 11/19/16 2:36 PM
Description: There was a severe problem during mod loading that has caused the game to fail

net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from change_this_to_set_mod_name (exampled)
Caused by: java.lang.NullPointerException
at net.minecraftforge.fml.common.registry.IForgeRegistryEntry$Impl.setRegistryName(IForgeRegistryEntry.java:90)
at net.minecraftforge.fml.common.registry.EntityRegistry.doModEntityRegistration(EntityRegistry.java:181)
at net.minecraftforge.fml.common.registry.EntityRegistry.registerModEntity(EntityRegistry.java:149)
at exampled.modinfo.init.ExampledEntities.register(ExampledEntities.java:19)
at exampled.modinfo.init.ExampledEntities.registerEntities(ExampledEntities.java:14)
at exampled.modinfo.Exampled.preInit(Exampled.java:36)
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:498)
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:602)
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:498)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:243)
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:221)
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:498)
at com.google.common.eventbus.EventSubscriber.handleEvent(EventSubscriber.java:74)
at com.google.common.eventbus.SynchronizedEventSubscriber.handleEvent(SynchronizedEventSubscriber.java:47)
at com.google.common.eventbus.EventBus.dispatch(EventBus.java:322)
at com.google.common.eventbus.EventBus.dispatchQueuedEvents(EventBus.java:304)
at com.google.common.eventbus.EventBus.post(EventBus.java:275)
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:145)
at net.minecraftforge.fml.common.Loader.preinitializeMods(Loader.java:614)
at net.minecraftforge.fml.client.FMLClientHandler.beginMinecraftLoading(FMLClientHandler.java:263)
at net.minecraft.client.Minecraft.startGame(Minecraft.java:476)
at net.minecraft.client.Minecraft.run(Minecraft.java:385)
at net.minecraft.client.main.Main.main(Main.java:118)
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:498)
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135)
at net.minecraft.launchwrapper.Launch.main(Launch.java:28)
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:498)
at net.minecraftforge.gradle.GradleStartCommon.launch(GradleStartCommon.java:97)
at GradleStart.main(GradleStart.java:26)


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

-- System Details --
Details:
Minecraft Version: 1.11
Operating System: Windows Vista (x86) version 6.0
Java Version: 1.8.0_111, Oracle Corporation
Java VM Version: Java HotSpot(TM) Client VM (mixed mode), Oracle Corporation
Memory: 744004848 bytes (709 MB) / 1046937600 bytes (998 MB) up to 1046937600 bytes (998 MB)
JVM Flags: 3 total; -Xincgc -Xmx1024M -Xms1024M
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP 9.35 Powered by Forge 13.19.0.2153 4 mods loaded, 4 mods active
States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
UCH	mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
UCH	FML{8.0.99.99} [Forge Mod Loader] (forgeSrc-1.11-13.19.0.2153.jar) 
UCH	forge{13.19.0.2153} [Minecraft Forge] (forgeSrc-1.11-13.19.0.2153.jar) 
UCE	exampled{1.0} [change_this_to_set_mod_name] (bin) 
Loaded coremods (and transformers): 
GL info: ' Vendor: 'ATI Technologies Inc.' Version: '3.3.11672 Compatibility Profile Context' Renderer: 'ATI Radeon HD 2400 PRO'

Posted

You never initialize the

Exampled.rsrcl

field, hence it's value is

null

. You then pass it on to

ExampledEntities.registerEntities

and

ExampledEntities.register

, where you pass it to

EntityRegistry.registerModEntity

. You cannot use

null

as the registry name for an entity, provide a useful registry name, like for items and blocks.

 

Can you give me an example of this, please?

initialize the

Exampled.rsrcl

 

:| I feel bad for asking :\

Posted

You never initialize the

Exampled.rsrcl

field, hence it's value is

null

. You then pass it on to

ExampledEntities.registerEntities

and

ExampledEntities.register

, where you pass it to

EntityRegistry.registerModEntity

. You cannot use

null

as the registry name for an entity, provide a useful registry name, like for items and blocks.

 

Can you give me an example of this, please?

initialize the

Exampled.rsrcl

 

:| I feel bad for asking :\

rsrcl = new ResourceLocation(modid, name);

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

I almost hate this. (Ok, I do hate this.)

 

This sucks... and I still can't get it working.

 

{
private static int id = 0;

rsrcl = new ResourceLocation(ResourceLocation rsrcl, Class cls, String name);
{
	EntityRegistry.registerModEntity( rsrcl1, cls, name, id++, Exampled.getInstance(), 128, 214, true);
}

public static void registerEntities(ResourceLocation rsrcl) {
	// TODO Auto-generated method stub
	register( rsrcl, EntitySphere.class, "sphere");
}

}

 

 

Least now I know where its all screwed up.

Every time there's an update I get to start allll over again -.-

Posted

What in the heck are you doing? Just pass in a

ResourceLocation

. Don't put it in a static field or anything. Like with blocks. Or items.

 

I don't know how man!

 

"like for items and blocks."

 

I feel like bashing my head as hard as I can into this keyboard atm.

Posted

What in the heck are you doing? Just pass in a

ResourceLocation

. Don't put it in a static field or anything. Like with blocks. Or items.

 

I don't know how man!

 

"like for items and blocks."

 

I feel like bashing my head as hard as I can into this keyboard atm.

register(new ResourceLocation(modid, name), EntitySphere.class, "sphere");

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

Dude...

There is ONE new argument as opposed to before. You pass in a

ResourceLocation

there. Everything else stays the same. This is not hard. And if it is, you need to go learn programming.

 

Yeah, and I don't know how to use it, and it totally goes against everything I had before.

Posted

what is supposed to go into name here?

 

public static void registerEntities(ResourceLocation rsrcl) {

// TODO Auto-generated method stub

register(new ResourceLocation(id++, name), EntitySphere.class, "sphere");

}

Posted

Why on earth are you using id++ as your mod ID?!? Do you know what a ResourceLocation is? The first parameter should be your mod ID and the second parameter should be the name of your entity, which can be the same as the String you're passing to register for simplicity's sake.

Don't make mods if you don't know Java.

Check out my website: http://shadowfacts.net

Developer of many mods

Posted

I done said, I have no idea how to use resourcelocation at all.

 

I have not one ioda of a clue of what the flip I'm doin.

 

I'm just a normal guy, and I've managed to keep the project alive for a year. And I would like to keep it going.

Posted

I done said, I have no idea how to use resourcelocation at all.

 

I have not one ioda of a clue of what the flip I'm doin.

 

I'm just a normal guy, and I've managed to keep the project alive for a year. And I would like to keep it going.

Here is a hint if you do not know how to create an instance of a class: look at the classes constructor.

VANILLA MINECRAFT CLASSES ARE THE BEST RESOURCES WHEN MODDING

I will be posting 1.15.2 modding tutorials on this channel. If you want to be notified of it do the normal YouTube stuff like subscribing, ect.

Forge and vanilla BlockState generator.

Posted

ResourceLocation is used incredibly frequently in Minecraft/Forge/mods, it's used all over the place as a general mod ID + name identifier. If you can't look at the code for the class itself and the contexts in which it's used and understand it, you should probably spend some more time learning Java.

Don't make mods if you don't know Java.

Check out my website: http://shadowfacts.net

Developer of many mods

Posted

I done said, I have no idea how to use resourcelocation at all.

 

I have not one ioda of a clue of what the flip I'm doin.

 

I'm just a normal guy, and I've managed to keep the project alive for a year. And I would like to keep it going.

Here is a hint if you do not know how to create an instance of a class: look at the classes constructor.

 

as I did here:

private static ResourceLocation rsrcl;

I also did an instance for the creative tab.

 

or maybe not.... *sigh* I'm just going to go to bed and give up for now...

 

May be the end of the basic elements. dunno. I guess I'll find out every update.

Posted

as I did here:

private static ResourceLocation rsrcl;

I also did an instance for the creative tab.

 

That is not instantiation, that is field creation. Instantiation looks like this:

new ResourceLocation("minecraft:steak")

 

Oracle has a very good set of tutorials on the java basics. I've linked them below:

https://docs.oracle.com/javase/tutorial/java/concepts/

https://docs.oracle.com/javase/tutorial/java/nutsandbolts/

https://docs.oracle.com/javase/tutorial/java/javaOO/

Posted

I prefer calling it "declaration" as in "I declare that this variable exists" vs. "definition" as in "this is what this variable is."

Instantiation need not be part of a variable definition, but often is. (e.g. it can be passed as a method parameter instead, or ignored (cough, dead code, cough)).

Apparently I'm a complete and utter jerk and come to this forum just like to make fun of people, be confrontational, and make your personal life miserable.  If you think this is the case, JUST REPORT ME.  Otherwise you're just going to get reported when you reply to my posts and point it out, because odds are, I was trying to be nice.

 

Exception: If you do not understand Java, I WILL NOT HELP YOU and your thread will get locked.

 

DO NOT PM ME WITH PROBLEMS. No help will be given.

Posted

Awake again and back at it. Would almost just pay someone 5-10$ for an example snowball mod...

 

 

I don't like this part of modding. I like to do artwork. This part is miserable... and terrible, every aspect of it.

 

No -entities can be registered now heads up.

No -here is an example entity.

No -here's what changed note.

 

There's not any documentation on any of this stuff and its raw.

since waddles and better than bunnies do things in the way they do them I really don't have any code example to work off of. So I'm stuck and I'm just not going to continue til I can find an unfrustrating way of doing this.

 

either way I'm tired of getting screwed every update, and having to rewrite everything. Its not fun.

 

I have spent weeks solid watching newbostons videos. and I have studied java tutorials on oracle.

The issue is not with knowing java. the issue is with minecraft and how everything is all tangled up.

Or the documentation of changes. How to apply these changes. and how to change accordingly with an example without someone claiming its wrong to share code with someone. (because that's bs)

 

You can't know if you don't know and can't see it. There is a complete lack of community cooperation. A house divided does not stand, the same as one that is concealed.

 

You can make a block out of void utils for example and it wont have a texture, nor does it give you hints as to how to set a texture, therefore it fails as a block example. It also leaves out a lang file example.

 

The end result is a no textured block with a funky name. This is what I am referring to mentioning concealed above.

but, "that's the right way to do it". <--- I completely disagree.

 

clientSideOnly = false,

serverSideOnly = false,

 

wtf is this? How about a block example that actually works and is functional? Or a public list of changes, with a small explanation of how to interpret them.

 

Its like going into a store and breaking something, then leaving without paying for it.

Posted

Awake again and back at it. Would almost just pay someone 5-10$ for an example snowball mod...

This isn't going to be enough for anyone.

 

I don't like this part of modding. I like to do artwork. This part is miserable... and terrible, every aspect of it.

Then go make some art, or a ResourcePack or something. If you hate programming, modding isn't made for you.

 

No -entities can be registered now heads up.

If you take a look at the Forge changelog every day, you should've noticed that.

 

No -here is an example entity.

The vanilla code has enough example entity code.

 

No -here's what changed note.

Again, in the Forge changelog are a lot of clues as to what has changed.

 

There's not any documentation on any of this stuff and its raw.

mcforge.readthedocs.io

 

I'm tired of getting screwed every update, and having to rewrite everything. Its not fun.

No it isn't. That's just the way it is when modding a game without an official API.

 

I have spent weeks solid watching newbostons videos. and I have studied java tutorials on oracle.

 

Therein lies your issue. Just watching videos and reading stuff from the internet is not enough to learn Java good enough to make Minecraft mods. You should first try to make something in Java outside of Minecraft. This will actually learn you the basics of Java.

 

The issue is not with knowing java. the issue is with minecraft and how everything is all tangled up.

No, the issue isn't Minecraft, it's your Java that's the issue. You showed you don't know how to work with objects (
ResourceLocation

), how to define them and how to instantiate them, what static means and how to use it. There's a lot more I can go over, but I'll spare you the details.

 

with an example without someone claiming its wrong to share code with someone. (because that's bs)

This is because there are people that when someone asks for help, they give fully-working code, which they copy-paste in their own code and call it done. And then 2 days later we see a similar issue by the same user because the copy-pasted code isn't working, and he doesn't understand how it works.

 

There is a complete lack of community cooperation

Then what is this forum for?

 

You can make a block out of void utils for example and it wont have a texture, nor does it give you hints as to how to set a texture, therefore it fails as a block example. It also leaves out a lang file example.

There are hundreds if not thousands of threads on this forum that help other people with issues with textures, which you can take a look at. If they don't help, make a new thread here. Same applies for
.lang

files.

 

but, "that's the right way to do it". <--- I completely disagree.

Please, if you do, state why.

 

clientSideOnly = false,

serverSideOnly = false,

 

wtf is this?

From the @Mod documentation:

/**
     * If true, this mod will not be loaded on the Dedicated Server environment.
     * Will crash if both serverSideOnly and clientSideOnly are set to true.
     */
    boolean clientSideOnly() default false;

    /**
     * If true, this mod will not be loaded on the Client environment.
     * Will crash if both serverSideOnly and clientSideOnly are set to true.
     */
    boolean serverSideOnly() default false;

 

How about a block example that actually works and is functional?

Vanilla has tons of them.

 

Its like going into a store and breaking something, then leaving without paying for it.

Except the store is Mojang's store, and if they break it they don't have to pay for it, as it is their own.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

Awake again and back at it. Would almost just pay someone 5-10$ for an example snowball mod...

This isn't going to be enough for anyone.

-I shouldn't have to pay to know how to make a snowball anyways.

 

I don't like this part of modding. I like to do artwork. This part is miserable... and terrible, every aspect of it.

Then go make some art, or a ResourcePack or something. If you hate programming, modding isn't made for you.

Well its not that my entities and models and eveything else is wrong, its only the way it is registered.

 

No -entities can be registered now heads up.

If you take a look at the Forge changelog every day, you should've noticed that.

Yeah, on initial release of first draft you could not register entities.

 

No -here is an example entity.

The vanilla code has enough example entity code.

I have plenty of working entities myeself.

 

No -here's what changed note.

Again, in the Forge changelog are a lot of clues as to what has changed.

I'm talking about things more specifically like a note stating that itemstack will no longer work for things would have been nice on the first release of 1.11 forge.

 

There's not any documentation on any of this stuff and its raw.

mcforge.readthedocs.io

have read it several times.

 

 

I'm tired of getting screwed every update, and having to rewrite everything. Its not fun.

No it isn't. That's just the way it is when modding a game without an official API.

its extremely discouraging.

 

I have spent weeks solid watching newbostons videos. and I have studied java tutorials on oracle.

 

Therein lies your issue. Just watching videos and reading stuff from the internet is not enough to learn Java good enough to make Minecraft mods. You should first try to make something in Java outside of Minecraft. This will actually learn you the basics of Java.

I learned java by playing minecraft and using forge, a year ago I knew absolutely nothing short of modifying black & white maps in notepad.

 

The issue is not with knowing java. the issue is with minecraft and how everything is all tangled up.

No, the issue isn't Minecraft, it's your Java that's the issue. You showed you don't know how to work with objects (
ResourceLocation

), how to define them and how to instantiate them, what static means and how to use it. There's a lot more I can go over, but I'll spare you the details.

I know public static is that it can be seen by other files, and private static is so that it cannot be seen by other files. It is static because it can be seen in other places.

 

with an example without someone claiming its wrong to share code with someone. (because that's bs)

This is because there are people that when someone asks for help, they give fully-working code, which they copy-paste in their own code and call it done. And then 2 days later we see a similar issue by the same user because the copy-pasted code isn't working, and he doesn't understand how it works.

 

There is a complete lack of community cooperation

Then what is this forum for?

from what I've experienced scoffing or insulting people based on how ignorant you believe they are.

 

You can make a block out of void utils for example and it wont have a texture, nor does it give you hints as to how to set a texture, therefore it fails as a block example. It also leaves out a lang file example.

There are hundreds if not thousands of threads on this forum that help other people with issues with textures, which you can take a look at. If they don't help, make a new thread here. Same applies for
.lang

files.

 

but, "that's the right way to do it". <--- I completely disagree.

Please, if you do, state why.

This frustrates the end user in the creating of their first block and makes them miserable (least I felt a bit miserable after wasting hours of my life just to have a texturless ugly looking block that is generated by minecraft.)

 

clientSideOnly = false,

serverSideOnly = false,

 

wtf is this?

From the @Mod documentation:

/**
     * If true, this mod will not be loaded on the Dedicated Server environment.
     * Will crash if both serverSideOnly and clientSideOnly are set to true.
     */
    boolean clientSideOnly() default false;

    /**
     * If true, this mod will not be loaded on the Client environment.
     * Will crash if both serverSideOnly and clientSideOnly are set to true.
     */
    boolean serverSideOnly() default false;

 

How about a block example that actually works and is functional?

Vanilla has tons of them.

But the reality is, is that forge doesn't, there should be a working block example *at least in the documentation.

Instead of going, here's how your supposed to do it, but it doesn't work, HAHA. Then leaving you to the community to be insulted.

 

Its like going into a store and breaking something, then leaving without paying for it.

Except the store is Mojang's store, and if they break it they don't have to pay for it, as it is their own.

Except I programmed a store, and I put things in my store, and someone come into my store and broke my stuff without giving me some super glue to fix it with.

Posted

This isn't going to be enough for anyone.

-I shouldn't have to pay to know how to make a snowball anyways.

 

Then go make some art, or a ResourcePack or something. If you hate programming, modding isn't made for you.

Well its not that my entities and models and eveything else is wrong, its only the way it is registered.

 

If you take a look at the Forge changelog every day, you should've noticed that.

Yeah, on initial release of first draft you could not register entities.

 

The vanilla code has enough example entity code.

I have plenty of working entities myeself.

 

Again, in the Forge changelog are a lot of clues as to what has changed.

I'm talking about things more specifically like a note stating that itemstack will no longer work for things would have been nice on the first release of 1.11 forge.

 

mcforge.readthedocs.io

Have read it several times. Does not show you how to use java 8 with forge and eclipse.

 

 

No it isn't. That's just the way it is when modding a game without an official API.

its extremely discouraging.

 

 

Therein lies your issue. Just watching videos and reading stuff from the internet is not enough to learn Java good enough to make Minecraft mods. You should first try to make something in Java outside of Minecraft. This will actually learn you the basics of Java.

I learned java by playing minecraft and using forge, a year ago I knew absolutely nothing short of modifying black & white maps in notepad. I did learn how to do hello world, and get it to copy and respond to me though.

 

No, the issue isn't Minecraft, it's your Java that's the issue. You showed you don't know how to work with objects (

ResourceLocation

), how to define them and how to instantiate them, what static means and how to use it. There's a lot more I can go over, but I'll spare you the details.

I know public static is that it can be seen by other files, and private static is so that it cannot be seen by other files. It is static because it can be seen in other places within the same file.

 

This is because there are people that when someone asks for help, they give fully-working code, which they copy-paste in their own code and call it done. And then 2 days later we see a similar issue by the same user because the copy-pasted code isn't working, and he doesn't understand how it works.

If copy and pasting gives someone the base to interpret how to make what their doing functional that's good.

Interpretation though, at least the possibility for such would be possible.

 

Then what is this forum for?

from what I've experienced scoffing or insulting people based on how ignorant you believe they are. Or giving people small bits of code to work with and laughing as they fail.

 

There are hundreds if not thousands of threads on this forum that help other people with issues with textures, which you can take a look at. If they don't help, make a new thread here. Same applies for

.lang

files.

This frustrates the end user in the creating of their first block and makes them miserable (least I felt a bit miserable after wasting hours of my life just to have a textureless ugly looking block that is *produced by minecraft itself*.) -makes things hard on end user. -the wrong way -the block would not exist if not for mojang because technically it is/isn't a block used to cover bad or missing textures in a resourcepack, in other words its vanilla and coremods are not supported here.

 

"Here's the right way to do it"

"Coremods are not supported here, thread locked"

 

From the @Mod documentation:

/**
     * If true, this mod will not be loaded on the Dedicated Server environment.
     * Will crash if both serverSideOnly and clientSideOnly are set to true.
     */
    boolean clientSideOnly() default false;

    /**
     * If true, this mod will not be loaded on the Client environment.
     * Will crash if both serverSideOnly and clientSideOnly are set to true.
     */
    boolean serverSideOnly() default false;

Vanilla has tons of them.

But the reality is, is that forge doesn't, there should be a working block example *at least in the documentation.

Instead of going, here's how your supposed to do it, but it doesn't work, HAHA. Then leaving you to the community to be insulted.

 

 

Except I programmed a store, and I put things in my store, and someone come into my store and broke my stuff without giving me some super glue to fix it with. actually its more like my store was broken and not the stuff inside -which is worse.

Posted

I know public static is that it can be seen by other files, and private static is so that it cannot be seen by other files. It is static because it can be seen in other places.

Then what is the difference between
public

and

public static

?

 

As said before,

registerModEntity

takes in a

ResourceLocation

now. A

ResourceLocation

takes 2 parameters: a modid and an identifier. The modid is self-explanatory, and the identifier is either a path to a file or just a name. In this case a name, so just put the

name

variable as the second parameter.

 

This should be all you need to know about the Minecraft part of it, now you should go learn the Java part of it.

Don't PM me with questions. They will be ignored! Make a thread on the appropriate board for support.

 

1.12 -> 1.13 primer by williewillus.

 

1.7.10 and older versions of Minecraft are no longer supported due to it's age! Update to the latest version for support.

 

http://www.howoldisminecraft1710.today/

Posted

[Then what is the difference between

public

and

public static

?

 

As said before,

registerModEntity

takes in a

ResourceLocation

now. A

ResourceLocation

takes 2 parameters: a modid and an identifier. The modid is self-explanatory, and the identifier is either a path to a file or just a name. In this case a name, so just put the

name

variable as the second parameter.

 

This should be all you need to know about the Minecraft part of it, now you should go learn the Java part of it.

 

referencing.

Posted

YESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS I GOT IT IT TO WORK!!!!!

I FEEL SO AWESOME NOW!!!!

 

(I take back all that ugly stuff I said before.) (but seriously.... coremods are not supported here :P)

 

I can throw it! (haven't smoothed out the flight patterns or anything! but I can throw it! and it flies!)

YESSSSSSSSS, So elated!

 

Main class:

 

package exampled.modinfo;

import exampled.modinfo.entity.EntityOrb;
import exampled.modinfo.entity.EntitySphere;
import exampled.modinfo.init.ExampledEntities;
import exampled.modinfo.init.ExampledItems;
import exampled.modinfo.proxy.CommonProxy;
import net.minecraft.init.Blocks;
import net.minecraft.item.Item;
import net.minecraft.item.ItemStack;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.Mod;
import net.minecraftforge.fml.common.Mod.EventHandler;
import net.minecraftforge.fml.common.Mod.Instance;
import net.minecraftforge.fml.common.SidedProxy;
import net.minecraftforge.fml.common.event.FMLInitializationEvent;
import net.minecraftforge.fml.common.event.FMLPreInitializationEvent;
import net.minecraftforge.fml.common.network.NetworkRegistry;
import net.minecraftforge.fml.common.registry.EntityRegistry;
import net.minecraftforge.fml.common.registry.GameRegistry;

@Mod(modid = Reference.MOD_ID, name = Reference.MOD_NAME, version = Reference.MOD_VERSION)
public class Exampled
{
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
public static CommonProxy proxy;
@Instance(Reference.MOD_ID)
private static Exampled instance;
public static ResourceLocation rsrcl;
@EventHandler
public void preInit(FMLPreInitializationEvent event)
{
	ModCreativeTabs.load();
	proxy.preInit();
	ExampledItems.init();
	ExampledItems.register();
	ExampledEntities.registerEntities(getResourceLocation());
	initRecipes();
}
    @EventHandler
    public void init(FMLInitializationEvent event)
    { 
    	
	proxy.registerRenders();
        proxy.registerKeybindings();
        NetworkRegistry.INSTANCE.registerGuiHandler(instance, proxy);
    }	
private static void initRecipes()
{
	GameRegistry.addRecipe(new ItemStack(ExampledItems.SPHERE), new Object[] {" X ",  "X X", " X ", 'X', Item.getItemFromBlock(Blocks.DIRT)});
}
public static Exampled getInstance()
{
	return instance;
}
public static ResourceLocation getResourceLocation()
{
	return rsrcl;
}
}

 

 

ModEntitiesClass:

 

package exampled.modinfo.init;

import exampled.modinfo.Exampled;
import exampled.modinfo.Reference;
import exampled.modinfo.entity.EntityOrb;
import exampled.modinfo.entity.EntitySphere;
import net.minecraft.util.ResourceLocation;
import net.minecraftforge.fml.common.registry.EntityRegistry;

public class ExampledEntities
{	
static ResourceLocation rscrl = new ResourceLocation(Reference.MOD_ID, "EntitySphere");

public static void registerEntities(ResourceLocation rsrcl) {
	// TODO Auto-generated method stub
	EntityRegistry.registerModEntity(rscrl, EntitySphere.class, rscrl.toString(), 0, Exampled.getInstance(), 128, 214, true);
}
}

 

 

Friggin a dude, thank goodness. Couldn't have done it without your comment about public and public static, applause and thanks goes to you sir larsgerrits. <---this guys awesome.

BOOOOM, smooth flyin' thrown entity right there!!!!! no jitter as far as the eye can see!!!!

 

(saved ya 10 bucks)

 

WOOOOOOOOOOOOOOOOOO!

 

Edit: cleaned up modentityclass.

Posted
Since when do your entities work again?

 

 

Since now, and here's a 1.11 example thrown entity working src with a custom model and custom texture, since I don't feel like charging for it or keeping it to myself.

I'm not saying it couldn't be refined or anything. I just got it working. :);D:D:)

Renaming everything from example to make your own mod will show/teach you what to do. Its that simple.

 

https://www.dropbox.com/s/dlkuta8wakmr5rd/src.zip?dl=0

 

Programming is not magic, if there is an error in your program there is no way to magically just make it work because gurujive doesn't feel like debugging.

My code didn't have any errors though xD

----> in progress of magic mod now :P

 

This is bullshit. Nobody is "scoffing" or "insulting" you. But you have to live with the fact that if you don't know Java, we will tell you to go learn it elsewhere. If you walk into a car dealership they won't teach you how to drive.

I know, I'm just an innocent victim  ::)

 

Not sure where you are going with this, but yes, coremods are not supported here.

void utils is a coremod.

 

 

 

But aside from that, I'd like to say thanks for y'alls help and that I'm really thankful for all the quick responses.

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

    • Looking for a fantastic way to save big on your next Temu order? The acr639380 Temu coupon code is exactly what you need! Whether you're shopping from the USA, Canada, or Europe, this code offers unbeatable savings — up to $100 off your next purchase. If you’ve been eyeing something on Temu, now’s the perfect time to grab it with this exclusive offer!  What Is the Coupon Code for Temu $100 Off? Both new and existing customers can benefit from this incredible deal when shopping on the Temu app or website. Just use code acr639380 at checkout to unlock your $100 discount. Here’s what it offers: acr639380: Flat $100 off your next purchase.   acr639380: Receive a $100 coupon pack for multiple uses.   acr639380: New customers get an exclusive $100 off their first purchase.   acr639380: Existing customers can claim an extra $100 off future purchases.   acr639380: Valid in the USA, Canada, and across Europe.    Temu $100 Off Coupon for New Users in 2025 If you're new to Temu, this coupon code is perfect for you. It’s your chance to enjoy huge savings right from your very first order. Here’s what new customers get with acr639380: Flat $100 discount on your first order.   Access to a $100 coupon bundle for multiple purchases.   Stack up to $100 in discounts across various orders.   Free shipping to 68 countries, including the USA, Canada, and UK.   An additional 30% off any item on your first purchase.    How to Redeem the Temu $100 Off Coupon (For New Users) It’s simple! Follow these quick steps: Visit the Temu website or download the Temu app.   Create a new account.   Add your favorite products to your cart.   At checkout, enter the Temu $100 off coupon code: acr639380.   Apply the code, enjoy the savings, and complete your purchase!    Temu Coupon $100 Off for Existing Customers Good news — existing customers aren’t left out! Temu rewards loyal shoppers too. Perks for returning users with acr639380: Get an extra $100 off your next order.   A $100 coupon bundle for multiple future purchases.   Free gifts with express shipping (USA & Canada).   An additional 30% off on any purchase.   Free shipping to 68 countries globally.    How to Use Temu $100 Off Coupon (For Existing Customers) To redeem: Log into your Temu account.   Add your items to the cart.   At checkout, enter acr639380.   Apply the code and enjoy your savings!    Temu $100 Off Coupon for First Orders Your first Temu order just got better with acr639380: $100 off your initial purchase.   Access to exclusive first-time user discounts.   Up to $100 in savings on multiple items.   Free shipping to 68 countries.   Extra 30% off your first order.    Where to Find the Latest Temu $100 Off Coupon Looking for the newest and verified Temu coupon codes? Here’s where you can find them: Temu’s newsletter: Subscribe for email-exclusive deals.   Official Temu social media pages.   Trusted coupon websites.   Community threads like Temu coupon $100 off Reddit where users share legit codes.    Is the Temu $100 Off Coupon Legit? Absolutely — the acr639380 coupon is verified, tested, and 100% legit. It works for both new and existing customers worldwide, with no expiration date. Use it with confidence!  How Does the Temu $100 Off Coupon Work? Simple — enter acr639380 at checkout, and the discount is applied automatically. Whether it’s your first order or a repeat purchase, you’ll enjoy direct savings.  How to Earn Temu $100 Coupons as a New Customer New customers can score extra Temu savings by: Signing up for a new Temu account.   Making your first purchase using acr639380.   Watching for special promotions and email deals.   Checking Temu’s homepage for limited-time coupon bundles.    Advantages of Using the Temu $100 Off Coupon Here’s what makes this coupon so appealing: Flat $100 discount on first-time and future orders.   $100 coupon bundle for multiple uses.   Up to 90% off popular products.   Extra 30% off for existing customers.   Free gifts for new users.   Free shipping to 68 countries, including the USA, UK, and Canada.    Temu $100 Discount Code + Free Gift for Everyone Both new and existing customers get added perks: $100 off your first order.   An extra 30% off any product.   Free gifts on first purchases.   Up to 90% off select deals on the Temu app.   Free shipping to 68 countries.    Pros and Cons of Using the Temu Coupon Code $100 Off in 2025 Pros: Massive $100 discount.   Up to 90% off on select items.   Free global shipping to 68 countries.   30% off bonus for existing users.   Verified, legit, and no expiration date.   Cons: Free shipping limited to select countries.   Some exclusions may apply to already discounted items.    Terms and Conditions (2025) No expiration date.   Valid in 68 countries.   No minimum spend required.   Applicable for multiple purchases.   Some product exclusions may apply.    Final Note: Don’t Miss Out on the $100 Temu Coupon If you’re shopping on Temu, don’t leave money on the table. Use coupon code acr639380 to unlock $100 off, free shipping, extra discounts, and exclusive perks. It’s one of the easiest ways to make your shopping spree even more rewarding.  FAQs: Temu $100 Off Coupon Q: Is the $100 off coupon available for both new and existing customers? A: Yes! Both can use acr639380 for amazing discounts. Q: How do I redeem the Temu $100 coupon? A: Enter acr639380 at checkout to instantly save $100. Q: Does the Temu coupon expire? A: No — this coupon currently has no expiration date. Q: Can the coupon be used for multiple purchases? A: Yes, the $100 off coupon and bundle can apply to multiple orders. Q: Does it work for international users? A: Absolutely! It’s valid in 68 countries, including the USA, Canada, and Europe.
    • Go to the config folder and open the secretroomsmod.cfg   At the bottom, you will find:   # Check for mod updates on startup B:update_checker=true   Change it to false:   # Check for mod updates on startup B:update_checker=false  
    • The mod yetanotherchancebooster is conflicting or running into an issue with cobblemon Remove yetanotherchancebooster
    • Looking to save big on your next shopping spree? With our Temu coupon code $100 off, you can grab massive savings right from your first order! We bring you the verified acw696499 coupon code that unlocks exclusive discounts for shoppers in the USA, Canada, and across European countries. With this exclusive Temu coupon $100 off and Temu 100 off coupon code, you're not just shopping smart—you're shopping the best deal available. What Is The Coupon Code For Temu $100 Off? If you're searching for a way to make your Temu shopping even more affordable, look no further. Both new and existing users can enjoy amazing deals by using our Temu coupon $100 off and $100 off Temu coupon. acw696499: Get a flat $100 off on select orders for maximum savings. acw696499: Enjoy a $100 coupon pack you can redeem across multiple purchases. acw696499: Exclusive $100 flat discount available for first-time users. acw696499: Extra $100 promo value available even for returning users. acw696499: Get access to a $100 coupon tailored specifically for USA and Canada shoppers. Temu Coupon Code $100 Off For New Users In 2025 As a new user, you're entitled to enjoy incredible perks from your very first purchase. By using our Temu coupon $100 off and Temu coupon code $100 off, you get unmatched value. acw696499: Flat $100 discount for new Temu users across all eligible items. acw696499: Unlock a $100 coupon bundle that can be used for multiple orders. acw696499: Redeem up to $100 in coupons over your next few purchases. acw696499: Take advantage of free shipping to over 68 countries worldwide. acw696499: Get an additional 30% off on your entire first purchase. How To Redeem The Temu Coupon $100 Off For New Customers? Redeeming your Temu $100 coupon and Temu $100 off coupon code for new users is a simple, step-by-step process: Download the Temu app or visit the official Temu website. Create a new account using your email or phone number. Add your favorite products to the cart. At checkout, enter the coupon code acw696499. Hit apply and enjoy the $100 discount on your first order. Temu Coupon $100 Off For Existing Customers Great news! Existing customers can also reap rewards using our Temu $100 coupon codes for existing users and Temu coupon $100 off for existing customers free shipping. acw696499: Receive a $100 discount on your next Temu order. acw696499: Use the $100 coupon bundle over multiple purchases. acw696499: Enjoy free express shipping and surprise gifts in the USA/Canada. acw696499: Stack up with an additional 30% discount on current deals. acw696499: Access free shipping to 68 countries around the globe. How To Use The Temu Coupon Code $100 Off For Existing Customers? To redeem your Temu coupon code $100 off and Temu coupon $100 off code as an existing user: Log in to your existing Temu account. Add desired items to your shopping cart. Proceed to the checkout page. Enter the coupon code acw696499 in the promo code section. Apply the code and enjoy instant $100 off benefits. Latest Temu Coupon $100 Off First Order If you’re placing your first order, the timing couldn’t be better. Using the Temu coupon code $100 off first order, Temu coupon code first order, and Temu coupon code $100 off first time user, you unlock exclusive bonuses. acw696499: Flat $100 discount applied instantly at checkout. acw696499: Redeem a $100 coupon specifically for your first order. acw696499: Use up to $100 in coupons for multiple uses. acw696499: Enjoy free international shipping to 68 countries. acw696499: Grab an extra 30% discount on top of the $100 coupon. How To Find The Temu Coupon Code $100 Off? Finding a working Temu coupon $100 off and Temu coupon $100 off Reddit is easier than ever. Simply subscribe to the Temu newsletter and receive verified deals right in your inbox. You can also follow Temu on social media to stay updated on flash sales and fresh coupons. Lastly, always check reliable coupon-sharing websites like ours to get working and tested coupon codes like acw696499. Is Temu $100 Off Coupon Legit? Yes, the Temu $100 Off Coupon Legit and Temu 100 off coupon legit concerns can be put to rest. Our coupon code acw696499 is 100% legitimate and trusted by users worldwide. You can safely apply this code to get $100 off on your first purchase and also enjoy recurring discounts. It’s fully verified, tested, and available globally without any expiry date. How Does Temu $100 Off Coupon Work? The Temu coupon code $100 off first-time user and Temu coupon codes 100 off work like a digital voucher. Once you enter the code acw696499 during checkout, it automatically deducts up to $100 from your total order. The coupon can be redeemed on eligible products, and sometimes includes extra discounts, free shipping, or bonus items. How To Earn Temu $100 Coupons As A New Customer? To earn your Temu coupon code $100 off and 100 off Temu coupon code, you simply need to sign up as a new customer on the Temu platform. After registration, use the acw696499 code to immediately unlock $100 in coupon value, and continue to receive bonus discounts and perks via email or app notifications. What Are The Advantages Of Using The Temu Coupon $100 Off? Here are the major advantages of using our Temu coupon code 100 off and Temu coupon code $100 off: $100 discount on your first order. $100 coupon bundle redeemable across multiple purchases. Up to 70% discount on popular Temu products. Additional 30% discount for returning users. Up to 90% off on select items during promotions. Free gift included for new users. Free shipping to 68 countries including the USA, Canada, UK, and more. Temu $100 Discount Code And Free Gift For New And Existing Customers Our Temu $100 off coupon code and $100 off Temu coupon code don’t just offer discounts—they deliver value-packed shopping experiences. acw696499: $100 discount for your first Temu purchase. acw696499: Extra 30% off on all items sitewide. acw696499: Free surprise gift for new Temu shoppers. acw696499: Up to 70% off on trending products. acw696499: Free gift + free shipping to 68 countries including the USA and UK. Pros And Cons Of Using The Temu Coupon Code $100 Off This Month Here are the pros and cons of the Temu coupon $100 off code and Temu 100 off coupon: Pros: Verified and tested code: acw696499. Available for both new and returning users. Valid worldwide including USA, Canada, and Europe. Provides free shipping and gifts. No expiration date. Cons: Limited to select product categories. Cannot be combined with certain Temu internal promotions. Terms And Conditions Of Using The Temu Coupon $100 Off In 2025 Here are the Temu coupon code $100 off free shipping and latest Temu coupon code $100 off terms and conditions: The coupon code acw696499 does not have any expiration date. Valid for both new and existing users. Works in 68 countries including USA, Canada, and UK. No minimum purchase is required to activate the coupon. The coupon can be used multiple times for select offers. Shipping is free when the coupon is used. Final Note: Use The Latest Temu Coupon Code $100 Off Don't miss out on this incredible chance to save with the Temu coupon code $100 off. Your shopping journey with Temu just got a lot more affordable! Take advantage of this Temu coupon $100 off deal before it disappears. It's time to upgrade your cart without upgrading your expenses.
    • My Cobblemon Star Academy world keeps crashing before I load in ---- Minecraft Crash Report ---- // Uh... Did I do that? Time: 2025-07-09 20:41:46 Description: Ticking memory connection java.lang.NullPointerException: Cannot invoke "Object.getClass()" because "it" is null     at knot//com.cobblemon.mod.common.api.storage.player.adapter.JsonPlayerData.load(JsonPlayerData.java:60)     at knot//com.cobblemon.mod.common.api.storage.player.factory.JsonPlayerDataStoreFactory.load(JsonPlayerDataStoreFactory.java:32)     at knot//com.cobblemon.mod.common.api.storage.player.PlayerDataStoreManager.get(PlayerDataStoreManager.java:40)     at knot//com.metacontent.yetanotherchancebooster.store.PlayerDataUtil.save(PlayerDataUtil.java:10)     at knot//com.metacontent.yetanotherchancebooster.store.PlayerDataUtil.onDisconnect(PlayerDataUtil.java:16)     at knot//net.minecraft.class_3222.handler$gdg000$yetanotherchancebooster$injectOnDisconnect(class_3222.java:13869)     at knot//net.minecraft.class_3222.method_14231(class_3222.java:1157)     at knot//net.minecraft.class_3244.method_10839(class_3244.java:1227)     at knot//net.minecraft.class_2535.method_10768(class_2535.java:450)     at knot//net.minecraft.class_2535.method_10754(class_2535.java:263)     at knot//net.minecraft.class_3242.method_14357(class_3242.java:172)     at knot//net.minecraft.server.MinecraftServer.method_3813(MinecraftServer.java:908)     at knot//net.minecraft.server.MinecraftServer.method_3748(MinecraftServer.java:824)     at knot//net.minecraft.class_1132.method_3748(class_1132.java:105)     at knot//net.minecraft.server.MinecraftServer.method_29741(MinecraftServer.java:671)     at knot//net.minecraft.server.MinecraftServer.method_29739(MinecraftServer.java:265)     at java.base/java.lang.Thread.run(Thread.java:840) A detailed walkthrough of the error, its code path and all known details is as follows: --------------------------------------------------------------------------------------- -- Cobblemon -- Details:     Version: 1.5.2     Is Snapshot: false     Git Commit: df8f078 (https://gitlab.com/cable-mc/cobblemon/-/commit/df8f078d13702ab9a000438910b822ceffbb2248)     Branch: HEAD -- System Details -- Details:     Minecraft Version: 1.20.1     Minecraft Version ID: 1.20.1     Operating System: Windows 10 (amd64) version 10.0     Java Version: 17.0.15, Microsoft     Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Microsoft     Memory: 809490120 bytes (771 MiB) / 4269801472 bytes (4072 MiB) up to 9462349824 bytes (9024 MiB)     CPUs: 12     Processor Vendor: AuthenticAMD     Processor Name: AMD Ryzen 5 1600 Six-Core Processor                 Identifier: AuthenticAMD Family 23 Model 8 Stepping 2     Microarchitecture: Zen+     Frequency (GHz): 3.19     Number of physical packages: 1     Number of physical CPUs: 6     Number of logical CPUs: 12     Graphics card #0 name: NVIDIA GeForce GT 1030     Graphics card #0 vendor: NVIDIA (0x10de)     Graphics card #0 VRAM (MB): 2048.00     Graphics card #0 deviceId: 0x1d01     Graphics card #0 versionInfo: DriverVersion=32.0.15.6094     Memory slot #0 capacity (MB): 8192.00     Memory slot #0 clockSpeed (GHz): 2.40     Memory slot #0 type: DDR4     Memory slot #1 capacity (MB): 8192.00     Memory slot #1 clockSpeed (GHz): 2.40     Memory slot #1 type: DDR4     Virtual memory max (MB): 25548.66     Virtual memory used (MB): 20187.01     Swap memory total (MB): 9216.00     Swap memory used (MB): 754.71     JVM Flags: 4 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xss1M -Xmx9024m -Xms256m     Fabric Mods:          academy: Star Academy 1.0.1             mixinsquared: MixinSquared 0.2.0         accessible-step: Accessible Step 2.0.1+1.20             blue_endless_jankson: jankson 1.2.3         advancementplaques: Advancement Plaques 1.6.7         amendments: Amendments 1.20-1.2.12         another_furniture: Another Furniture 1.20.1-3.0.1         architectury: Architectury 9.2.14         ati_structures_fabric: ati_structures_fabric 1.1.0         autorun: AutoRun 0.5.0         badpackets: Bad Packets 0.4.3         balm-fabric: Balm 7.3.10             kuma_api: KumaAPI 20.1.9-SNAPSHOT         bbb: Building But Better 1.20.1-fabric-1.0.2         betterdeserttemples: YUNG's Better Desert Temples 1.20-Fabric-3.0.3             org_reflections_reflections: reflections 0.10.2         betterfortresses: YUNG's Better Nether Fortresses 1.20-Fabric-2.0.6         betterjungletemples: YUNG's Better Jungle Temples 1.20-Fabric-2.0.5         bettermineshafts: YUNG's Better Mineshafts 1.20-Fabric-4.0.4         betteroceanmonuments: YUNG's Better Ocean Monuments 1.20-Fabric-3.0.4         betterstrongholds: YUNG's Better Strongholds 1.20-Fabric-4.0.3         betterwitchhuts: YUNG's Better Witch Huts 1.20-Fabric-3.0.3         biomeswevegone: Oh The Biomes We've Gone 1.4.4         bitsandchisels: BitsAndChisels 2.7.3         bobby: Bobby 5.0.1             com_typesafe_config: config 1.4.2             org_spongepowered_configurate-core: configurate-core 4.1.2             org_spongepowered_configurate-hocon: configurate-hocon 4.1.2         boostedbrightness: Boosted Brightness 2.2.0         bountiful: Bountiful 6.0.4+1.20.1         camerapture: Camerapture 1.7.2             io_github_darkxanter_webp-imageio: webp-imageio 0.3.2         carryon: Carry On 2.1.2.7         chat_heads: Chat Heads 0.13.7         chatanimation: ChatAnimation 1.0.5         chimes: Chimes 2.0.1         chunky: Chunky 1.3.146         cloth-config: Cloth Config v11 11.1.136             cloth-basic-math: cloth-basic-math 0.6.1         cloudboots: Cloud Boots 1.20.1-fabric-3.0.0         cobbledex: Cobbledex 1.1.0         cobblefoods: CobbleFoods 1.3.2-1.20.1         cobblemizer: Cobblemon Customizer for Fabric 2.0.2         cobblemon: Cobblemon 1.5.2+1.20.1         cobblemon_chaining: Cobblemon Chaining 1.5-fabric-1.0.1         cobblemon_counter: Cobblemon Counter 1.5-fabric-1.2.0         cobblemon_move_inspector: Cobblemon Move Inspector 1.1.1         cobblemonintegrations: Cobblemon Integrations 1.0.7         cobblemonridingfabric: Cobblemon Riding Fabric 1.2.6         cobblenav: Cobblenav 1.3.5             fabric-permissions-api-v0: fabric-permissions-api 0.2-SNAPSHOT         cobblepedia: Cobblepedia 0.6.8         cobbreeding: Cobbreeding 1.7.0         collective: Collective 7.87         controlling: Controlling For Fabric 12.0.2         convenientdecor: Convenient Decor 0.4.3             omega-config: OmegaConfig 1.4.0+1.20.1         cookingforblockheads: Cooking for Blockheads 16.0.9         corgilib: CorgiLib 4.0.3.3         craftingtweaks: Crafting Tweaks 18.2.5         crafttweaker: CraftTweaker 14.0.44         crawl: Crawl 0.12.0             mm: Manningham Mills 2.3         dailyshop: Daily Shop 1.1.0         defaulted_hotkeys: Defaulted Hotkeys 1.2         defaultoptions: Default Options 18.0.1         dynamiccrosshair: Dynamic Crosshair 9.3             dynamiccrosshair-api: DynamicCrosshair API 1.1             libbamboo: LibBamboo 2.2         dynamiccrosshaircompat: Dynamic Crosshair Compat 4.0         elementa: Elementa 708         emojiful: Emojiful 4.2.0             com_esotericsoftware_yamlbeans_yamlbeans: yamlbeans 1.15         enhancedcelestials: Enhanced Celestials 1.20.1-5.0.1.0         essential: Essential 1.3.8.4         essential-container: essential-container 1.0.0             essential-loader: essential-loader 1.2.4         evenmoreinstruments: Even More Instruments! 6.1.3.1         fabric-api: Fabric API 0.92.2+1.20.1             fabric-api-base: Fabric API Base 0.4.31+1802ada577             fabric-api-lookup-api-v1: Fabric API Lookup API (v1) 1.6.36+1802ada577             fabric-biome-api-v1: Fabric Biome API (v1) 13.0.13+1802ada577             fabric-block-api-v1: Fabric Block API (v1) 1.0.11+1802ada577             fabric-block-view-api-v2: Fabric BlockView API (v2) 1.0.1+1802ada577             fabric-blockrenderlayer-v1: Fabric BlockRenderLayer Registration (v1) 1.1.41+1802ada577             fabric-client-tags-api-v1: Fabric Client Tags 1.1.2+1802ada577             fabric-command-api-v1: Fabric Command API (v1) 1.2.34+f71b366f77             fabric-command-api-v2: Fabric Command API (v2) 2.2.13+1802ada577             fabric-commands-v0: Fabric Commands (v0) 0.2.51+df3654b377             fabric-containers-v0: Fabric Containers (v0) 0.1.64+df3654b377             fabric-content-registries-v0: Fabric Content Registries (v0) 4.0.11+1802ada577             fabric-convention-tags-v1: Fabric Convention Tags 1.5.5+1802ada577             fabric-crash-report-info-v1: Fabric Crash Report Info (v1) 0.2.19+1802ada577             fabric-data-attachment-api-v1: Fabric Data Attachment API (v1) 1.0.0+de0fd6d177             fabric-data-generation-api-v1: Fabric Data Generation API (v1) 12.3.4+1802ada577             fabric-dimensions-v1: Fabric Dimensions API (v1) 2.1.54+1802ada577             fabric-entity-events-v1: Fabric Entity Events (v1) 1.6.0+1c78457f77             fabric-events-interaction-v0: Fabric Events Interaction (v0) 0.6.2+1802ada577             fabric-events-lifecycle-v0: Fabric Events Lifecycle (v0) 0.2.63+df3654b377             fabric-game-rule-api-v1: Fabric Game Rule API (v1) 1.0.40+1802ada577             fabric-item-api-v1: Fabric Item API (v1) 2.1.28+1802ada577             fabric-item-group-api-v1: Fabric Item Group API (v1) 4.0.12+1802ada577             fabric-key-binding-api-v1: Fabric Key Binding API (v1) 1.0.37+1802ada577             fabric-keybindings-v0: Fabric Key Bindings (v0) 0.2.35+df3654b377             fabric-lifecycle-events-v1: Fabric Lifecycle Events (v1) 2.2.22+1802ada577             fabric-loot-api-v2: Fabric Loot API (v2) 1.2.1+1802ada577             fabric-loot-tables-v1: Fabric Loot Tables (v1) 1.1.45+9e7660c677             fabric-message-api-v1: Fabric Message API (v1) 5.1.9+1802ada577             fabric-mining-level-api-v1: Fabric Mining Level API (v1) 2.1.50+1802ada577             fabric-model-loading-api-v1: Fabric Model Loading API (v1) 1.0.3+1802ada577             fabric-models-v0: Fabric Models (v0) 0.4.2+9386d8a777             fabric-networking-api-v1: Fabric Networking API (v1) 1.3.11+1802ada577             fabric-networking-v0: Fabric Networking (v0) 0.3.51+df3654b377             fabric-object-builder-api-v1: Fabric Object Builder API (v1) 11.1.3+1802ada577             fabric-particles-v1: Fabric Particles (v1) 1.1.2+1802ada577             fabric-recipe-api-v1: Fabric Recipe API (v1) 1.0.21+1802ada577             fabric-registry-sync-v0: Fabric Registry Sync (v0) 2.3.3+1802ada577             fabric-renderer-api-v1: Fabric Renderer API (v1) 3.2.1+1802ada577             fabric-renderer-indigo: Fabric Renderer - Indigo 1.5.2+85287f9f77             fabric-renderer-registries-v1: Fabric Renderer Registries (v1) 3.2.46+df3654b377             fabric-rendering-data-attachment-v1: Fabric Rendering Data Attachment (v1) 0.3.37+92a0d36777             fabric-rendering-fluids-v1: Fabric Rendering Fluids (v1) 3.0.28+1802ada577             fabric-rendering-v0: Fabric Rendering (v0) 1.1.49+df3654b377             fabric-rendering-v1: Fabric Rendering (v1) 3.0.8+1802ada577             fabric-resource-conditions-api-v1: Fabric Resource Conditions API (v1) 2.3.8+1802ada577             fabric-resource-loader-v0: Fabric Resource Loader (v0) 0.11.10+1802ada577             fabric-screen-api-v1: Fabric Screen API (v1) 2.0.8+1802ada577             fabric-screen-handler-api-v1: Fabric Screen Handler API (v1) 1.3.30+1802ada577             fabric-sound-api-v1: Fabric Sound API (v1) 1.0.13+1802ada577             fabric-transfer-api-v1: Fabric Transfer API (v1) 3.3.5+8dd72ea377             fabric-transitive-access-wideners-v1: Fabric Transitive Access Wideners (v1) 4.3.1+1802ada577         fabric-language-kotlin: Fabric Language Kotlin 1.13.0+kotlin.2.1.0             org_jetbrains_kotlin_kotlin-reflect: kotlin-reflect 2.1.0             org_jetbrains_kotlin_kotlin-stdlib: kotlin-stdlib 2.1.0             org_jetbrains_kotlin_kotlin-stdlib-jdk7: kotlin-stdlib-jdk7 2.1.0             org_jetbrains_kotlin_kotlin-stdlib-jdk8: kotlin-stdlib-jdk8 2.1.0             org_jetbrains_kotlinx_atomicfu-jvm: atomicfu-jvm 0.26.1             org_jetbrains_kotlinx_kotlinx-coroutines-core-jvm: kotlinx-coroutines-core-jvm 1.9.0             org_jetbrains_kotlinx_kotlinx-coroutines-jdk8: kotlinx-coroutines-jdk8 1.9.0             org_jetbrains_kotlinx_kotlinx-datetime-jvm: kotlinx-datetime-jvm 0.6.1             org_jetbrains_kotlinx_kotlinx-io-bytestring-jvm: kotlinx-io-bytestring-jvm 0.6.0             org_jetbrains_kotlinx_kotlinx-io-core-jvm: kotlinx-io-core-jvm 0.6.0             org_jetbrains_kotlinx_kotlinx-serialization-cbor-jvm: kotlinx-serialization-cbor-jvm 1.7.3             org_jetbrains_kotlinx_kotlinx-serialization-core-jvm: kotlinx-serialization-core-jvm 1.7.3             org_jetbrains_kotlinx_kotlinx-serialization-json-jvm: kotlinx-serialization-json-jvm 1.7.3         fabricloader: Fabric Loader 0.16.9             mixinextras: MixinExtras 0.4.1         fabricskyboxes: FabricSkyBoxes 0.7.3+mc1.20.1         fancymenu: FancyMenu 3.3.2             com_github_keksuccino_japng: japng 0.5.3             com_github_rtyley_animated-gif-lib-for-java: animated-gif-lib-for-java animated-gif-lib-1.7         faux-custom-entity-data: Faux-Custom-Entity-Data 6.0.1         fightorflight: Cobblemon Fight or Flight Fabric 0.5.0         findme: FindMe 3.2.1         forgeconfigapiport: Forge Config API Port 8.0.1         ftbchunks: FTB Chunks 2001.3.4         ftblibrary: FTB Library 2001.2.7         ftbranks: FTB Ranks 2001.1.3         ftbteams: FTB Teams 2001.3.0         geckolib: GeckoLib 4 4.4.9             com_eliotlash_mclib_mclib: mclib 20         genshinstrument: Genshin Instruments 4.0.2         globalgamerule: Global Game Rule 1.1         globalpacks: Global Data- & Resourcepacks 1.16.1_fabric         gooeylibs: GooeyLibs 3.0.0+1.20.1         gravels_extended_battles: Gravel's Extended Battles 1.4.0         hearth_and_home: Hearth & Home 1.20.1-2.0.3         heartstone: Heartstone 1.20-1.3.0         hopobetterunderwaterruins: Hopo Better Underwater Ruins 1.1.5         hotkettles: Hot Kettles 1.0.0+mc1.20.1         hunt: Hunt 1.1.0         iceberg: Iceberg 1.1.25         impactor: Impactor 5.2.6+1.20.1             adventure-platform-fabric: adventure-platform-fabric 5.9.0                 net_kyori_adventure-platform-api: adventure-platform-api 4.3.0                 net_kyori_adventure-text-serializer-ansi: adventure-text-serializer-ansi 4.14.0                 net_kyori_ansi: ansi 1.0.2             cloud: Cloud 2.0.0-beta.2                 org_incendo_cloud-brigadier: cloud-brigadier 2.0.0-beta.2                 org_incendo_cloud-core: cloud-core 2.0.0-beta.2                 org_incendo_cloud-minecraft-modded-common-fabric-repack_: cloud-minecraft-modded-common-fabric-repack 2.0.0-beta.2                 org_incendo_cloud-services: cloud-services 2.0.0-beta.2             impactor-command-api: Impactor Command API 5.2.5+1.20.1-SNAPSHOT             io_leangen_geantyref_geantyref: geantyref 1.3.15             net_kyori_adventure-api: adventure-api 4.14.0             net_kyori_adventure-key: adventure-key 4.14.0             net_kyori_adventure-nbt: adventure-nbt 4.14.0             net_kyori_adventure-text-logger-slf4j: adventure-text-logger-slf4j 4.14.0             net_kyori_adventure-text-minimessage: adventure-text-minimessage 4.14.0             net_kyori_adventure-text-serializer-gson: adventure-text-serializer-gson 4.14.0             net_kyori_adventure-text-serializer-json: adventure-text-serializer-json 4.14.0             net_kyori_adventure-text-serializer-legacy: adventure-text-serializer-legacy 4.14.0             net_kyori_adventure-text-serializer-plain: adventure-text-serializer-plain 4.14.0             net_kyori_event-api: event-api 5.0.0-SNAPSHOT             net_kyori_examination-api: examination-api 1.3.0             net_kyori_examination-string: examination-string 1.3.0             org_incendo_cloud-annotations: cloud-annotations 2.0.0-beta.2             org_incendo_cloud-minecraft-extras: cloud-minecraft-extras 2.0.0-beta.2             org_incendo_cloud-processors-common: cloud-processors-common 1.0.0-beta.1             org_incendo_cloud-processors-confirmation: cloud-processors-confirmation 1.0.0-beta.1             placeholder-api: Placeholder API 2.1.3+1.20.1         indium: Indium 1.0.34+mc1.20.1         ipo: Improved Pillager Outpost 3         iris: Iris 1.7.5+mc1.20.1             io_github_douira_glsl-transformer: glsl-transformer 2.0.1             org_anarres_jcpp: jcpp 1.4.14             org_antlr_antlr4-runtime: antlr4-runtime 4.13.1         item_obliterator: Item Obliterator 2.3.0         java: OpenJDK 64-Bit Server VM 17         journeymap: Journeymap 5.10.3             journeymap-api-fabric: JourneyMap API 1.20-1.9-fabric-SNAPSHOT         justhammers: Just Hammers 2.0.4+mc1.20.1         kambrik: Kambrik 6.1.1+1.20.1         konkrete: Konkrete 1.8.1         kubejs: Star Academy 2001.6.5-build.16         labels: labels 1.20-1.20.2         legendarytooltips: Legendary Tooltips 1.4.5         lootbags: Resourceful Lootbags 2.0.0             resourcefullib: Resourceful Lib 2.0.8                 com_teamresourceful_yabn: yabn 1.0.3         lootballs: Cobblemon Loot Balls 1.1.4         lootbeams: LootBeams 3.1.1-mc1.20-.4         lootr: Lootr 0.7.35.85         megamons: Ascension Megamons 1.5.0+1.20.1-forge+fabric-75b66fa         melody: Melody 1.0.3         midnightlib: MidnightLib 1.4.1         minecraft: Minecraft 1.20.1         mint: El & L's Dye Mod 1.0.5+1.20.1         modernfix: ModernFix 5.19.7+mc1.20.1         modmenu: Mod Menu 7.2.2         moonlight: Moonlight 1.20-2.13.41         more_cobblemon_tweaks: MoreCobblemonTweaks 0.7.1         mousetweaks: Mouse Tweaks 2.26         mousewheelie: Mouse Wheelie 1.13.0+mc1.20.1             amecsapi: Amecs API 1.5.1+mc1.20-pre1             coat: Coat 1.0.0-beta.20+mc1.20-pre1             tweed4_annotated: tweed4_annotated 1.3.1+mc1.20-pre1             tweed4_base: tweed4_base 1.7.1+mc1.20-pre1             tweed4_data: tweed4_data 1.2.1+mc1.20-pre1             tweed4_data_hjson: tweed4_data_hjson 1.1.1+mc1.20-pre1             tweed4_tailor_coat: tweed4_tailor_coat 1.1.3+mc1.20-pre1             tweed4_tailor_lang_json_descriptions: tweed4_tailor_lang_json_descriptions 1.1.0+mc1.20-pre1             tweed4_tailor_screen: tweed4_tailor_screen 1.1.4+mc1.20-pre1         mr_tidal_towns: Tidal Towns 1.3.4         mss: Moog's Soaring Structures 1.2.6-1.20-fabric         muffins_picnic: Muffin's Picnic 1.0.0         mvs: Moog's Voyager Structures 4.1.4-1.20-fabric         mythsandlegends: Myths and Legends 1.6.1             com_moandjiezana_toml_toml4j: toml4j 0.7.2         naturescompass: Nature's Compass 1.20.1-2.2.3-fabric         necronomicon: Necronomicon 1.6.0         nightlights: Night Lights 1.1         numismatic-overhaul: Numismatic Overhaul 0.2.14+1.20             cardinal-components-base: Cardinal Components API (base) 5.2.1             cardinal-components-entity: Cardinal Components API (entities) 5.2.1             stacc: Stacc 1.7.0         ohthetreesyoullgrow: Oh The Trees You'll Grow 1.20.1-1.3.3         org_jetbrains_annotations: annotations 13.0         owo: oωo 0.11.2+1.20         packetfixer: Packet Fixer 2.0.0         patchouli: Patchouli 1.20.1-84-FABRIC             fiber: fiber 0.23.0-2         pehkui: Pehkui 3.8.3+1.14.4-1.21             kanos_config: Kanos Config 0.4.1+1.14.4-1.19.4         player_roles: Player Roles 1.6.6             more_codecs: More Codecs 0.3.1+1.19.4             player_roles_api: Player Roles API 1.6.6         playerladder: Player Ladder 0.6.0-1.20         pokeblocks: Pokeblocks 1.3.0-1.20.1         prism: Prism 1.0.5         puzzleslib: Puzzles Lib 8.1.25             puzzlesaccessapi: Puzzles Access Api 8.0.7         resourcepackoverrides: Resource Pack Overrides 8.0.3         rhino: Rhino 2001.2.3-build.6         roughlyenoughitems: Roughly Enough Items 12.1.785             error_notifier: Error Notifier 1.0.9         seamless_loading_screen: Seamless Loading Screen 2.0.3+1.20.1         searchables: Searchables 1.0.3         server-hats: Server Hats 0.16         shadertoggle: Shader Toggle 1.0         shouldersurfing: Shoulder Surfing Reloaded 4.9.1         sit: Sit 1.20.1-27         slide_show: Slide Show 1.0.3-Enhancement-1         smoothswapping: Smooth Swapping 0.9.3.1         sodium: Sodium 0.5.11+mc1.20.1         sodium-extra: Sodium Extra 0.5.4+mc1.20.1-build.115             caffeineconfig: CaffeineConfig 1.3.0+1.17             crowdin-translate: CrowdinTranslate 1.4+1.19.3         solara_dimension: Solara Dimension  0.1A         sophisticatedbackpacks: Sophisticated Backpacks 1.20.1-3.20.17.1.60         sophisticatedcore: Sophisticated Core 1.20.1-0.7.12.2.96             porting_lib_extensions: Porting Lib Extensions 2.3.2+1.20.1                 porting_lib_accessors: Porting Lib Accessors 2.3.2+1.20.1                 porting_lib_attributes: Porting Lib Attributes 2.3.2+1.20.1                 porting_lib_common: Porting Lib Common 2.3.2+1.20.1                 reach-entity-attributes: Reach Entity Attributes 2.4.0             porting_lib_fluids: Porting Lib Fluids 2.3.2+1.20.1             porting_lib_loot: Porting Lib Loot 2.3.2+1.20.1                 porting_lib_lazy_registration: Porting Lib Lazy Register 2.3.2+1.20.1             porting_lib_model_loader: Porting Lib Model Loader 2.3.2+1.20.1             porting_lib_networking: Porting Lib Networking 2.3.2+1.20.1                 porting_lib_core: Porting Lib Core 2.3.2+1.20.1             porting_lib_tool_actions: Porting Lib Tool Actions 2.3.2+1.20.1             porting_lib_transfer: Porting Lib Transfer 2.3.2+1.20.1             team_reborn_energy: Energy 3.0.0         sophisticatedstorage: Sophisticated Storage 1.20.1-0.11.3.1.73             noindium: No Indium? 1.1.0+1.20         spawnercontrol: Spawner Control 1.1         starterkit: Starter Kit 7.1         stoneworks: Stoneworks 8.0.0         terrablender: TerraBlender 3.0.1.7         terrastorage: Terrastorage 1.0.7             com_electronwill_night-config_core: core 3.8.1             com_electronwill_night-config_toml: toml 3.8.1         terrastorageicons: Terrastorage Icons 1.0.0         toastkiller: The Open Sauce Toast Killer 1.0         toms_storage: Tom's Simple Storage Mod 1.6.9         totw_modded: Towers Of The Wild: Modded fabric-1.20.1-1.0.5         travelerstitles: Traveler's Titles 1.20-Fabric-4.0.2         treeharvester: Tree Harvester 9.1         trinkets: Trinkets 3.7.2         universalcraft: UniversalCraft 419         veinmining: Vein Mining 1.5.0+1.20.1             spectrelib: SpectreLib 0.13.15+1.20.1         vigilance: Vigilance 306         voicechat: Simple Voice Chat 1.20.1-2.5.26         waystones: Waystones 14.1.6         wherearemytms: Where Are My TMs? 2.1.2-hotfix         worldedit: WorldEdit 7.2.15+6463-5ca4dff         wthit: wthit 8.15.5         wwoo: William Wythers' Overhauled Overworld 2.0.0         yet_another_config_lib_v3: YetAnotherConfigLib 3.6.2+1.20.1-fabric             com_twelvemonkeys_common_common-image: common-image 3.12.0             com_twelvemonkeys_common_common-io: common-io 3.12.0             com_twelvemonkeys_common_common-lang: common-lang 3.12.0             com_twelvemonkeys_imageio_imageio-core: imageio-core 3.12.0             com_twelvemonkeys_imageio_imageio-metadata: imageio-metadata 3.12.0             com_twelvemonkeys_imageio_imageio-webp: imageio-webp 3.12.0             org_quiltmc_parsers_gson: gson 0.2.1             org_quiltmc_parsers_json: json 0.2.1         yetanotherchancebooster: YetAnotherChanceBooster 1.0.1         yungsapi: YUNG's API 1.20-Fabric-4.0.6             org_javassist_javassist: javassist 3.29.2-GA         zoomify: Zoomify 2.14.2+1.20.1             com_akuleshov7_ktoml-core-jvm: ktoml-core-jvm 0.5.2     Loaded Shaderpack: (off)     Server Running: true     Player Count: 0 / 8; []     Data Packs: vanilla, fabric, bountiful:compat-numismatic-overhaul, AllTheMons Release 1.8.2 V129, BattleBond [V1.4] (incompatible), CobbleCafe (incompatible), MSS-ConfigPack-1.19+ (incompatible), MVS-ConfigPack-1.19+ (incompatible), Missing Legends V1.2[No Genesect or Regi Resize], Moonlight Mods Dynamic Assets, MythsandLegends-Datapack-v1.0.4, PokeSizes-1.1.1, Vivillon Pride Patterns v1.0, _Star Academy_, bopack, capture-border-v1.0.0 (incompatible)     Enabled Feature Flags: minecraft:vanilla     World Generation: Stable     Type: Integrated Server (map_client.txt)     Is Modded: Definitely; Client brand changed to 'fabric'; Server brand changed to 'fabric'     Launched Version: fabric-loader-0.16.9-1.20.1
  • Topics

×
×
  • Create New...

Important Information

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