MC百科社群

标题: mcreator导不出模组,求助 [打印本页]

作者: sder_145    时间: 2023-1-3 15:57
标题: mcreator导不出模组,求助
本帖最后由 sder_145 于 2023-1-3 16:03 编辑

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

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

下载.png

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

下载 (2).png

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

下载 (1).png

作者: xm94732568960    时间: 2023-1-3 15:57
啊不对,map很宽松的,虽然规定了value类型是Object但是放double是没事的,所以player.getX()不用改
作者: sder_145    时间: 2023-1-3 16:32
已试过清除缓存,但毫无效果
作者: xm94732568960    时间: 2023-1-5 16:33
PlayerTickEvents没import吧?(mcr竟然有1.19fabric了)
作者: xm94732568960    时间: 2023-1-5 16:34
本帖最后由 xm94732568960 于 2023-1-5 16:37 编辑

你这代码错误它就没法给你编译,当然也就没有模组元素了,代码给各位看看啊
作者: sder_145    时间: 2023-1-6 15:25
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. }
复制代码

作者: xm94732568960    时间: 2023-1-6 15:37
本帖最后由 xm94732568960 于 2023-1-6 17:14 编辑

PlayerTickEvents没import,所以mcr找不到这个程序包
主程序17行map不能放player.getX(),它是double与Object类不兼容
其他的错误没看出来,我没写过fabric模组
作者: xm94732568960    时间: 2023-1-6 17:00
可以直接把player.getX()转成String放进map里(String兼容Object),getY()和getZ()同理
作者: sder_145    时间: 2023-1-7 15:17
xm94732568960 发表于 2023-1-6 17:08
啊不对,map很宽松的,虽然规定了value类型是Object但是放double是没事的,所以player.getX()不用改 ...

我有这个,貌似不用问了

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

新建 BMP 图像 (2).bmp

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

新建 BMP 图像 (3).bmp





欢迎光临 MC百科社群 (https://bbs.mcmod.cn/) MC百科|最大的MineCraft中文模组百科