= 创作分享 =
你问我答
mcreator导不出模组,求助
sder_145

mcreator导不出模组,求助

sder_145 于 2023-1-3 15:57 ( 1年前 ) [复制链接] [只看楼主] [打印]
619 8
15RF
本帖最后由 sder_145 于 2023-1-3 16:03 编辑

(图片见附件)该咋办啊,我这模组就一个流程,没有别的了。

下载.png (7.76 KB, 下载次数: 82)

下载.png

下载 (2).png (132.27 KB, 下载次数: 67)

下载 (2).png

下载 (1).png (71.43 KB, 下载次数: 102)

下载 (1).png

最佳答案

查看完整内容

啊不对,map很宽松的,虽然规定了value类型是Object但是放double是没事的,所以player.getX()不用改
发表于 2023-1-3 15:57:21 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

回复 | 举报

该帖共收到 8 条回复!
sder_145
已试过清除缓存,但毫无效果
发表于 2023-1-3 16:32:17 | 只看该作者

回复 | 举报

仙勾子
啊不对,map很宽松的,虽然规定了value类型是Object但是放double是没事的,所以player.getX()不用改

评分

参与人数 1RF +5 Vis +2 收起 理由
sder_145 + 5 + 2 给大佬递分

查看全部评分

未死之前,终有希望
发表于 2023-1-3 15:57:22 | 只看该作者

回复 | 举报

仙勾子
PlayerTickEvents没import吧?(mcr竟然有1.19fabric了)
未死之前,终有希望
发表于 2023-1-5 16:33:38 | 只看该作者

回复 | 举报

仙勾子
本帖最后由 xm94732568960 于 2023-1-5 16:37 编辑

你这代码错误它就没法给你编译,当然也就没有模组元素了,代码给各位看看啊
未死之前,终有希望
发表于 2023-1-5 16:34:35 | 只看该作者

回复 | 举报

sder_145
xm94732568960 发表于 2023-1-5 16:34
你这代码错误它就没法给你编译,当然也就没有模组元素了,代码给各位看看啊 ...

主程序
  1. package net.kuakeh.closetoreality.procedures;

  2. import net.minecraft.world.entity.LivingEntity;
  3. import net.minecraft.world.entity.Entity;
  4. import net.minecraft.world.damagesource.DamageSource;

  5. import net.kuakeh.closetoreality.ClosetorealityMod;

  6. import java.util.Map;
  7. import java.util.HashMap;

  8. public class WhentouchingmagmaProcedure {
  9.         public WhentouchingmagmaProcedure() {
  10.                 PlayerTickEvents.END.register((player) -> {
  11.                         Map<String, Object> dependencies = new HashMap<>();
  12.                         dependencies.put("entity", player);
  13.                         dependencies.put("x", player.getX());
  14.                         dependencies.put("y", player.getY());
  15.                         dependencies.put("z", player.getZ());
  16.                         dependencies.put("world", player.level);
  17.                         execute(dependencies);
  18.                 });
  19.         }

  20.         public static void execute(Map<String, Object> dependencies) {
  21.                 if (dependencies.get("entity") == null) {
  22.                         if (!dependencies.containsKey("entity"))
  23.                                 ClosetorealityMod.LOGGER.warn("Failed to load dependency entity for procedure Whentouchingmagma!");
  24.                         return;
  25.                 }
  26.                 Entity entity = (Entity) dependencies.get("entity");
  27.                 if (entity.isInLava()) {
  28.                         if (entity instanceof LivingEntity _entity)
  29.                                 _entity.hurt(new DamageSource("touchingmagma").bypassArmor(), 1);
  30.                 }
  31.         }
  32. }
复制代码

唯一的流程

  1. /*
  2. *        MCreator note: This file will be REGENERATED on each build.
  3. */
  4. package net.kuakeh.closetoreality.init;

  5. import net.kuakeh.closetoreality.procedures.WhentouchingmagmaProcedure;

  6. @SuppressWarnings("InstantiationOfUtilityClass")
  7. public class ClosetorealityModProcedures {
  8.         public static void load() {
  9.                 new WhentouchingmagmaProcedure();
  10.         }
  11. }
复制代码
发表于 2023-1-6 15:25:15 | 只看该作者

回复 | 举报

仙勾子
本帖最后由 xm94732568960 于 2023-1-6 17:14 编辑

PlayerTickEvents没import,所以mcr找不到这个程序包
主程序17行map不能放player.getX(),它是double与Object类不兼容
其他的错误没看出来,我没写过fabric模组
未死之前,终有希望
发表于 2023-1-6 15:37:43 | 只看该作者

回复 | 举报

仙勾子
可以直接把player.getX()转成String放进map里(String兼容Object),getY()和getZ()同理
未死之前,终有希望
发表于 2023-1-6 17:00:45 | 只看该作者

回复 | 举报

sder_145
xm94732568960 发表于 2023-1-6 17:08
啊不对,map很宽松的,虽然规定了value类型是Object但是放double是没事的,所以player.getX()不用改 ...

我有这个,貌似不用问了

新建 BMP 图像 (2).bmp (19.97 KB, 下载次数: 54)

新建 BMP 图像 (2).bmp

新建 BMP 图像 (3).bmp (786.15 KB, 下载次数: 64)

新建 BMP 图像 (3).bmp
发表于 2023-1-7 15:17:08 | 只看该作者

回复 | 举报

百科目前不允许匿名发帖哦~ 请先 [ 登陆 ][ 注册 ] 吧~

本版积分规则

发新帖
  • 回复
  • 点评
  • 评分

[ MC百科(mcmod.cn) 除另有声明,所有开放公共编辑的内容均使用 BY-NC-SA 3.0 协议 ]

Minecraft百科CC协议
快速回复 返回顶部 返回列表