# 构建forge
由于要生成mod中的实体生物用利用到一些ForgeAPI,所以需要构建forge环境,这里你可以去另一个文档Minecraft Forge开发手册,把forge构建好就可以开始了。
————————————————————————分割线————————————————————————
# 另一种方法
如果你觉得构建forge环境太过麻烦,还有另外一种方法,这里科普一下,当Mod注册新实体的时候,会在Bukkit里面注册EntityType,利用这个东西就可以生成Mod的实体(适用于1.7.X),1.7.X以上的还是乖乖去构建forge把。
这个方法该如何生成实体生物呢?很简单,一行代码直接完事。
`World.spawnEntity(loc, EntityType.valueOf("ZOMBIE"))`
这里的world指世界,loc指位置,ZOMBIE可以是Mod生物的EntityType名。
这里有个好插件,可以查询mod生物的EntityType。[https://www.mcbbs.net/forum.php?mod=viewthread&tid=856359](https://www.mcbbs.net/forum.php?mod=viewthread&tid=856359)
那么你用了这种方法就可以下一章了(对,没错,就这)
————————————————————————分割线————————————————————————
构建完forge环境后,还要导入插件依赖(指服务器核心和[CraftBukkit](https://getbukkit.org/download/craftbukkit)),注意forge构建完后是gradle项目,而不是maven,然后你要学一下如何向gradle项目导入本地依赖,这里推荐[https://blog.csdn.net/qq\_36666651/article/details/80718668](https://blog.csdn.net/qq_36666651/article/details/80718668)
然后在项目文件夹的`src\main\libs`文件夹中,把服务器核心扔进去。
如果你是idea,
那么你还要按左上角的文件(F),接着再按项目结构![](https://img.kancloud.cn/8e/48/8e48cbb6ec8b3a7ec905ffdb0af60399_1040x853.png)
来到这个界面,按右边的![](https://img.kancloud.cn/a3/00/a3004b274a068c5087ee19bcc0dcc122_28x31.png)按钮
![](https://img.kancloud.cn/f8/56/f856d854df776ecbf39ce369fb8b13bb_136x67.png)选择第一个
![](https://img.kancloud.cn/89/72/8972323c2a6a04b1da99ca247a534fcc_440x521.png)找到项目文件夹里面的`src\main\libs`文件夹,并鼠标左键,最后点击确定。导入成功。![](https://img.kancloud.cn/77/30/7730b87b55a7dccbfb3b718c37f47789_1040x853.png)再次来到这个界面,勾起它。最后按应用后再按确定。
那么你就可以在构建forge环境的地方写插件了。
最后生成实体生物的方法也特简单。就两行代码直接完事。
~~~
net.minecraft.entity.player.EntityPlayer entityPlayer = (net.minecraft.entity.player.EntityPlayer)((Object)((CraftPlayer)pl).getHandle());
entityPlayer.worldObj.spawnEntityInWorld(entity);
~~~
这里作者用的1.7.10,有可能有点不一样(我也不知道会不会一样,没写过高版本的)
如果getHandle不行改成getHandler试试,如果还是不行,请在评论区评论并说出版本是多少。我会解决的(az可能吧咕咕咕)