头一次玩“我的世界打火石”,我一直打地下,然后好像去了另外一个世界,回不来了,怎么办

&p&&b&利益相关,不得不匿名。网易,我只想玩和世界一样的Minecraft版本!&/b&&/p&&p&这个事情,我从头说起:&/p&&p&最开始网易发布会说要做中国专版的我的世界,大家都以为会添加中国风格的生物、物品、玩法,结果就是一个有授权的多玩盒子。这也就算了,发布会说&b&不会干预国际版&/b&,重视和尊重开发者权益、版权。结果呢?&b&强制&/b&在App Store商店等平台下架PE版本,&b&强制&/b&在Windows商店下架WIN10版本。&/p&&p&虽然被强制下架以后还可以继续使用,但是得不到更新,这就算把买的45块钱和内购花的钱都退给我,我也是网易一生黑。&/p&&p&&br&&/p&&img src=&/v2-00c902edd7e6a218d10bdd64f0a57a82_b.png& data-rawwidth=&1133& data-rawheight=&603& class=&origin_image zh-lightbox-thumb& width=&1133& data-original=&/v2-00c902edd7e6a218d10bdd64f0a57a82_r.png&&&p&网易一边说自己尊重版权,谴责别人,一边自己侵权。搬运本来就免费的材质包、MOD盈利,并且不允许玩家自己安装材质包、MOD。更夸张的是,网易的客户端使用Forge来加载MOD,但是抹除了Forge的版权信息,并且修改了Forge的代码,让魔改后的Forge只可以加载被网易加密过的MOD。要知道Forge是GPL协议开源的,虽然最后网易在舆论压力下选择以GPL开源了部分修改后Forge的代码,但是最核心的部分到现在为止,依然没有开源。&/p&&p&&br&&/p&&img src=&/v2-d361fa6bb66caafa58d08e0_b.png& data-rawwidth=&783& data-rawheight=&372& class=&origin_image zh-lightbox-thumb& width=&783& data-original=&/v2-d361fa6bb66caafa58d08e0_r.png&&&p&上面为Forge作者的话,大意就是中国没有签署DMCA协议,他们也没有钱和网易打官司,网易也从头到尾都没有联系过他们,Forge表明立场不支持网易并且谴责网易践踏开源精神的行为。网易怎么回应的?动用公关删除所有报道这个事件的新闻,在论坛屏蔽Forge关键字(没搞错吧,没有Forge就没有MOD,你直接给屏蔽)!&/p&&p&&br&&/p&&img src=&/v2-fba9cd9426_b.png& data-rawwidth=&600& data-rawheight=&75& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-fba9cd9426_r.png&&&p&&br&&/p&&p&&b&你以为这样就完了?&/b&&/p&&p&&br&&/p&&img src=&/v2-0f693eeeeed83a58cd0ca_b.png& data-rawwidth=&1146& data-rawheight=&431& class=&origin_image zh-lightbox-thumb& width=&1146& data-original=&/v2-0f693eeeeed83a58cd0ca_r.png&&&p&网易一边谴责多玩盒子,一边“借鉴”着多玩盒子的代码,你说厉害不厉害,不信?看下面&/p&&p&&br&&/p&&img src=&/v2-e884cf8b7f785ec5187e_b.jpg& data-rawwidth=&600& data-rawheight=&423& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/v2-e884cf8b7f785ec5187e_r.jpg&&&p&网易我的世界里面的7z(一种开源的压缩算法库)居然数字签名是多玩(YY)的,这复制粘贴大法很是厉害嘛。&/p&&p&&br&&/p&&p&网易的吃相真是太难看了,不知道为什么都说网易是一家有情怀的公司。这吃相真的和腾讯比,都是在侮辱腾讯,这吃相比五线小作坊的页游还恶心。不难想象以后的日子,想玩个Minecraft都必须玩网易代理的“免费版本”,不能连国际服务器,也无法连第三方服务器,只能玩入驻网易的服务器或者网易自己的服务器。无法自己安装那些本来就免费的材质包、光影、MOD。只能在网易那充值绿宝石(网易我的世界的货币)来购买。手机版按照PC的套路,先来一套防沉迷,没绑定身份证只能玩一个小时(政策都这样,只是抱怨),然后本来可以自由玩耍的PE,各种付费解锁。&/p&&p&&b&网易啊,求求你了,放过Minecraft吧,你用阴阳师和梦幻西游坑钱就好了嘛。&/b&&/p&
利益相关,不得不匿名。网易,我只想玩和世界一样的Minecraft版本!这个事情,我从头说起:最开始网易发布会说要做中国专版的我的世界,大家都以为会添加中国风格的生物、物品、玩法,结果就是一个有授权的多玩盒子。这也就算了,发布会说不会干预国际版,…
&b&我感觉我喜欢上了一个妹子,怎么办?&br&&/b&&br&还是先简单介绍一下情况。原本我的生活是平淡的,每天从木制别墅二楼的卧室醒来,去自己的田地收收小麦,去喂喂成群的猪牛羊,生活得十分悠闲惬意。直到有一天我在矿洞里遇到了她,她戴着好看的帽子,穿着紫色的外衣。但我好像惊动了她,她摔掉了手中的瓶子。看到她的一瞬间,我就仿佛中了毒一样的心跳加快。这是一种从来没有过的感觉,由于过于害羞我迅速逃离了现场。&br&我感觉自己还是配得上她的,有一身的钻石套装,只是还没有附魔,农田的产量够两个人吃,养殖场里有羊,随时可以造出来双人床,如果她喜欢我还可以为她铺上很长很长的高铁。&br&没追过妹子,请各位知友教教我,谢谢了。&br&&br&想了想,还是匿了吧。&br&&br&&b&38个回答&br&&br&&br&&br&&/b&&br&&b&Alex,1.8版本才加入Minecraft的大家庭,欢迎大家粉我~&br&&/b&赞数:1134&br&&br&唉,果然还是新来的没有存在感啊,看了好几遍问题描述发现原来题主说的不是自己~好伤心~&br&评论区说要我爆照~哼~赞数过1.5k爆~&br&&&&&&&&&&&&&&&&&&&&&&&&&&&&br&不要在评论区要微信号了,我不约。&br&&br&&br&&br&&b&JJ怪,爆炸即艺术&br&&/b&赞数:21K&br&&br&我体内的炸药已经饥渴难耐了!FFF团万岁!!!&br&&br&&br&&br&&b&小白,全身上下只有干货&br&&/b&赞数:838&br&&br&知乎真是抖机灵的越来越多了,全部手动反对+没有帮助。只能我自己上一点干货。&br&首先题主举了很多自己生活得还不错的例子,感觉这就犯了很多男生的通病:喜欢在女生面前吹嘘炫耀。钻石套什么的你穿出去不觉得会亮瞎姑娘的眼睛么?!老老实实和姑娘初次见面就穿一身皮革制的衣服挺好,不浮夸还得体。&br&还有就是一定要鼓起勇气啊!见了姑娘的面就跑,这怎么成事!一定要大胆的搭讪。&br&详情请见
&b&如何&/b&&b&&b&搭讪&/b&陌生女生? —小白的回答&br&&/b&这样就完成了泡妞的第一步,接下来如果题主不知道怎么做的话可以关注我的微信公众账号:&b&爱情第一箭&/b&,里面有很多泡妞技巧。&br&&b&&br&&br&&br&僵尸,豌豆射手,不如&/b&&b&亡灵杀手&br&&/b&赞数:1742&br&&br&谢&b&@僵尸村民&/b&邀请~我们这样公然秀恩爱真的好么~&br&我要开始讲故事了。我和题主一样也是偶然遇到了那个时候还是村民的她,她有着高挺的鼻梁和完美的声线,可惜我只能在夜晚活动,于是我想尽办法在夜晚出现在她身边。这里还是要感谢&b&@Steve&/b&,是他让我有机会出现在正确的地方,把她变成了僵尸村民,于是我们现在幸福的一起在晚上游荡,并且还有了自己的孩子。&br&&br&&br&&br&&br&&p&&b&匿名用户&/b&&br&赞数:25K&/p&&p&回答建议修改:不友善内容&/p&&p&建议修改期间,回答内容对其他用户不可见。修改提交后会自动进入评估状态。如果一周内未得到修改,回答会自动折叠。&/p&&br&&br&&b&&br&女巫,香水有毒&br&&/b&赞数:43K&br&&br&_(:зゝ∠)_&br&我好像知道题主是谁了......&br&&b&&br&&br&&br&地狱轰炸机, —_—&/b&&br&赞数:9762&br&&br&烧死异性恋!!&br&&br&&br&&br&&b&铁傀儡,别问我为什么不攻击JJ怪&br&&/b&赞数:623&br&&br&如果题主不知道送姑娘什么礼物的话可以联系我,只需要4个铁块和一个南瓜就可以让我免费上门服务送玫瑰花~&br&&br&评论区里说太贵的都特么是死直男,一辈子找不到女朋友,呵呵。&br&&br&&br&&br&&b&匿名用户&/b&&br&赞数:2558&br&&br&我就是来贴个图告诉你们那个高票被建议修改答案的内容是啥,请叫我红领巾。&br&&br&贴图:&br&小白个臭傻逼,你知道这几天&b&@Steve&/b&来了几趟牛圈么?他撸死了我四个老婆和三个刚成年的孩子,你个傻逼营销号。&br&&br&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&br&&br&最后要感谢 &a class=&member_mention& href=&///people/41f58a858f5cb84ebbeada& data-hash=&41f58a858f5cb84ebbeada& data-tip=&p$b$41f58a858f5cb84ebbeada& data-hovercard=&p$b$41f58a858f5cb84ebbeada&&@唐缺&/a& 大大给我的灵感!&br&我觉得题目问的是“知乎放到MC中会被提什么问题”,所以提问题以及回答的都应该是MC中的角色吧,所以开了开脑洞,希望大家喜欢。&br&&br&&img data-rawheight=&130& data-rawwidth=&600& src=&/363e0a32ffda_b.jpg& class=&origin_image zh-lightbox-thumb& width=&600& data-original=&/363e0a32ffda_r.jpg&&盗图一张,在此谢谢点赞的各位了!&br&首个破百赞的答案,再次感谢大家对我的肯定!&br&&br&如果大家有什么好的灵感也可以在评论区告诉我,我还会对这个回答进行补充。谢谢大家了!&br&&br&感谢&a href=&///people/4ad25b8e2a748e7fdd7f31f7ee98062e& data-hash=&4ad25b8e2a748e7fdd7f31f7ee98062e& class=&member_mention& data-hovercard=&p$b$4ad25b8e2a748e7fdd7f31f7ee98062e&&@Zydrate&/a&对于铁傀儡不攻击JJ的勘误!希望有错误一定要指出!谢谢!
我感觉我喜欢上了一个妹子,怎么办?
还是先简单介绍一下情况。原本我的生活是平淡的,每天从木制别墅二楼的卧室醒来,去自己的田地收收小麦,去喂喂成群的猪牛羊,生活得十分悠闲惬意。直到有一天我在矿洞里遇到了她,她戴着好看的帽子,穿着紫色的外衣。…
&p&&b&红石电路在MC生存中最大的用处就是制造永动机,实现自动化装置&/b&,比如各类自动化农场,自动化刷怪机等等。而自动化装置中最关键的部分就是能够自动重复操作的电路,比如让粘性活塞以一定的频率不停的推拉、让发射器以一定频率发射物品等等。&/p&&p&许多新手对于红石电路的入门感到非常困难,我觉得中文MC维基(&a href=&///?target=http%3A//minecraft-/%25E7%25BA%25A2%25E7%259F%25B3%25E7%%25E8%25B7%25AF& class=& wrap external& target=&_blank& rel=&nofollow noreferrer&&红石电路 - 中文 Minecraft Wiki&i class=&icon-external&&&/i&&/a&)要负很大责任。作为最权威的游戏指引,其中关于红石电路的系列教程简直令人匪夷所思。这些教程文章几乎都没有实物图和搭建方法,一上来就是摆一堆熟练玩家才能看得懂的“模拟格式”来表示电路,这是要让连中继器的方向性还没搞懂的入门玩家发疯的节奏?(还不要说一大堆没来得及翻译的英文文章以及中文教程中一大堆错译/漏译)&/p&&p&下面将面向零基础的入门玩家介绍两种最简单、最常用的自动重复电路,一种是“中继器时钟电路”,一种是“矿车时钟电路”,这两种重复操作装置所需要的物品都很容易获得。所谓“时钟电路”可以理解为这套电路就像时钟一样,周期性的触发某个操作。当然啦,你在看下面的教程前应当具备MC的基本技能,包括行走跳跃、放置方块、合成、挖矿和熔炼,并能够获取木头、圆石、红石粉即可(第二种电路还需要铁和黄金)。&/p&&p&&b&一、中继器时钟电路&/b&&/p&&p&所需物品列表:&/p&&ul&&li&红石粉x2&/li&&li&中继器x2&/li&&li&圆石x1&/li&&li&红石火把x1&/li&&li&拉杆开关x1&br&&/li&&/ul&&img src=&/acbab5f2ed098cee9ea98f_b.jpg& data-rawwidth=&446& data-rawheight=&89& class=&origin_image zh-lightbox-thumb& width=&446& data-original=&/acbab5f2ed098cee9ea98f_r.jpg&&&p&&br&&/p&&p&其中,红石火把的合成公式为红石粉x1+木棍x1:&/p&&img src=&/05d0ce35dc5b4e40ba3d_b.jpg& data-rawwidth=&323& data-rawheight=&184& class=&content_image& width=&323&&&p&&br&&/p&&p&中继器的合成公式为红石火把x2+红石粉x1+石头(由圆石在熔炉中烧制而成)x3:&/p&&img src=&/964b3ffe8e2c919c570c1_b.jpg& data-rawwidth=&324& data-rawheight=&185& class=&content_image& width=&324&&&p&&br&&/p&&p&拉杆的合成公式为木棍x1+圆石x1:&/p&&img src=&/56eebcef686ebac_b.jpg& data-rawwidth=&324& data-rawheight=&186& class=&content_image& width=&324&&&p&&br&&/p&&p&然后把上面物品放置为如下布局:&/p&&img src=&/52fbf7a0ad779d6dacc4d1_b.jpg& data-rawwidth=&1325& data-rawheight=&753& class=&origin_image zh-lightbox-thumb& width=&1325& data-original=&/52fbf7a0ad779d6dacc4d1_r.jpg&&&p&&b&注意:&/b&&/p&&ol&&li&先放置中继器,再放置其它的物品,&b&中继器的方向与你放置时的站位相关,务必使它的方向与图中相同&/b&!&/li&&li&其中红石火把和拉杆开关放置于圆石的侧面,其它所有物品都放置于水平地面上。&/li&&li&拉杆关闭时,红石火把开始闪烁,火把正前方输出周期信号,频率可以用鼠标右键点击中继器来调整。&/li&&/ol&&p&然后在红石火把的正前方放置任何机械方块,就可以往复性的运动了,例如:&/p&&img src=&/cc09e91632fbde5ec0d54b69eec9c265_b.jpg& data-rawwidth=&927& data-rawheight=&843& class=&origin_image zh-lightbox-thumb& width=&927& data-original=&/cc09e91632fbde5ec0d54b69eec9c265_r.jpg&&&p&其中活塞/粘性活塞的合成公式为木块x3+圆石x4+铁锭x1+红石粉x1:&/p&&img src=&/2bc51b65d2208aee5bd9fd_b.jpg& data-rawwidth=&324& data-rawheight=&379& class=&content_image& width=&324&&&p&&br&&/p&&p&原理&br&插在圆石上的红石火把点亮时可以将自身所在的空气方块(注意,不是圆石方块!)充能,即作为电源将能量供给相邻的方块。&/p&&p&红石火把电亮后,电能传递到侧边的继电器。继电器的特性是延迟导通,将输入端接收到的电能延迟一段时间(由档位决定)后再由输出端送出。&/p&&p&随后,红石火把点亮后输出的电能经过两个中继器延迟后又送回了红石火把所在的圆石,而在两个中继器进行延迟的这一段时间里,比如2秒,红石火把都会保持点亮。&/p&&p&当电能送回红石火把所在的圆石后,根据红石火把的特性:当有电能输入它时,它将熄灭。因为之前红石火把一共输出了2秒的电能,因此它所在的圆石也会收到2秒的电能输入,它也就会熄灭2秒。&/p&&p&当红石火把熄灭2秒中,并不向圆石输出电能,2秒后延迟输出的中继器也随之熄灭,整条电路断电。此时红石火把会再次点亮,从而进入下一次循环。&br& (这些原理&i&看不懂的话,可以先拉到最后看懂提示,然后再来看一遍&/i&)&/p&&p&&b&二、矿车时钟电路&/b&&/p&&p&所需物品列表:&/p&&ul&&li&铁轨x6&/li&&li&充能铁轨x1&/li&&li&探测铁轨x1&/li&&li&矿车x1&br&&/li&&li&拉杆x1&/li&&/ul&&img src=&/33d0dbc8e9e7_b.jpg& data-rawwidth=&449& data-rawheight=&92& class=&origin_image zh-lightbox-thumb& width=&449& data-original=&/33d0dbc8e9e7_r.jpg&&&p&&br&&/p&&p&其中铁轨的合成公式为铁锭x6+木棍x1:&/p&&img src=&/46a850c23c0b85399bc15_b.jpg& data-rawwidth=&323& data-rawheight=&185& class=&content_image& width=&323&&&p&&br&&/p&&p&充能铁轨的合成公式为金锭x6+木棍x1+红石粉x1:&/p&&img src=&/1dbc692331cdee3b832b47_b.jpg& data-rawwidth=&324& data-rawheight=&185& class=&content_image& width=&324&&&p&&br&&/p&&p&探测铁轨的合成公式为铁锭x6+石质压力板(由2块石头合成,石头由圆石烧制而成)x1+红石粉x1:&/p&&img src=&/d4d9fea659fd24fb86d04ce3db97d2f2_b.jpg& data-rawwidth=&323& data-rawheight=&186& class=&content_image& width=&323&&&p&&br&&/p&&p&矿车的合成公式为铁锭x5:&/p&&img src=&/40206fbcd95ade_b.jpg& data-rawwidth=&321& data-rawheight=&181& class=&content_image& width=&321&&&p&&br&&/p&&p&将上列物品放置为如下布局:&/p&&img src=&/7acc2bcff538_b.jpg& data-rawwidth=&1087& data-rawheight=&853& class=&origin_image zh-lightbox-thumb& width=&1087& data-original=&/7acc2bcff538_r.jpg&&&p&&br&&/p&&p&注意:&/p&&ol&&li&可先全部用铁轨铺成四边形轨道,再把对面两边的敲掉,分别换成充能铁轨和探测铁轨。&/li&&li&在充能铁轨外侧放置拉杆,并打开才能有效。&/li&&li&最后将矿车用右键放置于铁轨上,移动身体推动矿车并迅速离开轨道,矿车即可沿轨道不停旋转。&/li&&li&在探测铁轨的外侧将输出周期信号,想要更长的周期可以铺设更长的轨道(更大的环形),但要保证至少每7格铁轨放置一个充能铁轨,否则矿车可能会停止。&br&&/li&&/ol&&p&然后可以在探测铁轨的外侧放置任何机械方块,就可以往复性的运动了,例如:&/p&&img src=&/888e14f0dcafad47fe94e2c905d543ec_b.jpg& data-rawwidth=&1726& data-rawheight=&801& class=&origin_image zh-lightbox-thumb& width=&1726& data-original=&/888e14f0dcafad47fe94e2c905d543ec_r.jpg&&&p&&br&&/p&&p&原理&br&这个原理非常简单,拉杆开关开启后给充能铁轨供电,当矿车驶过充能铁轨时会被加速,并由惯性驱动驶过探测铁轨。当探测铁轨上方有矿车经过时,它就会给相邻的方块供点。&/p&&p&&b&最后几点提示&br&&br&&/b&初学者认真读完以下这几点提示,可能会恍然大悟。(比较烧脑,但行文力求严谨,请务必&b&&u&仔细、反复阅读&/u&&/b&,最好能够熟记!)&/p&&p&0. MC的方块世界&br&MC把整个世界分割为1米边长的正立方体方格,每个方格都只能容纳一件“用右键可以放置的物品”。还没有放置任何物品的格子被称为“空气方块”。(不考虑世界边界之外的方块)&/p&&p&1. 元件的位置&br&对于初学者而言,红石电路里最难理解的其实不是各种元件的功能,而是元件的摆放位置。初学者往往会认为附着类的元件,比如红石火把、红石导线、继电器、拉杆、按钮等元件所在的位置就是它所附着的方块上,这是一个比较普遍的误区。&b&实际它们的真正位置都是它们自身所在的空气方块&/b&。比如一块圆石上表面的红石导线所在的位置是这块圆石正上方的空气方块,再比如一块木头侧面附着的拉杆或红石火把所在的位置就是这块木头侧面的空气方块。&/p&&p&2. 元件的毗邻&br&尽管一个元件可能小到不具有体积,比如一个按钮,或是附着在一个方块上的红石导线,但它仍然将所在的空气方块据为己有。&b&因此每个元件(所在的空气方块)都有6个面,与这6个面接触的方块与这个元件“毗邻”&/b&。换句话说,每个元件都有上、下、左、右、前、后6个毗邻方块。(不考虑世界边界的问题)&/p&&p&3. 直接供电与传导供电&br&如果是红石块、拉杆、按钮等电源类元件,那么当它激活时,所在方块会被“&i&直接供电&/i&”。一个被直接供电的方块会像电源一样,&b&给它毗邻的方块&i&传导供电&/i&,但被&i&传导供电&/i&的方块不会将电能继续传导至其它方块&/b&。如果被传导供电的空气方块放置了红石元件,那么将会按照元件的设定行为改变状态。&/p&&p&4. 传导的方向性&br&有些元件是具有方向性的。点亮的中继器并不会给自身所在空气方块直接供电,而是给输出端方向毗邻的方块“传导供电”。红石火把除了给自身所在的空气方块直接供电外,还能给上方毗邻的方块直接供电。其它元件的具体细节可以查MC维基。&/p&&p&&b&如果您觉得有所收获,请为我点赞哦,谢谢!&/b&&/p&
红石电路在MC生存中最大的用处就是制造永动机,实现自动化装置,比如各类自动化农场,自动化刷怪机等等。而自动化装置中最关键的部分就是能够自动重复操作的电路,比如让粘性活塞以一定的频率不停的推拉、让发射器以一定频率发射物品等等。许多新手对于红石…
利益相关:minecraft modder&br&“怎么设计的”和“设计成什么样的”是两个不同的问题,“内部的逻辑,一些奇特的机制”都是“设计成什么样的问题。当然这两个问题是紧密相关的。&br&从软件工程的角度,minecraft的代码其实写的不那么漂亮,因为它是一个典型的快速开发不断迭代的项目,看代码就很容易能看出来,minecraft很多部分都明显是先有一个方便的原型, 然后部分重构,再部分重构,这么拖着改到今天这么大的。所以里面有很多不规范、临时的用法在里面残留着。今天我就着重说一说MC写的烂的地方。&i&再顺便黑一黑java&/i&&br&举几个例子&br&1、GUI&br&MC的GUI是lwjgl从头写的,它写的难看到了什么地步呢,就是随便一个稍微上一点档次的mod,都要重新造一遍轮子。MC GuiScreen里面的一个鼠标事件是这么写的:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&protected&/span& &span class=&kt&&void&/span& &span class=&nf&&mouseClicked&/span&&span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&x&/span&&span class=&o&&,&/span& &span class=&kt&&int&/span& &span class=&n&&y&/span&&span class=&o&&,&/span& &span class=&kt&&int&/span& &span class=&n&&enable&/span&&span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&enable&/span& &span class=&o&&==&/span& &span class=&mi&&0&/span&&span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&kt&&int&/span& &span class=&n&&l&/span& &span class=&o&&=&/span& &span class=&mi&&0&/span&&span class=&o&&;&/span& &span class=&n&&l&/span& &span class=&o&&&&/span& &span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&buttonList&/span&&span class=&o&&.&/span&&span class=&na&&size&/span&&span class=&o&&();&/span& &span class=&o&&++&/span&&span class=&n&&l&/span&&span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&n&&GuiButton&/span& &span class=&n&&guibutton&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&n&&GuiButton&/span&&span class=&o&&)&/span&&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&buttonList&/span&&span class=&o&&.&/span&&span class=&na&&get&/span&&span class=&o&&(&/span&&span class=&n&&l&/span&&span class=&o&&);&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&guibutton&/span&&span class=&o&&.&/span&&span class=&na&&mousePressed&/span&&span class=&o&&(&/span&&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&mc&/span&&span class=&o&&,&/span& &span class=&n&&x&/span&&span class=&o&&,&/span& &span class=&n&&y&/span&&span class=&o&&))&/span&
&span class=&o&&{&/span&
&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&selectedButton&/span& &span class=&o&&=&/span& &span class=&n&&guibutton&/span&&span class=&o&&;&/span&
&span class=&n&&guibutton&/span&&span class=&o&&.&/span&&span class=&na&&playsound&/span&&span class=&o&&(&/span&&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&mc&/span&&span class=&o&&.&/span&&span class=&na&&getSoundHandler&/span&&span class=&o&&());&/span&
&span class=&k&&this&/span&&span class=&o&&.&/span&&span class=&na&&actionPerformed&/span&&span class=&o&&(&/span&&span class=&n&&guibutton&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&GuiButton.mousePressed()长这样:&br&&div class=&highlight&&&pre&&code class=&language-text&&public boolean mousePressed(Minecraft p__, int p__, int p__)
return this.enabled && this.visible && p__ &= this.xPosition && p__ &= this.yPosition && p__ & this.xPosition + this.width && p__ & this.yPosition + this.
&/code&&/pre&&/div&对,根本没有事件,也没有回调,逻辑必须在主窗口类的actionPerformed里处理,这是上个世纪90年代的写法。所以说稍微有点档次的mod都要重写GUI,因为MC本来写的真是太难看了。&br&(顺便一提,forge用ASM在这里生插进去了一个事件,虽然这个事件会把别人的按钮事件也发送给你。所以还算有事件可用,但是这就不算MC本身写的了。)&br&2、注册&br&我又回头看了看,注册这个问题很大,所以我决定不止讲那个硬编码的部分,展开说。&br&&br&首先就是一段硬编码的注册代码。这是Block类里的:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kt&&void&/span& &span class=&nf&&registerBlocks&/span&&span class=&o&&()&/span&
&span class=&o&&{&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&,&/span& &span class=&s&&&air&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockAir&/span&&span class=&o&&()).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&air&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&1&/span&&span class=&o&&,&/span& &span class=&s&&&stone&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockStone&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&1.5&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setResistance&/span&&span class=&o&&(&/span&&span class=&mf&&10.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypePiston&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&stone&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&stone&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&2&/span&&span class=&o&&,&/span& &span class=&s&&&grass&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockGrass&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&0.6&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypeGrass&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&grass&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&grass&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&3&/span&&span class=&o&&,&/span& &span class=&s&&&dirt&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockDirt&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&0.5&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypeGravel&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&dirt&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&dirt&&/span&&span class=&o&&));&/span&
&span class=&n&&Block&/span& &span class=&n&&block&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Block&/span&&span class=&o&&(&/span&&span class=&n&&Material&/span&&span class=&o&&.&/span&&span class=&na&&rock&/span&&span class=&o&&)).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&2.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setResistance&/span&&span class=&o&&(&/span&&span class=&mf&&10.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypePiston&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&stonebrick&&/span&&span class=&o&&).&/span&&span class=&na&&setCreativeTab&/span&&span class=&o&&(&/span&&span class=&n&&CreativeTabs&/span&&span class=&o&&.&/span&&span class=&na&&tabBlock&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&cobblestone&&/span&&span class=&o&&);&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&4&/span&&span class=&o&&,&/span& &span class=&s&&&cobblestone&&/span&&span class=&o&&,&/span& &span class=&n&&block&/span&&span class=&o&&);&/span&
&span class=&n&&Block&/span& &span class=&n&&block1&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockWood&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&2.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setResistance&/span&&span class=&o&&(&/span&&span class=&mf&&5.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypeWood&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&wood&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&planks&&/span&&span class=&o&&);&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&5&/span&&span class=&o&&,&/span& &span class=&s&&&planks&&/span&&span class=&o&&,&/span& &span class=&n&&block1&/span&&span class=&o&&);&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&6&/span&&span class=&o&&,&/span& &span class=&s&&&sapling&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockSapling&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&0.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypeGrass&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&sapling&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&sapling&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&7&/span&&span class=&o&&,&/span& &span class=&s&&&bedrock&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Block&/span&&span class=&o&&(&/span&&span class=&n&&Material&/span&&span class=&o&&.&/span&&span class=&na&&rock&/span&&span class=&o&&)).&/span&&span class=&na&&setBlockUnbreakable&/span&&span class=&o&&().&/span&&span class=&na&&setResistance&/span&&span class=&o&&(&/span&&span class=&mf&&&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypePiston&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&bedrock&&/span&&span class=&o&&).&/span&&span class=&na&&disableStats&/span&&span class=&o&&().&/span&&span class=&na&&setCreativeTab&/span&&span class=&o&&(&/span&&span class=&n&&CreativeTabs&/span&&span class=&o&&.&/span&&span class=&na&&tabBlock&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&bedrock&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&8&/span&&span class=&o&&,&/span& &span class=&s&&&flowing_water&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockDynamicLiquid&/span&&span class=&o&&(&/span&&span class=&n&&Material&/span&&span class=&o&&.&/span&&span class=&na&&water&/span&&span class=&o&&)).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&100.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setLightOpacity&/span&&span class=&o&&(&/span&&span class=&mi&&3&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&water&&/span&&span class=&o&&).&/span&&span class=&na&&disableStats&/span&&span class=&o&&().&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&water_flow&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&9&/span&&span class=&o&&,&/span& &span class=&s&&&water&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockStaticLiquid&/span&&span class=&o&&(&/span&&span class=&n&&Material&/span&&span class=&o&&.&/span&&span class=&na&&water&/span&&span class=&o&&)).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&100.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setLightOpacity&/span&&span class=&o&&(&/span&&span class=&mi&&3&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&water&&/span&&span class=&o&&).&/span&&span class=&na&&disableStats&/span&&span class=&o&&().&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&water_still&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&10&/span&&span class=&o&&,&/span& &span class=&s&&&flowing_lava&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockDynamicLiquid&/span&&span class=&o&&(&/span&&span class=&n&&Material&/span&&span class=&o&&.&/span&&span class=&na&&lava&/span&&span class=&o&&)).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&100.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setLightLevel&/span&&span class=&o&&(&/span&&span class=&mf&&1.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&lava&&/span&&span class=&o&&).&/span&&span class=&na&&disableStats&/span&&span class=&o&&().&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&lava_flow&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&11&/span&&span class=&o&&,&/span& &span class=&s&&&lava&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockStaticLiquid&/span&&span class=&o&&(&/span&&span class=&n&&Material&/span&&span class=&o&&.&/span&&span class=&na&&lava&/span&&span class=&o&&)).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&100.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setLightLevel&/span&&span class=&o&&(&/span&&span class=&mf&&1.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&lava&&/span&&span class=&o&&).&/span&&span class=&na&&disableStats&/span&&span class=&o&&().&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&lava_still&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&12&/span&&span class=&o&&,&/span& &span class=&s&&&sand&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockSand&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&0.5&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypeSand&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&sand&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&sand&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&13&/span&&span class=&o&&,&/span& &span class=&s&&&gravel&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockGravel&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&0.6&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypeGravel&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&gravel&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&gravel&&/span&&span class=&o&&));&/span&
&span class=&n&&blockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&addObject&/span&&span class=&o&&(&/span&&span class=&mi&&14&/span&&span class=&o&&,&/span& &span class=&s&&&gold_ore&&/span&&span class=&o&&,&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&BlockOre&/span&&span class=&o&&()).&/span&&span class=&na&&setHardness&/span&&span class=&o&&(&/span&&span class=&mf&&3.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setResistance&/span&&span class=&o&&(&/span&&span class=&mf&&5.0&/span&&span class=&n&&F&/span&&span class=&o&&).&/span&&span class=&na&&setStepSound&/span&&span class=&o&&(&/span&&span class=&n&&soundTypePiston&/span&&span class=&o&&).&/span&&span class=&na&&setBlockName&/span&&span class=&o&&(&/span&&span class=&s&&&oreGold&&/span&&span class=&o&&).&/span&&span class=&na&&setBlockTextureName&/span&&span class=&o&&(&/span&&span class=&s&&&gold_ore&&/span&&span class=&o&&));&/span&
&/code&&/pre&&/div&后面不往下写了,都是这样,直到把所有方块注册完。这是flash小游戏的写法吧。&br&不过硬编码和硬编码也不一样。你应该注意一下细节,blockRegistry.addObject()的第一个参数是一个int,它是方块的序号。在RegistryNamespaced里,这个序号作map的key值。序号硬编码会造成什么恶果呢?对,序号冲突。自己改序号不好改(所以你看到MC从来没有删除过物品或者方块,也没有在中间添加过,因为会导致序号改变),别人加物品更头痛。所以1.6以及之前,mod一直有一个序号冲突的问题。那么在1.7是否解决了序号问题呢?实际上,没有。1.7的方块问题最大的改动是加进了一个UnlocalizedName,意思就是说你以后用这个名字来找方块,但是实际上代码内部还是用int编号硬编码。而1.8最大的改动是让你在游戏内命令里不能按照序号give方块了,而代码内部还是跟上面没什么区别,用int硬编码。&br&于是在1.7,fml加进了自动分配序号的功能:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kn&&package&/span& &span class=&nn&&cpw.mon.registry&/span&&span class=&o&&;&/span&
&span class=&kd&&private&/span& &span class=&kt&&int&/span& &span class=&nf&&registerBlock&/span&&span class=&o&&(&/span&&span class=&n&&Block&/span& &span class=&n&&block&/span&&span class=&o&&,&/span& &span class=&n&&String&/span& &span class=&n&&name&/span&&span class=&o&&,&/span& &span class=&kt&&int&/span& &span class=&n&&idHint&/span&&span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&c1&&// handle ItemBlock-before-Block registrations&/span&
&span class=&n&&ItemBlock&/span& &span class=&n&&itemBlock&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&k&&for&/span& &span class=&o&&(&/span&&span class=&n&&Item&/span& &span class=&n&&item&/span& &span class=&o&&:&/span& &span class=&n&&iItemRegistry&/span&&span class=&o&&.&/span&&span class=&na&&typeSafeIterable&/span&&span class=&o&&())&/span& &span class=&c1&&// find matching ItemBlock&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&item&/span& &span class=&k&&instanceof&/span& &span class=&n&&ItemBlock&/span& &span class=&o&&&&&/span& &span class=&o&&((&/span&&span class=&n&&ItemBlock&/span&&span class=&o&&)&/span& &span class=&n&&item&/span&&span class=&o&&).&/span&&span class=&na&&field_150939_a&/span& &span class=&o&&==&/span& &span class=&n&&block&/span&&span class=&o&&)&/span&
&span class=&o&&{&/span&
&span class=&n&&itemBlock&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&n&&ItemBlock&/span&&span class=&o&&)&/span& &span class=&n&&item&/span&&span class=&o&&;&/span&
&span class=&k&&break&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&span class=&o&&}&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&itemBlock&/span& &span class=&o&&!=&/span& &span class=&kc&&null&/span&&span class=&o&&)&/span& &span class=&c1&&// has ItemBlock, adjust id and clear the slot already occupied by the corresponding item&/span&
&span class=&o&&{&/span&
&span class=&n&&idHint&/span& &span class=&o&&=&/span& &span class=&n&&iItemRegistry&/span&&span class=&o&&.&/span&&span class=&na&&getId&/span&&span class=&o&&(&/span&&span class=&n&&itemBlock&/span&&span class=&o&&);&/span&
&span class=&n&&FMLLog&/span&&span class=&o&&.&/span&&span class=&na&&fine&/span&&span class=&o&&(&/span&&span class=&s&&&Found matching ItemBlock %s for Block %s at id %d&&/span&&span class=&o&&,&/span& &span class=&n&&itemBlock&/span&&span class=&o&&,&/span& &span class=&n&&block&/span&&span class=&o&&,&/span& &span class=&n&&idHint&/span&&span class=&o&&);&/span&
&span class=&n&&freeSlot&/span&&span class=&o&&(&/span&&span class=&n&&idHint&/span&&span class=&o&&,&/span& &span class=&n&&block&/span&&span class=&o&&);&/span& &span class=&c1&&// temporarily free the slot occupied by the Item for the block registration&/span&
&span class=&o&&}&/span&
&span class=&c1&&// add&/span&
&span class=&kt&&int&/span& &span class=&n&&blockId&/span& &span class=&o&&=&/span& &span class=&n&&iBlockRegistry&/span&&span class=&o&&.&/span&&span class=&na&&add&/span&&span class=&o&&(&/span&&span class=&n&&idHint&/span&&span class=&o&&,&/span& &span class=&n&&name&/span&&span class=&o&&,&/span& &span class=&n&&block&/span&&span class=&o&&,&/span& &span class=&n&&availabilityMap&/span&&span class=&o&&);&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&itemBlock&/span& &span class=&o&&!=&/span& &span class=&kc&&null&/span&&span class=&o&&)&/span& &span class=&c1&&// verify&/span&
&span class=&o&&{&/span&
&span class=&k&&if&/span& &span class=&o&&(&/span&&span class=&n&&blockId&/span& &span class=&o&&!=&/span& &span class=&n&&idHint&/span&&span class=&o&&)&/span& &span class=&k&&throw&/span& &span class=&k&&new&/span& &span class=&n&&IllegalStateException&/span&&span class=&o&&(&/span&&span class=&n&&String&/span&&span class=&o&&.&/span&&span class=&na&&format&/span&&span class=&o&&(&/span&&span class=&s&&&Block at itemblock id %d insertion failed, got id %d.&&/span&&span class=&o&&,&/span& &span class=&n&&idHint&/span&&span class=&o&&,&/span& &span class=&n&&blockId&/span&&span class=&o&&));&/span&
&span class=&n&&verifyItemBlockName&/span&&span class=&o&&(&/span&&span class=&n&&itemBlock&/span&&span class=&o&&);&/span&
&span class=&o&&}&/span&
&span class=&n&&useSlot&/span&&span class=&o&&(&/span&&span class=&n&&blockId&/span&&span class=&o&&);&/span&
&span class=&o&&((&/span&&span class=&n&&RegistryDelegate&/span&&span class=&o&&.&/span&&span class=&na&&Delegate&/span&&span class=&o&&&&/span&&span class=&n&&Block&/span&&span class=&o&&&)&/span& &span class=&n&&block&/span&&span class=&o&&.&/span&&span class=&na&&delegate&/span&&span class=&o&&).&/span&&span class=&na&&setName&/span&&span class=&o&&(&/span&&span class=&n&&name&/span&&span class=&o&&);&/span&
&span class=&k&&return&/span& &span class=&n&&blockId&/span&&span class=&o&&;&/span&
&span class=&o&&}&/span&
&/code&&/pre&&/div&&br&用的namespace都不是原来的RegistryNamespaced,是fml自己的FMLControlledNamespacedRegistry&I&,也就是说原来那个已经没法用了。对,你看fml还加泛型,可以限定这个命名空间给方块用或者给物品用,这就是人的写法。&br&看中间那个if,就是在判断命名空间里有没有;如果没有,重新分配序号。&br&这个就是有fml,帮我们解决了MC的代码问题。如果fml没解决呢?&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&class&/span& &span class=&nc&&Potion&/span&
&span class=&o&&{&/span&
&span class=&cm&&/** The array of potion types. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span&&span class=&o&&[]&/span& &span class=&n&&potionTypes&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&[&/span&&span class=&mi&&32&/span&&span class=&o&&];&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76423_b&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&moveSpeed&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&1&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&8171462&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.moveSpeed&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&func_111184_a&/span&&span class=&o&&(&/span&&span class=&n&&SharedMonsterAttributes&/span&&span class=&o&&.&/span&&span class=&na&&movementSpeed&/span&&span class=&o&&,&/span& &span class=&s&&&91AEAA56-376B-F7F&&/span&&span class=&o&&,&/span& &span class=&mf&&0.23224&/span&&span class=&n&&D&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&moveSlowdown&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&2&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&5926017&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.moveSlowdown&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&1&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&func_111184_a&/span&&span class=&o&&(&/span&&span class=&n&&SharedMonsterAttributes&/span&&span class=&o&&.&/span&&span class=&na&&movementSpeed&/span&&span class=&o&&,&/span& &span class=&s&&&CE8-4C1F160890&&/span&&span class=&o&&,&/span& &span class=&o&&-&/span&&span class=&mf&&0.46448&/span&&span class=&n&&D&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&digSpeed&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&3&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.digSpeed&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&2&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&setEffectiveness&/span&&span class=&o&&(&/span&&span class=&mf&&1.5&/span&&span class=&n&&D&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&digSlowdown&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&4&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&4866583&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.digSlowDown&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&3&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&damageBoost&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionAttackDamage&/span&&span class=&o&&(&/span&&span class=&mi&&5&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&9643043&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.damageBoost&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&4&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&func_111184_a&/span&&span class=&o&&(&/span&&span class=&n&&SharedMonsterAttributes&/span&&span class=&o&&.&/span&&span class=&na&&attackDamage&/span&&span class=&o&&,&/span& &span class=&s&&&648D-4F59-8ABE-C2C23A6DD7A9&&/span&&span class=&o&&,&/span& &span class=&mf&&3.0&/span&&span class=&n&&D&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&heal&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionHealth&/span&&span class=&o&&(&/span&&span class=&mi&&6&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.heal&&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&harm&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionHealth&/span&&span class=&o&&(&/span&&span class=&mi&&7&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&4393481&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.harm&&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&jump&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&8&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&7889559&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.jump&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&2&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&confusion&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&9&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&5578058&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.confusion&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&3&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&).&/span&&span class=&na&&setEffectiveness&/span&&span class=&o&&(&/span&&span class=&mf&&0.25&/span&&span class=&n&&D&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The regeneration Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&regeneration&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&10&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.regeneration&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&7&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&setEffectiveness&/span&&span class=&o&&(&/span&&span class=&mf&&0.25&/span&&span class=&n&&D&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&resistance&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&11&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.resistance&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&6&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The fire resistance Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&fireResistance&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&12&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.fireResistance&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&7&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The water breathing Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&waterBreathing&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&13&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&3035801&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.waterBreathing&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The invisibility Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&invisibility&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&14&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&8356754&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.invisibility&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The blindness Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&blindness&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&15&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&2039587&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.blindness&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&5&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&).&/span&&span class=&na&&setEffectiveness&/span&&span class=&o&&(&/span&&span class=&mf&&0.25&/span&&span class=&n&&D&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The night vision Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&nightVision&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&16&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&2039713&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.nightVision&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&4&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The hunger Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&hunger&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&17&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&5797459&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.hunger&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&1&/span&&span class=&o&&,&/span& &span class=&mi&&1&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The weakness Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&weakness&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionAttackDamage&/span&&span class=&o&&(&/span&&span class=&mi&&18&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&4738376&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.weakness&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&5&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&func_111184_a&/span&&span class=&o&&(&/span&&span class=&n&&SharedMonsterAttributes&/span&&span class=&o&&.&/span&&span class=&na&&attackDamage&/span&&span class=&o&&,&/span& &span class=&s&&&E-49DC-9B6B-BE5&&/span&&span class=&o&&,&/span& &span class=&mf&&2.0&/span&&span class=&n&&D&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The poison Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&poison&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&19&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&5149489&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.poison&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&6&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&).&/span&&span class=&na&&setEffectiveness&/span&&span class=&o&&(&/span&&span class=&mf&&0.25&/span&&span class=&n&&D&/span&&span class=&o&&);&/span&
&span class=&cm&&/** The wither Potion object. */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&wither&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&(&/span&&span class=&mi&&20&/span&&span class=&o&&,&/span& &span class=&kc&&true&/span&&span class=&o&&,&/span& &span class=&mi&&3484199&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.wither&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&1&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&).&/span&&span class=&na&&setEffectiveness&/span&&span class=&o&&(&/span&&span class=&mf&&0.25&/span&&span class=&n&&D&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76434_w&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionHealthBoost&/span&&span class=&o&&(&/span&&span class=&mi&&21&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.healthBoost&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&2&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&).&/span&&span class=&na&&func_111184_a&/span&&span class=&o&&(&/span&&span class=&n&&SharedMonsterAttributes&/span&&span class=&o&&.&/span&&span class=&na&&maxHealth&/span&&span class=&o&&,&/span& &span class=&s&&&5D6F0BA2-1186-46AC-B896-C61C5CEE99CC&&/span&&span class=&o&&,&/span& &span class=&mf&&4.0&/span&&span class=&n&&D&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76444_x&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionAbsoption&/span&&span class=&o&&(&/span&&span class=&mi&&22&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&2445989&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.absorption&&/span&&span class=&o&&).&/span&&span class=&na&&setIconIndex&/span&&span class=&o&&(&/span&&span class=&mi&&2&/span&&span class=&o&&,&/span& &span class=&mi&&2&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76443_y&/span& &span class=&o&&=&/span& &span class=&o&&(&/span&&span class=&k&&new&/span& &span class=&n&&PotionHealth&/span&&span class=&o&&(&/span&&span class=&mi&&23&/span&&span class=&o&&,&/span& &span class=&kc&&false&/span&&span class=&o&&,&/span& &span class=&mi&&&/span&&span class=&o&&)).&/span&&span class=&na&&setPotionName&/span&&span class=&o&&(&/span&&span class=&s&&&potion.saturation&&/span&&span class=&o&&);&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76442_z&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76409_A&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76410_B&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76411_C&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76405_D&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76406_E&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76407_F&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span& &span class=&n&&field_76408_G&/span& &span class=&o&&=&/span& &span class=&kc&&null&/span&&span class=&o&&;&/span&
&/code&&/pre&&/div&没错,这就是药水类的注册。也不用什么register了,直接写static了。&br&好吧,你是怎么写的我也不想管了,我就想加几种自己定义的药水效果。然后我们就看到了一行代码:&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Potion&/span&&span class=&o&&[]&/span& &span class=&n&&potionTypes&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Potion&/span&&span class=&o&&[&/span&&span class=&mi&&32&/span&&span class=&o&&];&/span&
&/code&&/pre&&/div&尼玛。数组,而且还是定长数组。&br&怎么办?老实说,没什么好办法,因为fml没帮你解决这个问题。固然你可以换掉这个数组给它扩容,但是这必然会导致mod和mod不兼容。反正,现在版本依然有大量的药水效果冲突的问题存在。比如你可以在1.7.10装个IC再装个环境,看饥渴效果是怎么变成辐射效果把你秒了的。TC的药水数量已经自己都在那几个空里装不下了,他自己实现了一个potion数组,但是他不是fml,我们也没法都转移过去,所以这个问题也没什么好办法。&br&&div class=&highlight&&&pre&&code class=&language-java&&&span class=&kd&&public&/span& &span class=&kd&&abstract&/span& &span class=&kd&&class&/span& &span class=&nc&&Enchantment&/span&
&span class=&o&&{&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Enchantment&/span&&span class=&o&&[]&/span& &span class=&n&&enchantmentsList&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Enchantment&/span&&span class=&o&&[&/span&&span class=&mi&&256&/span&&span class=&o&&];&/span&
&span class=&cm&&/** The list of enchantments applicable by the anvil from a book */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Enchantment&/span&&span class=&o&&[]&/span& &span class=&n&&enchantmentsBookList&/span&&span class=&o&&;&/span&
&span class=&cm&&/** Converts environmental damage to armour damage */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Enchantment&/span& &span class=&n&&protection&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&EnchantmentProtection&/span&&span class=&o&&(&/span&&span class=&mi&&0&/span&&span class=&o&&,&/span& &span class=&mi&&10&/span&&span class=&o&&,&/span& &span class=&mi&&0&/span&&span class=&o&&);&/span&
&span class=&cm&&/** Protection against fire */&/span&
&span class=&kd&&public&/span& &span class=&kd&&static&/span& &span class=&kd&&final&/span& &span class=&n&&Enchantment&/span& &span class=&n&&fireProtection&/span& &span class=&o&&=&/span& &span class=&k&&new&/span& &span class=&n&&Enchant}

我要回帖

更多关于 我的世界启动器打不开 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信