gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-01 11:28:46 26 4
gpt4 key购买 nike

首先,我知道这个问题已经被打死了,但我似乎不知道如何在我的代码中使用答案。

现在,我正在尝试制作一个 Minecraft mod,其中我使用 World.setBlock() 将 block 设置为实体的位置

问题是,一旦我输入所有参数,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!");
}
}

我在不知道如何解决问题的地方发表了评论。

谢谢!

最佳答案

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

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

关于java - 在 MC Forge 中使用 World.setBlock() 时无法对非静态方法进行静态引用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30610565/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com