製作一個新的合成方式
製作一個新的物品類型
最基礎的三項工作~
因為我沒壓Modloader 進去
所以這邊是用最呆的方式創建(也不能放新圖片)
算是純粹的紀錄文~
畢竟看到那滿滿的方法~我就不想解析了(喂
參考用:
【Minecraft Object in Java】【父系物件】
Data values (查id
再/net/minecraft/src底下新開一個BlockOldNick.java
public class BlockOldNick extends Block
注意class的名稱必須跟java的檔名一模一樣~創造的是方塊所以當然是繼承自Block
而建構子中的兩個參數分別代表 此方塊的id 跟 圖像 而第三項是材質........我實在分不出玻璃跟石頭的材質差在哪囧
而idDropped還沒研究
之後請打開Block.java把新建的方塊加進去
就是宣告有一個方塊叫OldNick不解釋
再來定義OldNick是什麼樣的方塊~
new BlockOldNick(125,8):宣告成BlockOldNick方塊~id是125,圖像8(TNT)!注意方塊ID不等於圖像ID
setHardness(1.5f) 硬度
setResistance(1f) 抗爆性
setStepSound(soundStoneFootstep) 足音.....老實說我聽不出來
setBlockName("oldnick")); 方塊名稱.......可能是1.1支援多國語言的關係~一點用都沒
............還有很多可以set的都定義在Block裡面可以慢慢玩
例如加上.setLightValue(1.0f) 會發光的TNT就出現了(゜∀゜)
打開CraftingManager.java
new ItemStack(Block.OldNick,5), //代表會創造出5個Block.OldNick方塊
new Object[]{
"#",Character.valueOf('#'),Block.dirt
});
//Object後面就是配方了" "," "," " 其中的#可以替換只要後面Character.valueOf有指定就行
Character.valueOf('#'),Block.dirt 代表# 是 Block.dirt(泥土)
(無法顯示名稱這點還不會弄)
最後來創一個沒有任何用處的道具
一樣在/net/minecraft/src底下新開一個ItemOldNick.java
public ItemOldNick(int i) 的i 一樣是id
值得注意的是物品的id 對照表要減掉256
而maxStackSize=64; 代表物品欄最多可以疊加幾個
public ItemStack onItemRightClick
而這個動作是當玩家拿著這個道具按右鍵會發生什麼事
這邊我只讓物品的數量-1就回傳了~
也就是說~每按一個右鍵這道具就會什麼都沒發生的消失一個呢w
之後一樣打開Item.java 再類似的地方打上
public static Item OldNick =(new ItemOldNick(130).setIconIndex(42));
130是id 而setIconIndex(42)是物品圖像
為了方便測試~還是直接讓他可以從泥土合成w
這次是拿一個會發光不會爆炸的奇怪TNT跟泥土合成出64個神秘木牌
而這個木牌每按一次右鍵就會消失一個呢wwwwww
第一篇就先這樣~
基本上就是用到
Block.java
Item.java
CraftingManager.java
其實來整理一下個父類別已經提供了什麼函數才實用
不然就只能看名稱猜用途了
沒有實際想做出什麼只是拆來研究~感覺沒啥動力說(攤手)
而且最近事情意外的多耶~見鬼
有越來越懶越來越無能的傾向QQ