517190058
我想编写一个mod的插件,然后跟着另一个大佬的提示,构建了forge环境之后,然后就找不到想给插件导入的forge包了。(顺便问一下大佬们,这个思路是对的吧?)
望大佬指一下路。

南柯郡守
你窗口右上角的搜索框 输入  forge src

然后会出来很多.jar文件  选一个带source的就🉑

天辉胡萝卜
linux下位于
  1. ~/.gradle/caches/forge_gradle/minecraft_user_repo/net/minecraftforge/forge/1.7.10-xxx_mapped_snapshot_xxx-1.7
复制代码


windows下自行寻找
你既然genEclipse了,就开eclipse看一下依赖的位置

517190058
南柯郡守 发表于 2020-8-6 01:15
你窗口右上角的搜索框 输入  forge src

然后会出来很多.jar文件  选一个带source的就🉑 ...

谢谢大佬~我在./gradle 文件里找到了,但是我只导入那个source的时候,我用eclipse看了里面依赖的source发现全是空包,然后用类的时候也用不了,然后我把里面的所有forge都放进eclipse里了可以吗

517190058

感谢大佬再次指教,嘻嘻

天辉胡萝卜
517190058 发表于 2020-8-6 01:37
谢谢大佬~我在./gradle 文件里找到了,但是我只导入那个source的时候,我用eclipse看了里面依赖的 ...

目录错了

你要用带有mapped_snapshot目录中的jar
因为插件和mod的classloader不同,所以不要直接用混淆版本

南柯郡守
517190058 发表于 2020-8-6 01:37
谢谢大佬~我在./gradle 文件里找到了,但是我只导入那个source的时候,我用eclipse看了里面依赖的 ...

你可以找尝试用压缩软件打开 看看包内是否有内容
如果没有的话可以多看几个

包含该名称的.jar文件可能在多个路径下都有 可以都检查一遍

也可以用你说的方法都导入  然后看哪个是可以用的 把他保留下来  
这个方法可以 只是会比较麻烦了些

517190058
疾风暗影 发表于 2020-8-6 01:47
目录错了

你要用带有mapped_snapshot目录中的jar

谢谢大佬的指点,但是大佬我找不到你能帮我看看是怎么回事吗

517190058
疾风暗影 发表于 2020-8-6 01:47
目录错了

你要用带有mapped_snapshot目录中的jar

大佬你好,我用了我第一张图里面发的foregeSrc没有source的那个,好像已经可以用了,
但是我还是遇到了点问题
大佬可以指点我一下怎么将org.bukkit.entity.Player转化成net.minecraft.entity.player.EntityPlayer吗?
如果你能告诉我我将不胜感激

天辉胡萝卜
517190058 发表于 2020-8-6 02:33
大佬你好,我用了我第一张图里面发的foregeSrc没有source的那个,好像已经可以用了,
但是我还是遇到了点 ...
  1. CraftPlayer cp = (CraftPlayer) player;
  2. net.minecraft.server.<version>.EntityPlayer entityPlayer = cp.getHandle();
  3. net.minecraft.entity.player.EntityPlayerMP mp = (net.minecraft.entity.player.EntityPlayerMP) (Object) entityPlayer;
复制代码

517190058

大佬你好,非常感谢你昨天晚上的帮助。
想再次打扰你一下,我用了你给我发的代码,我用到第二句我就不会用了,能不能麻烦你教教我qwq
(我有查百度说是范型,可是我翻了包看,也不知道能填啥)
  1. CraftPlayer cp = (CraftPlayer) player;
  2. //这里面的version是什么,找不到这个包,填了数字也没有
  3. //我反编译了包说得到一个mw,可是我在forge和bukkit里找不到这个类
  4. //net.minecraft.server.<version>.EntityPlayer entityPlayer = cp.getHandle();
  5. net.minecraft.entity.player.EntityPlayerMP mp = (net.minecraft.entity.player.EntityPlayerMP) (Object) entityPlayer;
复制代码

南柯郡守
<version>的一般格式是  1_12_R1
每个版本都不一样  你先删掉现在这个entityplayer的导入的包  重新把鼠标放到EneieyPlayer上  看下是否有个类似的包

天辉胡萝卜
本帖最后由 疾风暗影 于 2020-8-6 15:34 编辑
517190058 发表于 2020-8-6 13:27
大佬你好,非常感谢你昨天晚上的帮助。
想再次打扰你一下,我用了你给我发的代码,我用到第二句我就不会 ...

版本号

v1_7_R4

以及你第二句可以直接省略过程

  1. CraftPlayer cp = (CraftPlayer) player;
  2. net.minecraft.entity.player.EntityPlayerMP mp = (net.minecraft.entity.player.EntityPlayerMP) (Object) cp.getHandle();
复制代码



517190058

谢谢大佬!!!我已经成功了,多谢你这段时间的指点,让我非常有收获qwq,期待与你的下次相遇

517190058
南柯郡守 发表于 2020-8-6 13:39
的一般格式是  1_12_R1
每个版本都不一样  你先删掉现在这个entityplayer的导入的包  重新把鼠标放到Eneiey ...

感谢大佬这几次的热心指点!我现在已经知道了,期待成为像你们这样的大佬