java - 从抽象类中获取变量

标签 java minecraft

基本上我想获取从“World.class”播放的 map 的名称,在我的主 mod 类的字符串中...

    public abstract class World implements IBlockAccess{
    protected WorldInfo worldInfo;
    //=====OtherStuff=====
    public World(ISaveHandler par1ISaveHandler, String par2Str, WorldSettings par3WorldSettings, WorldProvider par4WorldProvider, Profiler par5Profiler, ILogAgent par6ILogAgent)
        {
        this.worldInfo.setWorldName(par2Str);
        }
    //=====OtherStuff=====
}

我在与此相同的包中创建了一个类

public class World_Spy extends World{

    public World_Spy(ISaveHandler par1iSaveHandler, String par2Str,
            WorldProvider par3WorldProvider, WorldSettings par4WorldSettings,
            Profiler par5Profiler, ILogAgent par6iLogAgent) {
        super(par1iSaveHandler, par2Str, par3WorldProvider, par4WorldSettings,
                par5Profiler, par6iLogAgent);
    }

    @Override
    protected IChunkProvider createChunkProvider() {
        return null;
    }

    @Override
    public Entity getEntityByID(int i) {
        return null;
    }


    String TheName = "";
    public void gotIt(){
        TheName = this.worldInfo.getWorldName();
        System.out.println(TheName);
    }

}

我从我的主类中调用它:

World_Spy WName = new World_Spy(null, null, null, null, null, null);

但是启动时崩溃了... 有什么想法吗?

最佳答案

World 不是静态类...您需要一个 World 兼容对象的实例来获取名称。获取 World 实例和名称的一种方法:

World world = Minecraft.getMinecraft().isIntegratedServerRunning() ? mc.getIntegratedServer().worldServerForDimension(Minecraft.getMinecraft().thePlayer.dimension) : Minecraft.getMinecraft().theWorld;
String worldName = world.getWorldInfo().getWorldName();

此代码应该在客户端运行。

关于java - 从抽象类中获取变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18429415/

相关文章:

crash - Minecraft服务器启动时崩溃

PHP查询一条SRV记录

java - Apache POI 不应用某些颜色索引

java - 类型无法从类型 View 对非静态方法 setVisibility(int) 进行静态引用

java - 从另一个 JAR 文件中解压/提取资源

java - 如果字符串数组本身是 ArrayList 的元素,如何从字符串数组中获取元素?

php - 回溯迷宫生成(将所有内容转换为二维数组)

java - 如何使用 servlet 3.0 java 配置指定 mime 映射?

VB.Net 自定义 Minecraft 启动器

java - 从 Minecraft 安装中提取项目、配方元数据