Advent of Ascension Wiki

1.7.10版本的玩家请注意,本Mod的1.7.10版本在此wiki上正式停止支持。这也意味着,在绝大多数页面上,关于1.7.10版本的内容会被移除。如果您需要关于1.7.10版本的信息,您可以尝试翻阅相应页面在2019年2月之前的历史版本(点击页面右上角的“历史”标签可以查看所有历史版本)
如果您希望评论、询问相关信息,或是表达自己的顾虑,请至官方Discord服务器或移步社区主页

READ MORE

Advent of Ascension Wiki
Advertisement

虛無世界為希望向AoA添加集成或創建附屬mod的開發人員提供了開放的可訪問性。

資訊[]

雖然虛無世界並不是開源的,但它確實支援第三方插件,並允許開發人員瀏覽大部分原始碼來幫助實現這一點。本頁將詳細說明與AoA集成或製作附屬mod的要求。

免責聲明[]

本頁不是關於mod開發的教程,在使用以下資訊之前,您應該知道如何設定forge開發環境來創建mod。

下載資源庫[]

為了有效地創建一個附屬mod或集成,您需要將它添加到您的開發環境中。 為此,您需要編輯repositories進入你的build.gradle 檔案添加至AoA存儲庫

如果你還沒有一個存儲庫添加至build.gradle,你需要創建一個。

Build.gradle layout.

從這裏,將以下行添加到存儲庫部分:

    maven {
        url "https://dl.bintray.com/tslat/aoa3"
    }

完成後,創建一個libs檔案夾在你的項目目錄中,並從Curseforge中放入你的AoA.jar檔案夾(你用來遊玩AoA的那個。) 然後,在dependencies部分,添加以下行代碼:

    compileOnly ("net.tslat.aoa3:aoa3:<version>") {transitive = false} // This allows you to browse/integrate AoA code
    runtime files("./libs/<jarname>") // This adds the mod to your runtime when debugging/testing

Replacing:

  • <version>你為之開發的AoA版本-E.G。net.tslat.aoa3:aoa3:3.3
  • <jarname>在libs檔案夾中使用jarfile的名稱。AoA3-3.3.jar

當它生成,gradle將會被編輯,重新運行setupDecompWorkspace任務在gradle中,然後通過gradle刷新你的項目。

關鍵類[]

下面是一些開發人員可能感興趣或發現有用的關鍵類。

  • PlayerUtil -一個實用類,包含各種有用的方法來與AoA的玩家數據交互,比如技能和資源。
  • EntityUtil -一個實用類,包含與AoA生物交互的各種有用方法。包含生物傷害免疫類型、造成的傷害類型等。
  • PlayerDataManager -一個容器抓住AoA玩家的數據獲取有用的資訊。您可以通過PlayerUtil\getAdventPlayer()獲取玩家容器。容器只存在於伺服器上,而不存在於客戶端上。
  • ConfigurationUtil -包含AoA的所有配置選項。
  • AoAMeleeMob, AoARangedMob, AoAFlyingMeleeMob, AoAFlyingRangedMob, AoAAnimal -幾乎所有AoA生物的基礎。
  • AoAAmbientNPC, AoATrader -AoA的NPC實體的基礎。
  • Enums -幾乎所有AoA枚舉類型的holder類。這些枚舉用於整個mod的各種方法中。
  • ArmourRegister -包含物品註冊後AoA所有裝甲物品的參考。
  • BlockRegister -包含方塊註冊後對所有AoA塊的參考。
  • ItemRegister -包含對物品註冊後所有AoA物品的參考。
  • CreativeTabsRegister - 包含對AoA的所有創造物品欄的參考,用於將物品放置在創造模式菜單中。
  • EnchantmentsRegister -包含對所有AoA附魔的參考。
  • MaterialsRegister -包含所有AoA的工具,劍,和盔甲材料註冊後的參考。
  • SoundsRegister -包含音效註冊後對AoA所有聲音的參考。
  • ToolRegister -包含物品註冊後對AoA所有工具的參考。
  • WeaponRegister -包含在物品註冊後對AoA所有武器的參考。
  • SpecialHarvestTool -一個接口,它將HarvestDropsEvents傳遞給實現它的任何類,用於自訂交互。
  • BaseArchergun -所有AoA的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseBlaster -所有AoA爆能槍的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseBow -所有AoA的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseCannon -所有AoA加農炮的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseGreatblade -所有巨型兵器的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseGun -所有AoA槍械的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseMaul -所有AoA榔槌的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseShotgun -所有AoA霰彈槍的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseSniper -所有AoA狙擊槍的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseStaff -所有AoA法杖的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseSword -所有AoA的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseThrownWeapon -所有AoA投擲型武器的基礎。包含用於物品統計和效果的所有參考方法。
  • BaseVulcane -所有AoA濁流之杖的基礎。包含用於物品統計和效果的所有參考方法。

模組的顯示功能(IMC)[]

虛無世界提供了幾個IMC功能,可以快速選擇集成。有關可用功能及其用途,請參見下文。

添加自訂指南[]

IMC關鍵詞:mod_provides_guides

資訊類型:Any

用法:

獲取發送模組的Mod ID並將其註冊為指南提供程式。 Guides txt檔案應該被存放在mod的assets/<modid>/lang/aoa3/guides/目錄當中

處理箴言集條目[]

IMC關鍵詞:mod_handles_bestiaries

資訊類型:Function

用法:

從訊息中獲取一個函數Function<EntityLivingBase, Tuple<List<String>, String>>參數,並在從Mod ID為任何實體打開箴言集條目時使用該參數。 元組的預期格式是第一個是字符串格式的stat行列表,第二個是可選的bestiary lore/description條目。

處理箴言集資訊[]

IMC關鍵詞:mod_has_bestiary_entries

資訊類型:Any

用法:

獲取發送Mod的Mod ID並將其註冊為箴言集資訊提供者。Bestiary txt檔案應該被存放在mod的assets/<modid>/lang/aoa3/bestiary/目錄下。

添加自訂的Advent Gui主題[]

IMC關鍵詞:add_advent_gui_theme

資訊類型:Function

用法:

從訊息中獲取一個函數Function<String, String>參數,並從中獲取幾個可選的數據片段來註冊一個新的Advent Gui主題。

函數參數:

  • "name" -返回主題的格式化名稱,顯示在主題的按鈕選擇器上。
  • "background" -(可選)主題背景材質的檔案路徑。E.G. 材質路徑:"textures/gui/maingui/themes/default/background.png"
  • "buttons" -(可選)主題按鈕材質的檔案路徑。E.G. 材質路徑:"textures/gui/maingui/themes/default/buttons.png"
  • "overlay" -(可選)主題覆蓋材質的檔案路徑。E.G. 材質路徑:"textures/gui/maingui/themes/default/overlay.png"

註冊狩獵實體[]

IMC關鍵詞:register_hunter_entity

資訊類型:String

用法:

從訊息中獲取一個String參數,並對其進行解析以將實體註冊為狩獵實體。

字符串的預期格式為:"<EntityID> lvl:<HunterLevel> xp:<XP>" - E.G. "aoa3:cyclops lvl:10 xp:50.5"

阻止生物掉落生命之石[]

IMC關鍵詞:blacklist_heartstone_entity

資訊類型:String

用法:

從訊息中獲取一個String參數,並將其解析為從掉落生命之石的生物ID中黑名單。

字符串的預期格式為:"<EntityID>" - E.G. "aoa3:cyclops"

阻止生物生成嗜血晶體[]

IMC關鍵詞:blacklist_bloodlust_entity

資訊類型:String

用法:

從訊息中獲取一個String參數,並將其解析為從生成嗜血晶體的生物ID黑名單。

字符串的預期格式為:"<EntityID>" - E.G. "aoa3:cyclops"

類別:語法突出顯示錯誤的頁面

Advertisement