刚学写插件 比较天真 想着
复制代码以为可以直接转换到NPCmod的世界然后调用mod本身来生成
不过问题很大 CraftWorld转不成ScriptWorld
或许是不是有办法可以调用javascript来令NPCmod生成NPC呢
- ScriptWorld world = (ScriptWorld)Bukkit.getWorld(this.WorldName);
不过问题很大 CraftWorld转不成ScriptWorld
或许是不是有办法可以调用javascript来令NPCmod生成NPC呢
什么版本 1.7.10吗
Hueihuea 发表于 2020-4-6 15:42
什么版本 1.7.10吗
是的 mod是1.7.10的
969756790 发表于 2020-4-6 15:52
是的 mod是1.7.10的
- public static ScriptWorld getWorldFormName(String name){
- WorldServer[] worlds = FMLCommonHandler.instance().getMinecraftServerInstance().field_71305_c;
- for (WorldServer world : worlds) {
- String infoName = world.func_72912_H().func_76065_j();
- if (infoName.equals(name)) {
- return new ScriptWorld(world);
- }
- }
- }
bukkit的world 可以获得世界的名字 用我上面写的轮子 你可以获得一个脚本世界
Hueihuea 发表于 2020-4-6 15:59
bukkit的world 可以获得世界的名字 用我上面写的轮子 你可以获得一个脚本世界 ...
这个环境是要先搭写mod的环境然后再导入bukkit的包嘛
我这边导入了forge-1.7.10-10.13.4.1558-1.7.10-universal.jar 会提示缺少包
- The type net.minecraft.server.MinecraftServer cannot be resolved
969756790 发表于 2020-4-6 16:06
这个环境是要先搭写mod的环境然后再导入bukkit的包嘛
我这边导入了forge-1.7.10-10.13.4.1558-1.7.10-un ...
你平时怎么导入bukkit
这次换成导入forge+bukkit的服务端
本帖最后由 969756790 于 2020-4-6 17:35 编辑
emmmmm 我还是没有自己解决
我分别导入了Thermos-1.7.10-1614-58-server 和KCauldron-1.7.10-1614.201但是还是提示
复制代码
是我导的包不正确嘛
Hueihuea 发表于 2020-4-6 16:15
你平时怎么导入bukkit
这次换成导入forge+bukkit的服务端
emmmmm 我还是没有自己解决
我分别导入了Thermos-1.7.10-1614-58-server 和KCauldron-1.7.10-1614.201但是还是提示
- The type net.minecraft.world.WorldServer cannot be resolved. It is indirectly referenced from required .class files
是我导的包不正确嘛
969756790 发表于 2020-4-6 17:05
emmmmm 我还是没有自己解决
我分别导入了Thermos-1.7.10-1614-58-server 和KCauldron-1.7.10-1614.201但 ...
你把你构建路径 截图我看看
本帖最后由 969756790 于 2020-4-6 18:31 编辑
构建路径是这样的
目前报的错有三个复制代码复制代码复制代码
WorldServer 是import net.minecraft.server.v1_7_R4.WorldServer; 不知道对不对
换成Kcauldron之后WorldServer也开始报错了
是不是我导入的这个包他不完整啊
Hueihuea 发表于 2020-4-6 18:15
你把你构建路径 截图我看看

构建路径是这样的
目前报的错有三个
- field_71305_c cannot be resolved or is not a field
- The method func_72912_H() is undefined for the type WorldServer
- The type net.minecraft.world.WorldServer cannot be resolved. It is indirectly referenced from required .class files
WorldServer 是import net.minecraft.server.v1_7_R4.WorldServer; 不知道对不对

换成Kcauldron之后WorldServer也开始报错了
是不是我导入的这个包他不完整啊
969756790 发表于 2020-4-6 18:24
构建路径是这样的
目前报的错有三个
不要单独导入forge 也不用单独导入bukkit 而是导入且只导入一个forge+bukkit服务端
Hueihuea 发表于 2020-4-6 21:41
不要单独导入forge 也不用单独导入bukkit 而是导入且只导入一个forge+bukkit服务端 ...
我就卡在这儿了 找不到1.7.10又有forge又有bukkit的服务端 直接导入开服用的核心也不顶事
哥儿们有链接啥的发一个呗

969756790 发表于 2020-4-6 23:57
我就卡在这儿了 找不到1.7.10又有forge又有bukkit的服务端 直接导入开服用的核心也不顶事
哥儿们有链接 ...
TH U端 只要你能用这个服务端跑mod+插件 他就是forge+bukkit
本帖最后由 969756790 于 2020-4-7 01:02 编辑
我导入了在 https://www.mcbbs.net/thread-641877-1-1.html 下载的Thermos端
但是会同时报forge和WorldServer的import错
我又去 https://www.mcbbs.net/thread-723871-1-1.html 下载了稳定版U端 也是一样的报错
Hueihuea 发表于 2020-4-7 00:40
TH U端 只要你能用这个服务端跑mod+插件 他就是forge+bukkit

我导入了在 https://www.mcbbs.net/thread-641877-1-1.html 下载的Thermos端
但是会同时报forge和WorldServer的import错
我又去 https://www.mcbbs.net/thread-723871-1-1.html 下载了稳定版U端 也是一样的报错
WorldServer是thermos运行的时候remap出来的,你可以在ide里面再额外导入一个bukkit
疾风暗影 发表于 2020-4-7 01:21
WorldServer是thermos运行的时候remap出来的,你可以在ide里面再额外导入一个bukkit ...
现在我都怀疑人生了
导了Thermos 没有导forge和Bukkit 同时报错forge和WorldServer
导了forge和Bukkit 没有导入Thermos 会报
下面三个错
field_71305_c cannot be resolved or is not a field
The method func_72912_H() is undefined for the type WorldServer
The type net.minecraft.world.WorldServer cannot be resolved. It is indirectly referenced from required .class files
导Thermos和Bukkit 会报forge的错
本帖最后由 Hueihuea 于 2020-4-7 14:44 编辑
楼上说得对 他是在运行的时候remap出来的
所以
导入forgeSrc和bukkit
或者你使用反射
969756790 发表于 2020-4-7 01:57
现在我都怀疑人生了
导了Thermos 没有导forge和Bukkit 同时报错forge和WorldServer
楼上说得对 他是在运行的时候remap出来的
所以
导入forgeSrc和bukkit
或者你使用反射
本帖最后由 wshycaa 于 2020-4-7 12:18 编辑
public static void spawnCustomNPC(Location loc, String name, int tab) {
NBTTagCompound compound = ServerCloneController.Instance.getCloneData(null, name, tab);
NoppesUtilServer.spawnClone(compound, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(),
(WorldServer) (Object) ((CraftWorld) loc.getWorld()).getHandle());
}
这是我写好的插件方法,使用NPCmod和ForgeSrc作为前置即可调用,world之间怎么转换见代码
public static void spawnCustomNPC(Location loc, String name, int tab) {
NBTTagCompound compound = ServerCloneController.Instance.getCloneData(null, name, tab);
NoppesUtilServer.spawnClone(compound, loc.getBlockX(), loc.getBlockY(), loc.getBlockZ(),
(WorldServer) (Object) ((CraftWorld) loc.getWorld()).getHandle());
}
这是我写好的插件方法,使用NPCmod和ForgeSrc作为前置即可调用,world之间怎么转换见代码
universal只是一个免安装的forge 并不包含minecraft代码
Hueihuea 发表于 2020-4-7 12:20
universal只是一个免安装的forge 并不包含minecraft代码
感谢大佬耐心帮我 我终于导入了正确的forgesrc!