在MC Forge中使用World.setBlock()时,无法对非静态方法进行静态引用

首先,我知道这个问题已被打死,但我似乎无法弄清楚如何在我的代码中使用答案。

现在,我正在尝试创建一个Minecraft mod,我使用World.setBlock()将块设置为实体的位置

问题是,一旦我把所有的论点都放进去,eclipse说它不能对非静态方法进行静态引用。

我知道我应该在我的班级中创建一个非静态方法的实例,但我似乎无法弄清楚如何使这项工作。

这是我的代码:

package noahc3.MaterialBlobs;

import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.projectile.EntityThrowable;
import net.minecraft.init.Blocks;
import net.minecraft.util.MovingObjectPosition;
import net.minecraft.util.MovingObjectPosition.MovingObjectType;
import net.minecraft.world.World;

public class EntityDirtBlob extends EntityThrowable 
{
    World world = new World();

    //The above line is the part I can't figure out how to do correctly.

    public EntityDirtBlob(World par1World, double par2, double par4, double par6)
    {
    super(par1World, par2, par4, par6);
    }
    public EntityDirtBlob(World par1World, EntityLivingBase par2EntityLivingBase)
    {
    super(par1World, par2EntityLivingBase);
    }
    public EntityDirtBlob(World par1World)
    {
    super(par1World);
    }
    @Override
    protected void onImpact(MovingObjectPosition mop)
    {
        if(mop.typeOfHit == MovingObjectType.BLOCK)
        {
        switch(mop.sideHit)
        {
        case 0: //BOTTOM
        mop.blockY--;
        break;
        case 1: //TOP
        mop.blockY  ;
        break;
        case 2: //EAST
        mop.blockZ--;
        break;
        case 3: //WEST
        mop.blockZ  ;
        break;
        case 4: //NORTH
        mop.blockX--;
        break;
        case 5: //SOUTH
        mop.blockX  ;
        break;
        }
        World.setBlock(mop.blockX, mop.blockY, mop.blockZ, Blocks.dirt)

        //The above line is where eclipse complains that it cannot make a static reference to the non-static method
        }
        if (!this.worldObj.isRemote)
        {
        this.setDead();
        }
     System.out.println("Entity landed!");
    }
}

我评论了哪里无法弄清楚如何解决这个问题。

谢谢!

最佳答案:

1 个答案:

答案 0 :(得分:1)

您需要将World.setBlock替换为world.setBlock

第一个引用World类,第二个引用您创建的World实例。

本文经用户投稿或网站收集转载,如有侵权请联系本站。

发表评论

0条回复