Minecraft(我的世界)中文论坛
标题: 用MCP制作属于自己的简单mod (已过期)
作者: 719823597 时间: 2011-8-10 13:43
标题: 用MCP制作属于自己的简单mod (已过期)
本帖最后由 719823597 于 2014-1-16 15:04 编辑
转载请注明原帖地址
一.设置MCP
需要的东西:
MCP:http://mcp.ocean-labs.de/index.php/MCP_Releases
干净的MINECRAFT
官方服务端
JDK6
先把MCP解压了(我解压到了C盘 C:\MCP),复制BIN和RESOURCE和官方服务端到MCP目录里的jars文件夹(C:\MCP\JARS)然后点开decompile.bat,完成
二.制作新的合成公式
打开mcp里的src文件夹(MCP\src\minecraft\net\minecraft\src)找到CraftingManage.java,打开(记事本都行的),可以看到类似于这个的代码
- addRecipe(new ItemStack(Block.trapdoor, 1), new Object[] {
- "###", "###", Character.valueOf('#'), Block.planks
- });
复制代码 这是陷阱门的合成公式,Block.trapdoor的Block是判断是方块还是物品,trapdoor是方块的名称(要区分大小写),详细可以参考Block.java和Item.java,"XXX"是合成的方法,Character.valueOf('#'), Block.planks是让#的位置在游戏合成中等于木块的放置位置
假如我想做1个沙换1个TNT的公式,代码如下
- addRecipe(new ItemStack(Block.TNT, 1), new Object[] {
- "#", Character.valueOf('#'), Block.sand
- });
复制代码
写好后就可以测试了,打开MCP目录下的recompile.bat,让它检查错误,检查完成后可以打开startclient.bat进入游戏测试,测试完成后打开mcp目录下的reobfuscate.bat,让它把刚刚修改的文件打包,打包完后的文件可以在reobf文件夹找到
三.制作一个新方块
新建一个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 0;
- }
- }
复制代码 rock是方块的特性(cloth是羊毛 易燃)可以参考Material.java,”return 0“ 是掉落的物品(0可以改成各种物品的ID)
新的方块就做好了,接下来是将其添加到游戏中,打开Block.java,大概720+行,找到
- public static final Block trapdoor;
复制代码
在这句代码下面添加上
- public static final Block example;
复制代码
然后继续往下翻,找到
- trapdoor = (new BlockTrapDoor(96, Material.wood)).setHardness(3F).setStepSound(soundWoodFootstep).setBlockName("trapdoor").disableStats().disableNeighborNotifyOnMetadataChange();
复制代码
在下面添加上
- example = (new BlockExample(111, 49)).setHardness(1.5F).setResistance(5000000F).setStepSound(soundStoneFootstep);
复制代码
111为方块的ID(97-255为空方块ID),49为材质编号(可以参考别的方块),setHardness(1.5F)为挖时的速度(1.5F为手挖石头的速度),setResistance(5000000F)是方块的抗炸强度(也可以参考别的方块的数值),setStepSound(soundStoneFootstep)是踩在方块上的脚步声(这里是石头的)
最后,打开recompile检查吧
四.添加一个新物品
新建一个ItemTest.java(名字还是自己改),在里面写上
- package net.minecraft.src;
-
- public class ItemTest extends Item
- {
-
- public ItemExample(int i, int k)
- {
- super(i);
- maxStackSize = 64;
- }
- //这里可以自己添加代码
- }
复制代码 maxStackSize = 64是设定最大叠加数量,如果嫌物品太无趣了还可以自己添加代码
- public ItemStack onItemRightClick(ItemStack itemstack, World world, EntityPlayer entityplayer)
- {
- itemstack.stackSize--;
- world.playSoundAtEntity(entityplayer, "random.bow", 0.5F, 0.4F / (itemRand.nextFloat() * 0.4F + 0.8F));
- if(!world.multiplayerWorld)
- {
- world.entityJoinedWorld(new EntityArrow(world, entityplayer));
- }
- return itemstack;
- }
复制代码
这条代码使手持此物品时右键可以扔出箭
好了 接下来就要把新物品添加进游戏了 打开Item.java 找到这条代码
- public static Item recordCat = (new ItemRecord(2001, "cat")).setIconCoord(1, 15).setItemName("record");
复制代码
在这条代码下面添加一句
- public static Item test = (new ItemTest(120, 0)).setIconCoord(5, 5).setItemName("example");
复制代码
注意! 120不是物品的真正ID,物品的真正ID为120+256 , (5, 5)是物品的材质(可以参考前面的物品)
现在可以打开recompile.bat检查代码了
五.削弱enderman
首先,我们打开EntityEnderman.java ,然后从第326行开始,你可以看到如下代码
- field_35186_b = new boolean[256];
- field_35186_b[Block.stone.blockID] = true;
- field_35186_b[Block.grass.blockID] = true;
- field_35186_b[Block.dirt.blockID] = true;
- field_35186_b[Block.cobblestone.blockID] = true;
- field_35186_b[Block.planks.blockID] = true;
- field_35186_b[Block.sand.blockID] = true;
- field_35186_b[Block.gravel.blockID] = true;
- field_35186_b[Block.oreGold.blockID] = true;
- field_35186_b[Block.oreIron.blockID] = true;
- field_35186_b[Block.oreCoal.blockID] = true;
- field_35186_b[Block.wood.blockID] = true;
- field_35186_b[Block.leaves.blockID] = true;
- field_35186_b[Block.sponge.blockID] = true;
- field_35186_b[Block.glass.blockID] = true;
- field_35186_b[Block.oreLapis.blockID] = true;
- field_35186_b[Block.blockLapis.blockID] = true;
- field_35186_b[Block.sandStone.blockID] = true;
- field_35186_b[Block.cloth.blockID] = true;
- field_35186_b[Block.plantYellow.blockID] = true;
- field_35186_b[Block.plantRed.blockID] = true;
- field_35186_b[Block.mushroomBrown.blockID] = true;
- field_35186_b[Block.mushroomRed.blockID] = true;
- field_35186_b[Block.blockGold.blockID] = true;
- field_35186_b[Block.blockSteel.blockID] = true;
- field_35186_b[Block.brick.blockID] = true;
- field_35186_b[Block.tnt.blockID] = true;
- field_35186_b[Block.bookShelf.blockID] = true;
- field_35186_b[Block.cobblestoneMossy.blockID] = true;
- field_35186_b[Block.oreDiamond.blockID] = true;
- field_35186_b[Block.blockDiamond.blockID] = true;
- field_35186_b[Block.workbench.blockID] = true;
- field_35186_b[Block.oreRedstone.blockID] = true;
- field_35186_b[Block.oreRedstoneGlowing.blockID] = true;
- field_35186_b[Block.ice.blockID] = true;
- field_35186_b[Block.cactus.blockID] = true;
- field_35186_b[Block.blockClay.blockID] = true;
- field_35186_b[Block.pumpkin.blockID] = true;
- field_35186_b[Block.netherrack.blockID] = true;
- field_35186_b[Block.slowSand.blockID] = true;
- field_35186_b[Block.glowStone.blockID] = true;
- field_35186_b[Block.pumpkinLantern.blockID] = true;
- field_35186_b[Block.field_35285_bn.blockID] = true;
- field_35186_b[Block.field_35286_bo.blockID] = true;
- field_35186_b[Block.field_35287_bp.blockID] = true;
- field_35186_b[Block.field_35281_bs.blockID] = true;
复制代码
这些就是enderman可以拿起的方块, 根据谷歌翻译,我们可以知道true的意思是行的而false的意思是不行的。所以 如果我想要让enderman拿不起什么的石头的话,可以这样改:
- field_35186_b[Block.stone.blockID] = false;
复制代码 第一部分结束。
我们还可以修改它的一些基础数值来玩
- field_35187_a = false;
- field_35184_d = 0;
- field_35185_e = 0;
- texture = "/mob/enderman.png";
- moveSpeed = 0.2F;
- attackStrength = 5;
- setSize(0.6F, 2.9F);
- stepHeight = 1.0F;
复制代码
前三个我暂时没看明白,texture是皮肤的路径,moveSpeed为移动速度,attackStrength为攻击威力(试试改成负数),setSize是改大小(皮肤不会改变 占地变了而已),stepHeight为它的身高(貌似0.5F等于1格)
放个挺好玩的代码
public boolean interact(EntityPlayer entityplayer)
{
this.motionY += 1;
return true;
}
在entityenderman.java里加入这条即可,功能为右键enderman后他的y坐标+1 也就是飞起来
作者: 719823597 时间: 2011-8-10 13:43
占楼
作者: 719823597 时间: 2011-8-10 13:43
占楼
作者: KOL梦幻 时间: 2011-8-10 13:46
本帖最后由 KOL梦幻 于 2011-8-10 13:58 编辑
应该可以回帖了吧-w-
回复才行,真麻烦0.0
--------------------------------------------------------------------------
我不得不承认,太太太太“简单”了...
作者: 斯巴达 时间: 2011-8-10 13:54
回复哇哇= =
作者: hhyx 时间: 2011-8-10 13:56
哇。。。。回复看看 好厉害啊
作者: HelloBeauty 时间: 2011-8-10 14:00
回复。。。。。。。。。。。。。。
作者: 小兲 时间: 2011-8-10 14:01
回复看看!
作者: ynny 时间: 2011-8-10 14:05
这是?....
作者: 624415583 时间: 2011-8-10 14:08
回复一下就可以制作mod 值啊
作者: 1171034064 时间: 2011-8-10 14:09
快快学一学吧
作者: augustory 时间: 2011-8-10 14:12
是技术贴莫?
顶个~
作者: 我是天才嘎嘎 时间: 2011-8-10 14:17
什么情况.......................
作者: dantebelmondo 时间: 2011-8-10 14:33
很有兴趣~感谢教程。
作者: devil4bob 时间: 2011-8-10 14:35
回复后,来看帖
作者: 圣骑ye 时间: 2011-8-10 14:49
是什么好像好像很神秘哇
作者: a756810279 时间: 2011-8-10 14:51
我来看看~~~~~~~~
作者: lonely 时间: 2011-8-10 14:52
ding````````````
作者: a368389669 时间: 2011-8-10 15:07
我要看 设什么隐藏
作者: 001585100 时间: 2011-8-10 15:08
早就想做MOD了~~
作者: 虚伪的傻瓜 时间: 2011-8-10 15:24
哇,这个回复是怎么弄的
作者: wangchujinqwe 时间: 2011-8-10 15:26
还要回复
作者: 联合蟹 时间: 2011-8-10 15:27
回复……蛋疼
作者: qq595684258 时间: 2011-8-10 15:30
不知道是什么,看看。
作者: green丶bastard 时间: 2011-8-10 15:32
-.=度度霸气
作者: kelas 时间: 2011-8-10 15:33
因为要回复,所以我回了,至于你信不信,我反正信了(顶贴)
作者: l582110521 时间: 2011-8-10 15:40
..............................
作者: tedlc 时间: 2011-8-10 15:43
呃…… 15?
作者: 772983513 时间: 2011-8-10 15:45
看看。。。。。。。。
作者: vs863129 时间: 2011-8-10 15:50
看看有啥東西
作者: windosac 时间: 2011-8-10 15:51
我要制作啊!
作者: steven3213 时间: 2011-8-10 15:52
see~~~~~~~~~~~~`
作者: abc52woool 时间: 2011-8-10 16:00
回复看看!
[gold_ingot]
作者: feng464458710 时间: 2011-8-10 16:12
应该可以看了吧-w-
作者: 420952996 时间: 2011-8-10 16:13
啊啊
作者: 1019927246 时间: 2011-8-10 16:13
.................................
作者: zjs951123 时间: 2011-8-10 16:22
还要回复啊= = 支持
作者: 11311131 时间: 2011-8-10 16:24
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa只为看
作者: wusitade 时间: 2011-8-10 16:44
回复看看~~~
作者: 夜神月 时间: 2011-8-10 17:00
学学吧~呵呵呵。做个自己的
作者: well 时间: 2011-8-10 17:22
唉, 回就回吧...
作者: Grox0101 时间: 2011-8-10 17:26
如此甚好……
作者: 新世界爱好者 时间: 2011-8-10 17:31
居然全文隐藏,谁知道你这是要折腾的方法还是简单方法= =折腾法我早就找到了真的。。。。
作者: cyb123 时间: 2011-8-10 17:35
看看一下 ccc
作者: as799799 时间: 2011-8-10 17:36
那就回一下吧
作者: 471998145 时间: 2011-8-10 17:37
好吧。。。。我承认我想要这个。。。。。。所以。。。。回复啦
作者: green丶bastard 时间: 2011-8-10 17:54
做个钻石苹果试试- -
作者: a954596907 时间: 2011-8-10 17:57
aAAAAAAAAAAAAAAAAAAAAA
作者: 122206692 时间: 2011-8-10 18:05
我看看,应该不错。。。。。。。。。
作者: knightx 时间: 2011-8-10 18:27
话说我还是不知道怎么修改冲突的方块id。。。
作者: sigsigmama 时间: 2011-8-10 18:43
回复看看!
參考看看!
作者: j77o88o 时间: 2011-8-10 18:43
看看.......................................
作者: aa50734464 时间: 2011-8-10 18:51
hhhhhhhhhhhhhhhhhhhhhhhhh
作者: pathfinder 时间: 2011-8-10 18:54
LZ加油……
作者: a8574 时间: 2011-8-10 19:19
11111111111111111111111111111111
作者: etwxr9 时间: 2011-8-10 19:19
回帖!~有需要软件把。。很大咩?
作者: 652220513 时间: 2011-8-10 19:24
好。。。。。。。。。。。。
作者: tmick1379 时间: 2011-8-10 19:28
需要回覆0.0
看看~~
作者: 551551551 时间: 2011-8-10 19:29
好的我回的了
作者: Mk.至尊小宇 时间: 2011-8-10 19:39
...............
作者: 嗜血魔狼 时间: 2011-8-10 19:41
额 好神秘啊 好奇啊 好奇……
作者: hkw7979 时间: 2011-8-10 19:45
看看
作者: spy1995426 时间: 2011-8-10 20:13
厄。。。。。。
作者: 嶽嶺 时间: 2011-8-10 20:13
好像是個不錯的東西來看看
作者: 蜘蛛侠hw 时间: 2011-8-10 20:16
719823597 发表于 2011-8-10 13:43 
占楼
什么东西试试看
作者: mayuhang2 时间: 2011-8-10 21:01
教程吗~~做个萝莉mod
作者: mayuhang2 时间: 2011-8-10 21:03
好BT~~这都是什么?~~看不懂啊~~果然制作mod是火星人的玩意~~~WTF~
作者: heyidalao 时间: 2011-8-10 21:06
来回复啦,拿金币啦,学做MOD啦~又进步啦!
作者: YD之子 时间: 2011-8-10 21:36
回复
作者: iop889955 时间: 2011-8-10 22:07
OKOKOKOKOKOKOOOKOOOOO
作者: plqws 时间: 2011-8-10 22:23
围观,汉化用
作者: AIWar 时间: 2011-8-10 22:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: s0909093333 时间: 2011-8-10 22:55
我想製作一個MOD...來看看了~!!
作者: elvis 时间: 2011-8-10 23:04
回复看看..
作者: azusky 时间: 2011-8-10 23:13
回复一下就可以制作mod 值啊
作者: mjwwd2 时间: 2011-8-11 00:02
kb\na\\\kankan zen me qu nong
作者: ynny 时间: 2011-8-11 00:30
本帖最后由 ynny 于 2011-8-11 00:31 编辑
我出现这个
然后src文件夹也没有那些文件厄 咋办

作者: 717209554 时间: 2011-8-11 01:42
好东西! . .
作者: knightx 时间: 2011-8-11 02:11
knightx 发表于 2011-8-10 18:27 
话说我还是不知道怎么修改冲突的方块id。。。
比如我最近在弄那个船舵的和工业的。。。不太懂帖子中在config中加文件的做法。而且也没成功。。。
作者: 774994255 时间: 2011-8-11 02:53
回复看看。
作者: higifi 时间: 2011-8-11 03:36
回复才能查看真是一大坑爹%……但是内容值得回复~
作者: boss96e 时间: 2011-8-11 04:46
...........看看
作者: 顺逆同流 时间: 2011-8-11 04:59
十分的好奇。
作者: wyr1998526 时间: 2011-8-11 08:05
好期待的说………………
作者: jjj201200 时间: 2011-8-11 08:43
啥东西咯~虽说现在还没到制作mod 的境界撒~
作者: 寂寞的巴尼 时间: 2011-8-11 08:45
比较复杂。。。
作者: q807734497 时间: 2011-8-11 10:07
nanma
作者: sun2007 时间: 2011-8-11 10:09
我要!!!!
作者: akzycb2012 时间: 2011-8-11 10:11
回复。。
作者: walle 时间: 2011-8-11 10:17
可恶..要回帖..
作者: zhaopeng1234 时间: 2011-8-11 10:33
新手路过。。。
作者: tt78llo 时间: 2011-8-11 11:25
回复看看{:1_1:}
作者: tteicom 时间: 2011-8-11 11:55
这个要学习一下,哈哈。。看看有多么简单了
作者: fscdb 时间: 2011-8-11 13:19
先顶才能看啊
作者: 599056390 时间: 2011-8-11 13:22
回复………………………
作者: nickken 时间: 2011-8-11 14:17
回复 good
作者: hon12352003 时间: 2011-8-11 14:23
回复........
作者: wcNoOb 时间: 2011-8-11 15:16
真麻烦....回复看看!
作者: lopke 时间: 2011-8-11 15:28
哇。。。。回複看看 好厲害啊
作者: lap0608 时间: 2011-8-11 15:31
ccccccccccccccccccc