Minecraft(我的世界)中文论坛
标题: 用MCP+MODLOADER制作MOD(正在更新)
作者: 719823597 时间: 2011-10-6 14:22
标题: 用MCP+MODLOADER制作MOD(正在更新)
本帖最后由 719823597 于 2012-7-31 13:44 编辑
第一篇教程
如果编译时出了错误,请把错误报告发上来
一.如何在MCP里装modloader(只需改一下教程1的方法)
先把MCP解压了(我解压到了C盘 C:\MCP),复制BIN和RESOURCE和官方服务端到MCP目录里的jars文件夹(C:\MCP\JARS)然后点开decompile.bat,完成
注意!! 复制BIN之前先在MINECRAFT.JAR里装入modloader并删掉meta-inf文件夹
然后decompile
二.如何用modloader添加一条合成公式
先在src文件夹里创建个名为mod_xxx.java的文件(xxx可以随便改),打开输入
- package net.minecraft.src;
- public class mod_xxx extends BaseMod
- {
- public String Version()
- {
- return "1.0 ";
- }
- public mod_xxx ()
- {
- ModLoader.AddRecipe(new ItemStack(tnt, 1), new Object[] {"s", "s", Character.valueOf('s'), Block.dirt});
- }
-
- }
复制代码
”public String Version()“为mod的版本号(不可以去掉 否则会崩溃),
ModLoader.AddRecipe(new ItemStack(tnt, 1), new Object[] {"s", "s", Character.valueOf('s'), Block.dirt});
这条就是合成公式啦,“new ItemStack(tnt, 1)”为合成后的物品,”"s", "s", Character.valueOf('s'), Block.dirt“为合成配方(打竖的两个土)
二.用modloader添加一个新方块
我们先新建一个名为Blockexample.java的文件,打开输入
- package net.minecraft.src;
- import java.util.Random;
- public class Blockexample extends Block
- {
- public Blockexample(int i, int j)
- {
- super(i, j, Material.rock);
- }
- public int idDropped(int i, Random random)
- {
- return this.blockID;
- }
- }
复制代码
其实这里是引用了教程1的代码= =,modloader比MCP方便的原因之一就是添加东东不用怎么修改游戏自带文件,减少冲突
然后我们打开mod_xxx.java,添加一条
public static final Block example = (new Blockexample (114,0)).setHardness(0.3F).setResistance(30F).setBlockName("example");;
“public static final Block example”算是给这方块一个名字,在编mod时和下文用得到,“(new Blockexample (114,0))”是引用blockexample.java文件(刚刚弄的),方块编号为114,之后的那些sethardness之类的在教程1已经讲过
然后再添加
- example.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/xxx/example.png");
- ModLoader.RegisterBlock(example );
- ModLoader.AddRecipe(new ItemStack(example , 1), new Object[]{ "X", Character.valueOf('X'), Block.cobblestone});
- ModLoader.AddName(example , "example");
复制代码 “example .blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/xxx/example.png");”是添加刚刚那个方块的材质的路径(现在的路径为minecraft.jar/xxx/example.png),|| “ModLoader.RegisterBlock(example );”这句是必要的,注册方块用的 “ModLoader.AddRecipe(new ItemStack(example , 1), new Object[]{ "X", Character.valueOf('X'), Block.cobblestone});”
这个不用说啦,合成公式 “ModLoader.AddName(example , "example");”这个是添加此方块在游戏中的名字(就叫example吧)
完整代码如下:
- package net.minecraft.src;
- public class mod_xxx extends BaseMod
- {
- public static final Block example = (new Blockexample (114,0)).setHardness(0.3F).setResistance(30F).setBlockName("example");;
- public String Version()
- {
- return "1.0 ";
- }
-
- public mod_xxx ()
- {
-
-
- example.blockIndexInTexture = ModLoader.addOverride("/terrain.png", "/xxx/example.png");
- ModLoader.RegisterBlock(example );
- ModLoader.AddRecipe(new ItemStack(example , 1), new Object[]{ "X", Character.valueOf('X'), Block.cobblestone});
- ModLoader.AddName(example , "example");
-
-
- }
-
-
- }
复制代码
三.用modloader制作一个新物品
直接引用教程1的代码吧,把教程1的代码放入src文件夹,打开mod_xxx.java 输入
- public static final Item test = (new ItemExample (3010)).setItemName("test");;
复制代码
其实与方块的差不多,那就略过吧= =,继续输入
- test.iconIndex = ModLoader.addOverride("/gui/items.png", "/xxx/test.png");
- ModLoader.AddName(test, "test");
- ModLoader.AddRecipe(new ItemStack(test, 1), new Object[] {"s", "s", Character.valueOf('s'), Block.stone});
复制代码 这里的第一条是材质的路径(和刚才的一样,就是文件名为test.png),“ModLoader.AddName(test, "test");”是游戏中显示的的物品名字,”ModLoader.AddRecipe(new ItemStack(test, 1), new Object[] {"s", "s", Character.valueOf('s'), Block.stone});“是合成公式(打竖的两个石头), 与方块不同的是 这里并不需要注册道具
完整代码如下
- package net.minecraft.src;
- public class mod_xxx extends BaseMod
- {
- public static final Item test = (new ItemExample (3010)).setItemName("test");;
- public String Version()
- {
- return "1.0 ";
- }
-
- public mod_xxx ()
- {
-
- test.iconIndex = ModLoader.addOverride("/gui/items.png", "/xxx/test.png");
- ModLoader.AddName(test, "test");
- ModLoader.AddRecipe(new ItemStack(test, 1), new Object[] {"s", "s", Character.valueOf('s'), Block.stone});
- }
-
- }
复制代码
四.如何制做一个新的NPC(动物类)
先新建一个EntityXXX.java文件,写上
- // Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.
- // Jad home page: http://www.kpdus.com/jad.html
- // Decompiler options: packimports(3) braces deadcode
- package net.minecraft.src;
- import java.util.Random;
- // Referenced classes of package net.minecraft.src:
- // EntityAnimal, Item, EntityPlayer, InventoryPlayer,
- // ItemStack, World, NBTTagCompound
- public class EntityXXX extends EntityAnimal
- {
- public EntityXXX(World world)
- {
- super(world);
- texture = "/mob/xxx.png";
- setSize(0.9F, 1.3F);
- }
- public void writeEntityToNBT(NBTTagCompound nbttagcompound)
- {
- super.writeEntityToNBT(nbttagcompound);
- }
- public void readEntityFromNBT(NBTTagCompound nbttagcompound)
- {
- super.readEntityFromNBT(nbttagcompound);
- }
- protected String getLivingSound()
- {
- return "mob.cow";
- }
- protected String getHurtSound()
- {
- return "mob.cowhurt";
- }
- protected String getDeathSound()
- {
- return "mob.cowhurt";
- }
- protected float getSoundVolume()
- {
- return 0.4F;
- }
- protected int getDropItemId()
- {
- return Block.stone.shiftedIndex;
- }
- }
复制代码
texture = "/mob/xxx.png"; 是NPC的皮肤的路径,setSize(0.9F, 1.3F);是NPC的大小(这是改NPC的实际大小 改显示的大小在render文件里)
然后我们需要模型和render文件,我们需要用到Techne ,可以自己制作模型和render文件
制作完后将render和模型文件放入src文件夹,然后打开mod_xxx.java
加上这句
- ModLoader.RegisterEntityID(EntityXXX.class, "XXX", ModLoader.getUniqueEntityId());
- ModLoader.AddSpawn(EntityXXX.class, 10, EnumCreatureType.creature);
复制代码 和
- public void AddRenderer(Map map)
- {
- map.put(EntityXXX.class, new RenderXXX(new ModelXXX(), 0.5F));
- }
复制代码
完整代码如下
- package net.minecraft.src;
- public class mod_xxxextends BaseMod
- {
- public void AddRenderer(Map map)
- {
- map.put(EntityXXX.class, new RenderXXX(new ModelXXX(), 0.5F));
- }
- public String Version()
- {
- return "1.0 ";
- }
-
-
- public mod_xxx ()
- {
-
- ModLoader.RegisterEntityID(EntityXXX.class, "XXX", ModLoader.getUniqueEntityId());
- ModLoader.AddSpawn(EntityXXX.class, 10, EnumCreatureType.creature);
-
- }
- }
复制代码
剩下的晚上再更新
作者: 719823597 时间: 2011-10-6 14:24
占个楼
作者: numnum 时间: 2011-10-6 14:57
占2楼。。。支持!!!!!!!
作者: green丶bastard 时间: 2011-10-6 14:58
前排
作者: hhyx 时间: 2011-10-6 15:05
哇 好厉害。。可是光用MCP俺就不会了。。更别说modloader了。。悲剧
作者: 434942930 时间: 2011-10-6 15:16
回个贴看一下··
作者: qc00705 时间: 2011-10-6 15:34
路过看看
作者: 498572118 时间: 2011-10-6 15:45
我要学。。。。。。。。。。。。。
作者: wzscsw 时间: 2011-10-6 15:48
小白受教~
作者: Hostolor 时间: 2011-10-6 15:53
o......................
作者: jyh 时间: 2011-10-6 16:02
既然是回复可见。。
作者: 1050595672 时间: 2011-10-6 16:03
提示: 作者被禁止或删除 内容自动屏蔽
作者: ccfs 时间: 2011-10-6 16:20
我必须回复啊?
作者: GG_bond 时间: 2011-10-6 16:20
看不懂
作者: ccfs 时间: 2011-10-6 16:21
非常复杂...............
作者: zhj6690260 时间: 2011-10-6 16:31
支持支持,但是为什么我的MCP运行时总是提示缺少文件呢?我明明把文件都复制好了啊
作者: john180 时间: 2011-10-6 16:34
小白 顶一下啊
作者: kirbykirby 时间: 2011-10-6 16:39
支持!!!
作者: pathfinder 时间: 2011-10-6 16:59
围个观……
作者: xiekeas 时间: 2011-10-6 17:06
这是什么东西~
作者: 路邊電燈泡 时间: 2011-10-6 17:27
哇~又出現了~lz真的是太瘋MOD的製作了~
作者: tom777my 时间: 2011-10-6 17:35
THX~~~~~~~~~~~~~~~~~~~~~~~~~~
作者: 斯巴达 时间: 2011-10-6 17:45
= =回复啊
作者: laiwingyu 时间: 2011-10-6 17:47
看一看先
作者: hsulee 时间: 2011-10-6 19:27
想看看看的说
作者: qq983859181 时间: 2011-10-6 19:43
提示: 该帖被管理员或版主屏蔽
作者: wstdavid 时间: 2011-10-6 19:44
看一下,看一下。
作者: rickky2 时间: 2011-10-6 19:45
纯支持一下
作者: 543117996 时间: 2011-10-6 19:47
看看简单不
作者: a92050a92050 时间: 2011-10-6 19:47
wow cool
作者: aop1f 时间: 2011-10-6 21:32
好吧回复....
作者: a919298641 时间: 2011-10-6 21:52
什么啊》?
作者: zhsx11 时间: 2011-10-7 01:56
必须要支持啊- -
作者: zjhs999 时间: 2011-10-7 02:26
什么东西?做MOD
作者: jzys 时间: 2011-10-7 09:43
支持!!!
作者: heidada 时间: 2011-10-7 12:25
看看内容先
作者: :spgbigfan: 时间: 2011-10-7 12:37
LZ头像又换了。
作者: 舜、 时间: 2011-10-7 12:54
回帖看内容..
作者: night 时间: 2011-10-7 16:56
好吧,继续学习...
作者: gdzoooo 时间: 2011-10-7 17:05
回复。。。。。。。。。。。。。。。。。
作者: tonyzhenyu 时间: 2011-10-7 17:17
看看而已啊
作者: Zasz 时间: 2011-10-7 21:57
我只是想去掉小黑
作者: WDWDDWWDWD 时间: 2011-10-8 06:37
來看看......到底是用什麼做的
作者: DYA3506 时间: 2011-10-8 06:56
后排围观zhong
作者: rian_rian_rian 时间: 2011-10-12 10:59
回复一下,你就知道
作者: 浩然天地 时间: 2011-10-12 14:03
[bedrock]地壳般的支持!
作者: cyz886886 时间: 2011-10-12 14:36
学习了,顶起
作者: shingshing09 时间: 2011-10-13 22:23
可以自己制作
作者: 蜘蛛侠hw 时间: 2011-10-14 05:57
= = 回复一下
作者: 西瓜 时间: 2011-10-14 06:01
厉害....可是光用MCP俺就不会了....更别说modloader了.........
作者: ang146 时间: 2011-10-14 22:16
這個要不要與上一篇的連上關係- -
作者: gsg94321 时间: 2011-10-15 14:07
可以自己作modㄟ
作者: pat159 时间: 2011-10-15 17:28
支持!!!!!!!
作者: 菜刀 时间: 2011-10-15 19:11
我要做MOD~~~
作者: ghostboyz 时间: 2011-10-15 20:06
支持
作者: ak47xsb 时间: 2011-10-15 22:57
看看什么东东
作者: skyonesword 时间: 2011-10-16 01:10
学习啊~~!!
作者: ynny 时间: 2011-10-16 01:39
来学习!
作者: 猫前月下 时间: 2011-10-16 01:53
希望能有系统类的MOD教程= =
作者: yuehuTI 时间: 2011-10-16 10:20
小白受教~~~
作者: peterfung518 时间: 2011-10-16 11:24
好一個回復!!!
作者: rasy 时间: 2011-10-17 11:58
占楼~~~~~~·
作者: ljyinvader 时间: 2011-10-17 18:12
看看怎么制作mod,有空的话我也来做
作者: abc52woool 时间: 2011-10-17 18:56
回复可见不解释
作者: coffee2008 时间: 2011-10-18 21:59
只想改下高度限制
作者: haonannann 时间: 2011-10-18 22:45
会了个复……………………
作者: l26107 时间: 2011-10-21 16:37
好学吗?。。。木有java基础
作者: huhu呼呼 时间: 2011-10-21 18:22
回复看看。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
作者: sudo 时间: 2011-10-22 15:18
回复看看~~~
作者: 地球孤鹰 时间: 2011-10-22 22:23
需要 JAVA 编程知识么?
作者: 455562092 时间: 2011-10-23 00:37
看看,{:lol:}
作者: yuxuanchiadm 时间: 2011-10-23 03:57
好吧,回复= =
作者: xpzlb 时间: 2011-10-25 18:18
提示: 该帖被管理员或版主屏蔽
作者: Mr.Nima 时间: 2011-10-25 18:23
过来学习 表示有联机MOD的教程么?
作者: jin947789056 时间: 2011-10-25 19:02
MCP是啥啊。
作者: 我是蟹柳 时间: 2011-10-25 20:10
This what? =W=
作者: bb5892914 时间: 2011-10-26 01:45
.....邪恶的隐藏了你。。。
作者: raytracesoak 时间: 2011-10-26 02:13
这个必须要支持
作者: l1995613 时间: 2011-10-26 10:52
果断看了.........
作者: 菜刀 时间: 2011-10-26 11:24
好复杂啊这个……
作者: vea 时间: 2011-10-26 12:35
回复看内容
作者: cuici163 时间: 2011-10-28 12:41
好东西要顶啊
作者: tonynet 时间: 2011-10-28 12:49
- -.. 回复看帖。。
作者: wdtywlmc 时间: 2011-10-29 13:09
不明白,想学习学习
作者: weitiancai 时间: 2011-10-29 13:16
看看,哈哈
作者: Legend 时间: 2011-10-29 13:38
开 回复 确认
作者: wzhh07 时间: 2011-10-29 14:50
可以自己做mod?
作者: yokijudai 时间: 2011-10-29 14:54
我不知道能不能看懂……
作者: shing10287 时间: 2011-10-29 22:19
&diams
我要学!
作者: 599056390 时间: 2011-10-30 13:06
支持+回复
作者: stalincenlam 时间: 2011-10-31 06:48
回复啊啊啊啊啊啊啊啊啊啊啊~~~~~
作者: well 时间: 2011-10-31 07:14
不得不回啊...
作者: h01870070 时间: 2011-10-31 07:31
回帖看看......
作者: pan3820120 时间: 2011-11-1 18:54
支持 
作者: rtm40743 时间: 2011-11-1 19:29
回复看看教程,没这个真做不了
作者: cobersky 时间: 2011-11-2 13:20
路过+学习{:lol:}
作者: akes 时间: 2011-11-3 22:35
感谢分享.十字啊浑蛋
作者: 大好人 时间: 2011-11-4 06:45
支持顶顶我支持
作者: rjhang 时间: 2011-11-4 08:06
提示: 该帖被管理员或版主屏蔽
作者: 296694661 时间: 2011-11-4 17:43
看看~~~~~~~~