■ 你能為這個項目給予的最大的幫助就是你的精神支持與友善的言語。這將會是讓我們繼續在這項目上努力和投入時間的動力。幫助我們在整體方面上做某些事情可能很困難,因為很多工作需要較為高深的編程知識,但如果你愿意的話,每個人都可以在許多方面提供幫助。你的幫助將為我們在開發上騰出時間。
****
[TOC]
*****
# ● 常規協助
* **翻譯**模組
* 撰寫評論,教程,文章補充或創作同人繪畫以及其它內容。
* 我們收到了很多玩家的**問題**,其中有90%的問題是重復的。如果你讀過開發者日志、維基和Discord,或者對問題有答案,請幫助我們向他們解惑。
* 幫忙**測試模組**。 如果沒人測試,我們將無從得知模組里潛在的漏洞,你可以將與漏洞有關的日志發送到[這里](https://github.com/DragonSurvivalTeam/DragonSurvival/issues).
* 經濟支持 - [Patreon](https://www.patreon.com/blackaures)和[Boosty](https://boosty.to/black_aures).
# ● 藝術
■ **動畫**(GeckoLib + BlockBench)
- 龍的新表情
- 在不修改模型的前提下創作新的身體種類
■ **紋理**
- 更多裝飾龍形的部位
- 更多可替換的盔甲樣式
- 更多的門或者祭壇
# ● 編程
■ 目前,我們沒有程序員,"代碼 "是由藝術家處理的。如果你有任何想法和建議,你可以在這里發送提交,并詳細說明你想要添加的內容。我將非常感謝你幫助我們修復錯誤和增加新的功能,這些功能列在 [Trello](https://trello.com/b/TkWoD0V3) 和 [Issues](https://github.com/DragonSurvivalTeam/DragonSurvival/issues) 上了。
■ 移植 - 在私人聊天中詢問,因為該模組的許可證不允許任何未經所有者許可的復制或移植。
# ● 本地化
■ 需要一個文本編輯器。而不需要 [Crowdin](https://dragonsurvivalteam.crowdin.com/dragonsurvival)。
■ **正在維護的主要語言**:俄語。英語的更新較差,可能有不準確的地方,但你可以用它來做為翻譯的基礎。如果你有意愿幫助將龍之生存翻譯成你的母語,歡迎你的參與~
在[這里](https://github.com/DragonSurvivalTeam/DragonSurvival/tree/v1.18.x/src/main/resources/assets/dragonsurvival/lang)查看目前已翻譯的語言。
■ 謹記,我們正在不斷地更新模組,因此本地化也需要不斷地更新。我們不希望使用自動翻譯,因為這會導致大量的錯別字。如果能在這方面提供幫助,我們將不勝感激!如果你發現現有的翻譯內容有些問題,照著如上方法去更改。。如果一個翻譯很長時間沒有更新,我們會把它標記為不符合,并把它禁用。
1. **下載**這一[文件夾](https://github.com/DragonSurvivalTeam/DragonSurvival/tree/v1.16.x/src/main/resources/assets/dragonsurvival/lang)中的任一語言文件。我們建議你以英語或俄語的語言文件為樣著手翻譯,這兩種語言是該模組的官方語言。
2. 使用可以修改文本文檔的程序(如[NotePad3](https://www.rizonesoft.com/downloads/notepad3/))打開語言文件并修改被括號括住的內容。
3. **重命名**文件成你本地化語言的代碼,你可以在[Minecraft Wiki](https://minecraft.fandom.com/wiki/Language)找到各種語言的代碼。
4. 注1:不要接觸--food--。
5. 注2:不要使用任何字符,如 "或'。
6. 注3:永遠不要忘記每個名字后面的逗號。
7. 你可以使用資源包(assets\\dragonsurvival\\lang\\en\_us.json)來檢查游戲內的翻譯。
8. **保存**之后,就可以直接將文件發送到BlackAures#7759(Discord)。
9. 你可以查看以下一個[例子](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/assets/dragonsurvival/lang/ru_ru.json),看看本地化會是什么樣子的。
***

***
■ 除了手動翻譯更新外,還有一個更高級的版本 - [Crowdin](https://dragonsurvivalteam.crowdin.com/dragonsurvival)。你需要先注冊一個賬戶,然后就可以更方便地以標準的格式填寫你的翻譯。
***

***
# ● 創建新表情
■ 需要:一個文本編輯器,[Blockbench](https://www.blockbench.net/),[Geckolib Plugin](https://www.blockbench.net/plugins/animation_utils)
■ 所有擁有相同資源包的玩家都會看到這些動畫,因為當你運行一個動畫時,其他玩家的電腦會檢查是否有相同名稱的動畫。這需要對*資源包*和*json*有足夠的了解。讓你的想象力飛馳吧!
■ 創建新表情的步驟
1. **動畫**。你首先需要使用BlockBench和Geckolib插件來創建動畫。如果你是一個有經驗的Blockbench用戶,這對你來說不會是一個嚴重的問題,但如果你是一個新用戶,我建議你閱讀[他們的指南](https://www.blockbench.net/wiki/guides/bedrock-modeling#creating-an-animation)。
2. **注冊**。在保存動畫后,你需要在Emotes中注冊它。給它取一個名字(你不必使用本地化鍵,可以直接寫“Sit”而不是“ds.emote.sit”),選擇你在動畫文件中寫的名字,指定是否循環播放以及是否固定脖子。看看其他表情是如何在表情文件中注冊的。
3. **檢查**。制作這兩個文件(dragon.animations.json + emotes.json)的資源包并進入游戲。在情感列表中應該出現你注冊的表情。檢查一下是否正常工作。
4. **分享**。如果一切都正常,那祝賀你干的漂亮!但我先提醒你,這一步是最困難的任務。如果有什么地方出了問題,不要灰心,問我就好^^
■ 表情由兩個文件組成:
* [龍的動畫](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/assets/dragonsurvival/animations/dragon.animations.json) (main\resources\assets\dragonsurvival\animations\dragon.animations.json)
* [表情注冊](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/assets/dragonsurvival/emotes.json) (main\resources\assets\dragonsurvival\emotes.json)
***

***
■ 游戲中常見的設置有:
1. 名稱(name)- 即玩家看到的表情名稱。你可以直接寫“Sit”代替“ds.emote.sit”,因為后者需要本地化。
1. 動畫(animation)-*dragon.animations.json*文件中的動畫名稱
1. 循環(Loop)- 如果為是(true),則可以循環播放。
1. 頭部鎖定(locksHead)- 如果為真,龍頭方向會固定住方向而不會隨視角的旋轉而旋轉。在某些動畫中,頭部旋轉會看上去很奇怪。
1. 第三人稱(thirdPerson)- 如果為真,則禁止從第一人稱視角觀看動畫
1. [requerements] 種類(type)- 能夠使用此動畫的龍的種類
1. [requerements] 生長階段(age)- 能夠使用這個動畫的成長階段
1. 時長(duration)- 動畫/聲音播放時長。如果為空,將使用1倍乘數(標準動畫速度)
1. 混合(blend) - 動畫之間的平滑混合。用于連接兩個動畫。例如tongue + sits。
1. 鏡像(mirror)- (xPos, yPos, zPos)
■ 對**聲音**表情的分類:
1. **(鍵值)key**\- 聲音名稱。如果你創建了自己的聲音,它必須單獨注冊一個代碼。
1. **(間隔)interval**\- 兩次聲音播放的間隔時間
1. **(音量)volume**\- 這個動畫被其他人聽到的聲音有多大。
1. **(音高)pitch**\- 聲音修改器,以使其更微妙或更粗獷
***

***
■ 要公開您的表情,請將其發送給我,如果正確無誤,我將在下一個補丁中添加。
***

***
# ● 更多妝飾龍形的自定義選項
■ 需要:一個文本編輯器、[Blockbench](https://www.blockbench.net/)、一個圖形編輯器。
■ 您可以擴展**妝飾龍形**的范圍。遵循以下規則進行擴展:
1. **獨特性**——每個龍物種都有自己獨特的紋理集,您不應剝奪它們的獨特性。
2. **背景故事**——根據背景故事,海洋龍有不同顏色的眼睛,森林龍是由植物構成的,洞穴龍是由巖石構成的。不要改變這些細節。
3. **仔細檢查**——仔細檢查透明像素。一定要使用100%透明度的筆刷繪制。
4. **分離**——您不需要將角連接到身體或將脊連接到刺上。任何細節都必須精確地分好類。
5. **標題**——查看其他部分的命名,并設置正確的編號。每個部分都應有一個本地化關鍵字(如果您不知道如何創建,我可以幫你創建)。
6. **額外**——請遵循創建皮膚的相同規則。
***

***
■ 如何制作新的龍部位:
1. **創建紋理**。要創建龍部位的紋理,請使用此[模型](https://drive.google.com/file/d/1AU1mRFlEVA7DVdIfSwe-A_qLYHf2lCUZ)。只需像繪制皮膚一樣繪制即可。
2. 將您的紋理保存并重命名為[這里](https://github.com/DragonSurvivalTeam/DragonSurvival/tree/v1.18.x/src/main/resources/assets/dragonsurvival/textures/dragon/custom)。
3. 使用紋理包檢查游戲中的效果(src/main/resources/assets/dragonsurvival/textures/dragon/custom/your\_texture\_name + src/main/resources/assets/dragonsurvival/customization.json)。您需要正確注冊新紋理,但如果您不擅長此操作,只想繪制紋理,請將準備好的紋理發送給開發者,我將自行添加。

# ● 盔甲兼容
■ 需要:[Blockbench](https://www.blockbench.net/),一個圖形編輯器。
■ 你可以在[這里](https://github.com/DragonSurvivalTeam/DragonSurvival/tree/v1.18.x/src/main/resources/assets/dragonsurvival/textures/armor)查看已兼容的盔甲。
* 僅支持1.18.2 - 1.4.30+版本
* 支持飾品欄模組(Curios);
■ 你有能力使用紋理包為其他模組的盔甲創造獨特的外觀。我們可以將你的紋理添加到模組中,或者你可以僅在自己的模組包中使用它。這是一個已完成的紋理包的[示例](https://drive.google.com/file/d/1kBFr7ZmngC64FyW8cvztjqkGgx24uPLL/view?usp=share_link)。對于這個過程,和創建皮膚一樣,需要遵循相同的規則。
1. 假設我們想為Sea Dwellers模組制作一個獨特的盔甲紋理。
2. 創建一個紋理。使用[這個模型](https://drive.google.com/file/d/19v3r8P1A7kYPyh8FHK7168BG8JR7LVSt)為龍創建一個盔甲紋理。
3. 找到你想要添加的盔甲的id。這需要按下F3+H并懸停在物品上。底部會顯示類似"seadwellers:depth\_chestplate"的內容。
4. 創建一個擁有下列文件夾的紋理包壓縮文件: "assets\\dragonsurvival\\textures\\armor\\seadwellers"。或者只需編輯[現成的](https://drive.google.com/file/d/1kBFr7ZmngC64FyW8cvztjqkGgx24uPLL/view?usp=share_link)一個。為此,你需要一個壓縮文件程序(如[7-zip](https://www.7-zip.org/)),以及基本操作的知識。
5. 將你的紋理放入"seadwellers"文件夾中。紋理的命名必須與物品id完全相同("depth\_chestplate.png")。
6. 將紋理包添加到游戲中(在"resourcepacks"文件夾中)。
7. 在游戲設置中選擇加載你的紋理包。
8. 檢查。
***

***
■ "_材質怎樣才能被官方收錄?_" 聯系BlackAures#7759。符合下列要求的就會被收錄。
* 質量高
* 原創樣式
***

***
# ● 其他兼容性
■ 需要一個文本編輯器。
■ 主要原則:
* 只接受**id**。你只能提供id,不能像“這是XX模組,它有一些我記不起叫什么的但反正有這個模組~~啊對對對~~”的描述。如果在游戲中開啟高級提示(F3+H),你可以找到該物品的id。在庫存中指向該物品并記錄下該id。例如:“abnormals\_delight:cooked\_perch\_slice”,“simplefarming:sushi”。
* **邏輯**。任何提供的物品或單位都必須符合龍的整體概念,而不僅僅是“我想讓海龍像我一樣吃炸雞”的想法。任何想法都必須與原始模組的故事背景相一致。
* **設計**。除了id之外,你還需要遵循通用布局,每個部分都列出了一個示例。這將使我添加它變得更加容易。
* **不要重復**。查看附帶的鏈接列表,以避免重復已經存在的物品。
* **帖子**。最好將您的答案發送到[這個Discord帖子](https://ptb.discord.com/channels/486465167572336641/727051914872619048/1062156080194539600)中。
***
### 1. **洞穴龍的碳焦食物種類**
■ 這些是可以準確歸類的已烹制食品。如果菜譜中同時混合了蔬菜和肉類,最好不要使用它們,但你仍然可以提出建議,只需指明該菜譜使用了多種成分。例如:
```java
{
"id": "prehistoricfauna:cooked_large_synapsid_meat",
"required": false
},
{
"id": "nocubes_better_frogs:cooked_frog_leg",
"required": false
}
```
- [cooked_meats](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/data/dragonsurvival/tags/items/cooked_meats.json)
- [cooked_mushrooms](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/data/dragonsurvival/tags/items/cooked_mushrooms.json)
- [cooked_seafood](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/data/dragonsurvival/tags/items/cooked_seafood.json)
- [cooked_vegetables](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/data/dragonsurvival/tags/items/cooked_vegetables.json)
***
### 2. **讓龍在某些方塊上提速移動**
■ 這基本上是自動處理的功能,檢查方塊是否適用就可以應用加速效果。但如果由于某種邏輯,方塊對于龍不起作用,你可以進行修改。例如:
- **洞穴龍**
```java
caveSpeedupBlocks = List.of("minecraft:base_stone_nether", "minecraft:base_stone_overworld", "minecraft:stone_bricks", "minecraft:beacon_base_blocks", "forge:cobblestone", "forge:sandstone", "forge:stone", "forge:ores", "quark:deepslate", "quark:deepslate_bricks", "quark:cobbled_deepslate");
```
- **森林龍**
```java
forestSpeedupBlocks = List.of("minecraft:logs", "minecraft:leaves", "minecraft:planks", "forge:dirt", "minecraft:grass", "minecraft:dirt", "minecraft:wooden_slab");
```
- **海洋龍**
```java
seaSpeedupBlocks = List.of("minecraft:ice", "minecraft:impermeable", "minecraft:sand", "minecraft:coral_blocks", "forge:sand", "minecraft:dirt_path", "minecraft:sandstone", "minecraft:cut_sandstone", "minecraft:chiseled_sandstone", "minecraft:smooth_sandstone", "minecraft:red_sandstone", "minecraft:cut_red_sandstone", "minecraft:chiseled_red_sandstone", "minecraft:smooth_red_sandstone", "minecraft:water");
```
***
### 3. **物品黑名單**
■ 為了與人類保持平衡性,龍不能使用任何遠程武器(弩、弓等)和盾牌。該物品會從庫存中掉落。
```java
blacklistedItems = List.of("minecraft:bow", "spartanshields:shield_basic_nickel", "spartanshields:shield_basic_invar", "spartanshields:shield_basic_constantan", "spartanshields:shield_basic_platinum", "spartanshields:shield_mekanism_refined_glowstone", "spartanshields:shield_tower_wood", "spartanshields:shield_tower_stone", "spartanshields:shield_tower_iron")
```
***
### 4. **添加皇家追逐狀態效果給予者**
■ 攻擊哪些生物時,玩家會獲得皇家追逐(惡龍)狀態?
```java
royalChaseStatusGivers = List.of("minecraft:villager", "minecraft:iron_golem", "dragonsurvival:hunter_hound", "dragonsurvival:knight", "dragonsurvival:shooter", "dragonsurvival:squire", "dragonsurvival:prince", "dragonsurvival:princess", "dragonsurvival:princess_entity");
```
***
### 5. **獵人目標**
■ [誰](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/resources/data/dragonsurvival/tags/entity_types/hunters_goal.json)會被龍獵者在通常情況下攻擊。
```java
"minecraft:evoker", "minecraft:pillager", "minecraft:vindicator", "minecraft:stray", "minecraft:skeleton", "minecraft:spider", "minecraft:cave_spider"
```
***
### 6. **龍的飲食**
■ 如需了解更多信息,請[在這里](https://github.com/DragonSurvivalTeam/DragonSurvival/blob/v1.18.x/src/main/java/by/dragonsurvivalteam/dragonsurvival/common/handlers/DragonFoodHandler.java#L72)查看完整的食物清單。
- **洞穴龍食物**
```java
caveDragonFoods = Arrays.asList("minecraft:coals:1:1", "minecraft:charcoal:1:2", "dragonsurvival:charged_coal:6:1", "dragonsurvival:charred_meat:8:10", "dragonsurvival:cave_dragon_treat:4:8", "dragonsurvival:charred_seafood:7:11", "dragonsurvival:charred_vegetable:8:9", "dragonsurvival:charred_mushroom:9:9", "dragonsurvival:charged_soup:15:15")
```
- **海洋龍食物**
```java
seaDragonFoods = Arrays.asList("forge:raw_fishes:6:4", "minecraft:kelp:1:1", "minecraft:pufferfish:8:8", "dragonsurvival:sea_dragon_treat:4:8", "dragonsurvival:seasoned_fish:12:10", "dragonsurvival:golden_coral_pufferfish:12:14", "dragonsurvival:frozen_raw_fish:2:1", "dragonsurvival:golden_turtle_egg:15:12", "aoa3:raw_candlefish:9:9", "aoa3:raw_crimson_skipper:8:8", "aoa3:raw_fingerfish:4:4", "aoa3:raw_pearl_stripefish:5:4", "aoa3:raw_limefish:5:5", "aoa3:raw_sailback:6:5", "netherdepthsupgrade:soulsucker:6:7")
```
- **森林龍食物**
```java
forestDragonFoods = Arrays.asList("forge:raw_meats:4:4", "minecraft:sweet_berries:1:1", "minecraft:rotten_flesh:2:4", "minecraft:spider_eye:6:8", "minecraft:rabbit:7:8", "minecraft:poisonous_potato:7:8", "minecraft:chorus_fruit:9:8", "minecraft:honey_bottle:1:2", "dragonsurvival:forest_dragon_treat:4:8", "dragonsurvival:meat_chorus_mix:12:8")
```
***
### 7. **海洋龍補水**
■ 當海龍站在濕潤的方塊上時,它會補充水分。
- **用以補水的方塊**
```java
seaHydrationBlocks = List.of("minecraft:ice", "minecraft:snow", "minecraft:powder_snow","minecraft:snow_block", "dragonsurvival:sea_source_of_magic", "immersive_weathering:thin_ice", "immersive_weathering:cryosol", "immersive_weathering:permafrost", "immersive_weathering:frosty_grass", "immersive_weathering:frosty_fern", "ecologics:thin_ice"
```
- 可用于補水的物品(除水瓶外)
```java
seaAdditionalWaterUseables = List.of("immersive_weathering:icicle");
```
***

***