当前位置: 首页 > 知识库问答 >
问题:

如何修复,AL lib:(EE)ALC_CLEANUP:1设备未关闭Java热点(TM)64位服务器VM警告:

田文景
2023-03-14

所以我在Java是一个傻瓜,我正在尝试制作一个Minecraft mod,我不知道发生了什么,因为在eclipse中,当我运行Minecraft时,它会通过forge加载屏幕,它会达到7个,看起来它会完成,但随后崩溃并显示这些错误信息(完整日志):

[21:26:28] [main/WARN] [FML]: Registry Item: Override did not have an associated owner object. Name: mcadditions:netherinium_sword Value: superrobbie10.MinecraftAdditions.items.tools.ToolSword@67127bb1
[21:26:28] [main/INFO] [STDOUT]: [net.minecraft.init.Bootstrap:printToSYSOUT:629]: ---- Minecraft Crash Report ----
// I blame Dinnerbone.

Time: 9/14/19 9:26 PM
Description: Initializing game

java.lang.RuntimeException: One of more entry values did not copy to the correct id. Check log for details!
    at net.minecraftforge.registries.ForgeRegistry.sync(ForgeRegistry.java:555)

我发现唯一可以修复它的是,如果我删除了名为RegistryHandler的文件,该文件显示


import net.minecraft.item.Item;
import net.minecraftforge.client.event.ModelRegistryEvent;
import net.minecraftforge.event.RegistryEvent;
import net.minecraftforge.fml.common.Mod.EventBusSubscriber;
import net.minecraftforge.fml.common.eventhandler.SubscribeEvent;
import superrobbie10.MinecraftAdditions.init.ModItems;
import superrobbie10.MinecraftAdditions.util.IHasModel;

@EventBusSubscriber
public class RegistryHandler 
{

    @SubscribeEvent
    public static void onItemRegisterer(RegistryEvent.Register<Item> event)
    {

        event.getRegistry().registerAll(ModItems.ITEMS.toArray(new Item[0]));
    }

        @SubscribeEvent
        public static void onModelRegister(ModelRegistryEvent event)
        {

            for(Item item : ModItems.ITEMS)
            {

                if(item instanceof IHasModel)
                {

                    ((IHasModel)item).registerModels();
                }
            }
        }
}

另外,这是我的toolsword.java:

package superrobbie10.MinecraftAdditions.items.tools;

import net.minecraft.creativetab.CreativeTabs;
import net.minecraft.item.ItemSword;
import superrobbie10.MinecraftAdditions.Main;
import superrobbie10.MinecraftAdditions.init.ModItems;
import superrobbie10.MinecraftAdditions.util.IHasModel;

public class ToolSword extends ItemSword implements IHasModel {

    public ToolSword(String name, ToolMaterial material)
    {
        super(material);
        setUnlocalizedName(name);
        setRegistryName(name);
        setCreativeTab(CreativeTabs.TOOLS);

        ModItems.ITEMS.add(this);
    }

    @Override
    public void registerModels()
    {
        Main.proxy.registerItemRenderer(this, 0, "inventory");
    }

}

下面是我的使用方法:

    public static final ItemSword NETHERINIUM_SWORD = new ToolSword("netherinium_sword", MATERIAL_NETHERINIUM);

但当我这样做,我进入我的Minecraft世界,它说,一些注册的东西被删除,导致我所有的块和项目消失

共有1个答案

须旭
2023-03-14

看来问题出在这里:

    setUnlocalizedName(name);
    setRegistryName(name);

在那里,name“netherinium_sword”。您的非本地化名称和注册表名称不应该相同,因为您的注册表名称需要有命名空间。请尝试以下操作:

    setUnlocalizedName(name);
    setRegistryName("mcadditions:" + name);

(或者如果您的mod ID中有一个常量,则可以使用它而不是硬编码。)

 类似资料:
  • 问题内容: 我有一个tomcat作为我的网络服务器,它会根据给定的错误自动停止- 我需要弄清楚实际发生了什么?那警告是什么意思? 问题答案: 没有足够的内存让Java Runtime Environment继续运行。 本机内存分配(malloc)无法分配xxxxx字节来提交保留的内存。 可能的原因: 1.系统没有物理RAM或交换空间 2.在32位模式下,达到了进程大小限制 可能的解决方案:1 .减

  • 问题内容: 使用Maven构建Java 8项目时: 我收到此消息: Java HotSpot(TM)64位服务器VM警告:忽略选项MaxPermSize = 128m;在8.0中删除了支持 如何删除此消息? 问题答案: JDK 8兼容性指南指出,在Java 8中,命令行标志已被删除。原因是永久代已从热点堆中删除,并已移至本机内存。因此,为了删除此消息,请编辑MAVEN_OPTS环境用户变量: Ja

  • 我有一个tomcat作为我的web服务器,它会随着给定的错误自动停止- 我需要弄清楚到底发生了什么?警告意味着什么?

  • 我在运行cassandra时出现以下错误。 $ sudo服务cassandra start $卡桑德拉 JavaHotSpot(TM)服务器VM警告:由于权限被拒绝,无法打开文件 /var/log/cassandra/gc.log。

  • 我只想在OpenSuSE 13.11.10-64x中运行ORACLE SQL Developer 4.0.2.12.21 linux-l4i7:/home/suse/bin/sqldeveloper#./sqldeveloper.sh

  • 我在一个项目中使用java scala(与sbt一起)。 语言信息: 当我运行任何时,我得到一个奇怪的警告提示: 我无法理解这种行为。 更新: 我检查了 选项,它具有相同的行为: 感谢这么快的解释1.8Java新功能! 但是如何解决警告的发生? 以下是的内容: Eclipse有< code>eclipse.ini: 更新2 我从两个配置文件中删除了包含的所有行。 但是这个错误警告一直出现(当<co