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

将下载的minecraft mod更新到1.8

邢灿
2023-03-14

我已经下载了一个forge mod(ArrowMarker 1.7.10版本),我想更新它,这样它就可以在1.8 forge Minecraft上工作了。我所尝试的:首先,我建立了一个基本的1.8锻造mod,它完全工作。然后,我尝试了多个反编译程序来反编译。jar归档文件,但是当我粘贴这些文件的代码时,我总是收到很多错误。(例如,函数是不存在的)。如何将此mod更新到1.8?
箭头标记1.7.10

奇怪的反编译示例:(它在func_151468_f或mc.field上出错)

@SubscribeEvent
      public void RenderVillageCheckerFromEvent(InputEvent.KeyInputEvent event)
      {

        if (key_enable.func_151468_f())
        {
            ArrowMarker.arrowMarker.mode += 1;
          if (ArrowMarker.arrowMarker.mode == 4) {
              ArrowMarker.arrowMarker.mode = 0;
          }
        }
        if (key_h.func_151468_f()) {
          ArrowMarker.arrowMarker.Hactive = (ArrowMarker.arrowMarker.Hactive);
        }
        if (sen == -1.0F) {
          sen = mc.field_71474_y.field_74341_c;
        }
        if (key_slow.func_151470_d()) {
          mc.field_71474_y.field_74341_c = (sen / 10.0F);
        } else {
          mc.field_71474_y.field_74341_c = sen;
        }
        if ((mc.field_71462_r != null) && (ArrowMarker.arrowMarker.mode > 2)) {
            ArrowMarker.arrowMarker.mode = 1;
        }
      }

共有1个答案

边健
2023-03-14

我明白这篇文章是旧的,但它有助于给出一个清晰简洁的答案。这可以帮助新开发人员了解正在发生的事情。

您看到的是经过模糊处理的方法/字段名称(称为搜索名称)。这是由于代码保护系统称为混淆。它防止人们能够复制您的代码,并为此邀功。通常,这不会带来太多的问题,因为它只会创建难以辨认但可以正常工作的代码。

然而,《我的世界》的操作有点不同。因为它对整个minecraft客户机进行反编译和重新格式化,所以它可以访问被混淆的方法/字段无法找到的非常特定的名称。这会导致Java IDE抛出错误,主要是未实现的错误,无法找到指定的方法/字段。同样重要的是要注意'methods'总是以func开头,这意味着html" target="_blank">函数。类似地,字段将以field开始,参数将以p开始。

@SubscribeEvent
public void RenderVillageCheckerFromEvent(InputEvent.KeyInputEvent event)
{
    if (key_enable.isPressed())
    {
        ArrowMarker.arrowMarker.mode += 1;
        if (ArrowMarker.arrowMarker.mode == 4) {
            ArrowMarker.arrowMarker.mode = 0;
        }
    }
    if (key_h.isPressed()) {
        ArrowMarker.arrowMarker.Hactive = (ArrowMarker.arrowMarker.Hactive);
    }
    if (sen == -1.0F) {
        sen = mc.gameSettings.mouseSensitivity;
    }
    if (key_slow.getIsKeyPressed()) {
        mc.gameSettings.mouseSensitivity = (sen / 10.0F);
    } else {
        mc.gameSettings.mouseSensitivity = sen;
    }
    if ((mc.currentScreen != null) && (ArrowMarker.arrowMarker.mode > 2)) {
        ArrowMarker.arrowMarker.mode = 1;
    }
}
    null
 类似资料:
  • null 我遇到了一些奇怪的例外 在login.jspx页面上提交简单表单后出现 LocaleFilter照常工作。 我认为配置有问题但找不到原因。 主pom.xml: web.xml null 我准备添加任何额外的信息,以找到这种情况的原因。我希望有人能帮我找到解决这个问题的方法,因为谷歌并不知道这个问题。任何帮助都是有用的。

  • jdk是通过以下链接从oracle下载的吗?是GPL许可证,我认为不是https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html 如果它没有GPL许可,为什么openjdk站点建议我从oracle下载jdk,并声称它是在GPL许可下https://jdk.java.net/java-se

  • 我已经用UUID作为每个文件名的密钥将文件上传到s3 bucket,我要求将文件密钥作为存储的UUID,但当下载时,我需要将下载的文件名作为实际文件名,例如:foo.png aws S3-0E8221B9-9BF4-49D6-B0C0-D99E86F91F8E.png上存储的文件下载文件名应为:foo.bar 我尝试过设置Content-Disposition元数据,但在下载文件时仍然包含UUID

  • 本文向大家介绍用xutils3.0进行下载项目更新,包括了用xutils3.0进行下载项目更新的使用技巧和注意事项,需要的朋友参考一下 xUtils简介 xUtils 包含了很多实用的android工具。 xUtils 支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls 最低兼容android 2.2 (api l

  • 本文向大家介绍Android程序版本更新之通知栏更新下载安装,包括了Android程序版本更新之通知栏更新下载安装的使用技巧和注意事项,需要的朋友参考一下 Android应用检查版本更新后,在通知栏下载,更新下载进度,下载完成自动安装,效果图如下: •检查当前版本号 AndroidManifest文件中的versionCode用来标识版本,在服务器放一个新版本的apk,versioncode大于当

  • 我在RU11上运行CRM2011。我将其更新为RU14,但当我从部署管理器浏览组织时,我得到以下错误: 发生了一个错误。

  • 问题内容: 假设有一个完全填充的数据String [n] [3] myData数组。 我想做这个: 显然,我已经遗漏了很多东西,但是我想尽可能简洁地表达这个想法。 有一个简单的方法可以在单个DB命令中执行此操作吗?一个不太简单的方法怎么样? 编辑:数据不是来自另一个表(这是Web表单提交-多项选择考试)。 由于该应用是面向Web的,因此必须是防注入的。参数化查询是我首选的处理方式。 我正在使用MS

  • 问题内容: 我有一个Play 2.2与Java 8一起使用的应用程序,无法 正常工作。该代码使用OpenJDK 1.8在本地为我编译,但是当我尝试 将代码推送到Heroku时,出现以下错误,这是我 偶然 在带有lambda的OpenJDK 1.7上运行时在本地获取的错误. 我设置为使用Java 1.8,并且知道它正在工作,因为 它以以下文本开头: 我有什么要忘记更新到Java 8的事情吗?我尝试更