本篇僅包含殺戮尖塔控制檯的使用翻譯。
關於控制檯的兩個事實:
1.目前loadout mod已經基本上能代替控制檯。
2.控制檯只有在運行basemod後後才能使用。
控制檯
開啟
使用`按鍵打開控制檯。控制檯必須在BaseMod的遊戲內置mod配置中啟用。按鍵捆綁也可以在mod配置中更改。
指令
(注:下面的“[]”表示自定義內容,實際上在控制檯並不需要輸入“[]”!記得加空格就行)
_________________________________________
卡組修改
deck add [名稱] {卡牌數量} {升級}
添加卡牌到卡組 (可選項1: 你想要添加這張卡的整數次) (可選項2: 卡牌升級的整數次)
deck remove [名稱]
從卡組刪牌
deck remove all
刪掉卡組裡的所有牌
_________________________________________
戰鬥中
draw [數量]
抽牌
energy add [數量]
獲得能量
energy inf
無限能量
energy remove [數量]
失去能量
hand add [名稱] {卡牌數量} {升級}
添加牌到手牌中 (可選項1: 你想要添加這張卡的整數次) (可選項2: 卡牌升級的整數次)
hand remove all
消耗所有手牌(惡魔火)
hand remove [名稱]
消耗手牌中的指定牌
kill all
幹掉所有敵人
kill self
幹掉你的角色
power [名稱] [數量]
生成一個瞄準線(指的是你出攻擊牌時的那種紅色的箭頭),對玩家或怪物施加一系列效果(注:小提一嘴,這裡用到的power包括很多效果,例如:毒效果,易傷,無懼疼痛,黑暗之擁等等)
_________________________________________
戰鬥外
fight [怪物名稱]
進入一場指定怪物名稱的戰鬥
event [事件名稱]
開始一場指定名稱的事件
_________________________________________
任何時候
gold add [數量]
增加金幣
gold lose [數量]
失去金幣
info toggle
設置信息切換?
potion [位置] [名稱]
在指定槽位(0,1或2)添加指定藥水
hp add [數量]
回血
hp lose [數量]
扣血
maxhp add [數量]
加血上限
maxhp remove [數量]
扣血上限
debug [true/false]
設置是否調試
_________________________________________
遺物
relic add [名稱]
添加遺物
relic list
列出所有遺物
relic remove [名稱]
失去遺物
_________________________________________
解鎖
unlock always
死亡時總是獲得一次解鎖
unlock level [level]
設置獲得指定等級的解鎖
_________________________________________
行動
act boss
直接傳送到當前層的BOSS房
act [行動名稱]
直接到指定層的開始位置
_________________________________________
進入四層打心臟的鑰匙
key add [指定顏色 或者 all]
將相應的鑰匙添加到當前一局中
key lose [指定顏色 或者 all]
從當前一局中刪除相應的鑰匙
_________________________________________
歷史
history random
隨機給你一個過去勝利一局的遺物和卡組
history last
給你當前角色最後成功一局的遺物和卡組的
_________________________________________
添加你的指令
完成它需要兩個東西:一個處理你的指令的類,和一個在控制檯中觸發它的空鍵位。
java類
所有命令都必須是抽象類basemod.devcommands.ConsoleCommand的擴展。該類有一些參數,你可以在構造函數中設置這些參數來處理你的命令。請注意,這些都不是強制性的,所有的這些都有默認值。
-----------------------------------
public class YourCommand extends ConsoleCommand {
public YourCommand() {
maxExtraTokens = 2; //這個單詞後面還能有多少單詞?如果未指定,maxExtraTokens = 1。
minExtraTokens = 0; //這句話後面還有多少詞呢?如果未指定,minExtraTokens = 0。
requiresPlayer = true; //如果為true,則表示該命令只能在運行期間執行。如果未指定,則requiresplayer = false。
simplecheck = true;
/**
* 如果這個標誌為真,並且您沒有實現重寫命令語法檢查方法自己的邏輯,它將檢查所輸入的內容是否在您所說的命令具有的選項中。
* 注意,這隻適用於控制檯的自動補全功能,與執行命令時的操作無關!
* 如果未指定,simplecheck = false。
*/
followup.put("whateveryouwantmetobebaby", YourSecondCommand.class);
/**
* 這樣做可能會將這個單詞作為當前面命令的後續,並將其傳遞給YourSecondCommand。
* 你可以隨心所欲地添加這些東西。
*/
}
...
}
-----------------------------------
每個指令都必須使用該方法
void execute(String[] tokens, int depth).
字符是開發控制檯的全部輸入,由/\s/(空格)分開。
深度可以標記中當前位置的索引。例如:tokens[depth] 會成為你指令的第一個詞。
該方法包含語法檢查命令,以及它的實際功能。對於過渡性命令,execute(…)通常只調用errorMsg();
你還可以重寫以下方法:
- ArrayList<String> extraOptions(String[] tokens, int depth)
- void errorMsg(String[]? tokens)
額外選項返回的內容將顯示在控制檯的自動完成特性中,以及你在構造函數中添加到followup的內容中。
-----------------------------------
...
public ArrayList extraOptions(String[] tokens, int depth) {
ArrayList result = new ArrayList<>();
result.add("add");
result.add("lose");
if(tokens[depth].equals("add") || tokens[depth].equals("lose")) {
complete = true;
/**
* 將complete設置為true會在自動完成窗口中顯示“命令已完成”。
* 如果構造函數中有"simplecheck = true",並且你沒有額外的邏輯策略,那麼這就不必要!
*/
}
return result;
}
...
-----------------------------------
當控制檯識別到您想要訪問指令時,這將顯示添加和丟失自動補全選項。
errorMsg()是一種顯示錯誤消息的標準化方法
execute(...).一種顯示選項的錯誤消息
extraOptions(...)
以下為上述內容的例子:
-----------------------------------
@Override
public void errorMsg() {
DevConsole.couldNotParse();
DevConsole.log("options are:");
DevConsole.log("* add [amt]");
DevConsole.log("* lose [amt]");
}
-----------------------------------
注意,這個方法必須在執行過程中被專門調用。
註冊你的指令
在你的mod主文件中的receivePostInitialize中,調用下面的靜態方法:
-----------------------------------
public void receivePostInitialize() {
...
ConsoleCommand.addCommand("yourphrasehere", YourCommand.class);
...
}
-----------------------------------
這裡使用的關鍵字只能包含字母和冒號。 如果關鍵字已經被佔用或無效, basemod將不會註冊你的指令,並在basemod日誌窗口中打印錯誤信息,但它不會讓遊戲崩潰。
#殺戮尖塔# #mod# #翻譯#