粉專都沒啥人 直接將文章複製到這XD
插件教學 EP.1 -前置作業和初始函數
PS:如要轉貼請附上作者名,謝謝
所需軟體: Minecraft pe(廢話XD)
blocklauncher (一般版或pro)
文件編輯器 支援語法的更好
EX:QuickEdit (PC版:Notepad++)
ES檔案瀏覽器
PS:「」為說明用 不用打進去插件中
首先是插件的開頭大多數會加上「//」或「/* */」
這兩個函數放入啟動器中不會被執行 是用來說明用的,如果別人打開他的插件檔就會看到這行文
EX1: /*勇者的試煉二 專用插件 禁止修改程式碼! 如果要研究請附上作者名,謝謝 MAKE-BY 神之主*/
EX2://歡迎語
再來是function函數了
function newLevel(){「執行的函數」}
這個是一進入世界就會觸發的函數
EX: function newLevel(){ clientMessage(ChatColor.BLUE +"歡迎回來!勇者" + ChatColor.RED + Player.getName(Player.getEntity())); }
PS:clientMessage() 是對話框對話之後會教
Player.getName(Player.getEntity())
是讀取玩家的ID 上面的函數是指進入世界後就在左上方出現: 歡迎回來!勇者「你的ID」 的對話
function useItem(x,y,z,i,b,s){}
超重要的函數後面會用到 如手持物品、點擊方塊等 XYZ:點擊的座標 i:手持的物品ID b:點擊的方塊ID s:點擊的方向(我沒用過,不要問我)
EX: function useItem(x,y,z,i,b,s) { if(i==504) { addItemInventory(504,-1,0) ; addItemInventory(262,64,0) ; } }
PS:if是如果 也是很重要
再來是上面的if了
if(i==504) 是如果手持的ID:504的物品就會觸發下方的函數
(不能對空氣點 要對方快點擊才會觸發)
addItemInventory(262,64,0) :
是用來增加或減少物品用的 262是物品ID箭矢 64是數量 0是特殊值如生怪蛋&藥水
如果再數量前加上-就會減少那個物品
在教最後一個吧:ModPE.setItem 增加新物品的函數 EX: ModPE.setItem(504,"book_normal", 0, "箭召喚書")
504是新增的id "book_normal"是物品的圖片 名子自己查吧 0 為材質特殊質 "箭召喚書" :就是物品名啦
EP 2 隨便教學
插件原始碼: if(x==21&&y==44&&z==676) {
var bosssa=Level.spawnMob(x,y+1,z,32,"mob/zombie.png");
clientMessage("§4以召喚boss!")
Entity.setNameTag(bosssa, "腐爛的法老王");
Entity.setHealth(bosssa,100);
Entity.addEffect(bosssa, MobEffect.damageResistance, 9999*20, 3, false, true);
Entity.addEffect(getPlayerEnt(), MobEffect.blindness, 10*20, 127, false, true);
Entity.addEffect(bosssa, MobEffect.damageBoost, 9999*20, 3, false, true);
Entity.setRenderType(bosssa,3);
Entity.setMaxHealth(bosssa, 100); }
解釋時間 var bosssa=Level.spawnMob(x,y+1,z,32,"mob/zombie.png");
就是召喚boss拉
mob/zombie.png為怪物skin
clientMessage("§4以召喚boss!") 對話用不用說了
Entity.setNameTag(bosssa, "腐爛的法老王");
這是命名牌喔
Entity.addEffect(bosssa, MobEffect.damageResistance, 9999*20, 3, false, true);
給予BOSS抗性4的藥水效果 只要效果高於5所有傷害都無效除非是藥水
Entity.addEffect(getPlayerEnt(), MobEffect.blindness, 10*20, 127, false, true);
給予玩家10秒失明
Entity.addEffect(bosssa, MobEffect.damageBoost, 9999*20, 3, false, true);
最OP的攻擊傷害拉
Entity.setRenderType(bosssa,3);
改變實體外觀
Entity.setMaxHealth(bosssa, 100);
鎖定血量 最新版本的新函數
就是這樣拉~插件很好寫的XD 記得if前要加function useItem(x,y,z,i,b,s){}喔
插件教學 EP 3 延遲函數
終於學會了XD馬上開教學 下面的函數可以直接複製不用刪掉//
var started = false; //為是否值當數值為是時執行函數 var startedcount = 101;
//為計時數值值推薦設定20的倍數加一
function newLevel(){//啟動時會發動的函數
started = true;//將started數值設為是 }
function modTick()//每秒執行20次
{
if(started == true)//當started為是時才執行
{ startedcount--;//每秒減少startedcount數值的數20點
}
if(startedcount == 70 && started == true)
//當startedcount為70時started為是時執行下面的函數
{ clientMessage("安");//歡迎語,不用說了吧
started = false; startedcount = 101;
//將數值回復,不然歡迎語不會消失
//如果不加上started = false;的話可以重複執行歡迎語
}}
【插件教學時間 EP.4 播放音樂】
首先先建立一個放音樂資料夾
記錄下檔案位置
再來打開文件編輯程式
貼上以下函數
this.Card = android.os.Environment.getExternalStorageDirectory();
mplayer=new android.media.MediaPlayer();
//設定播放音樂的變數
function ChangeSong(a,loop)
//創建一個新的function
{
if(mplayer.isPlaying())//如果音樂正在播放時執行本函數
{
mplayer.stop()//停止音樂的函數
}
try//防止跳出此插件有BUG的對話框
{
mplayer.stop();
mplayer.reset();//重新設定音樂播放
mplayer.setDataSource(this.Card + "/games/com.mojang/bgm/" + a);//設定播放音樂的資料夾
mplayer.prepare();//準備播放音樂
mplayer.setLooping(loop);//設定是否重複播放(本人試過了,貌似無效)
mplayer.start();//開始播放音樂
}catch(e)//偵測錯誤函數
{print("文件不存在"+e);//跳出錯誤訊息
}}
當然你們會想問這樣就能播放了?
當然還沒
有了播音樂的function就要有啟動這個function的函數啦。
我以點擊草地就觸發音樂舉例
function useItem(x,y,z,i,b,s)//不解釋 詳情請看EP.1
{
if (b == 2) {
ChangeSong(test.mp3,true);
//播放test.mp3檔案 重複播放開啟
}
}
這樣就能播放音樂嘍~