ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
■ 你能为这个项目给予的最大的帮助就是你的精神支持与友善的言语。这将会是让我们继续在这项目上努力和投入时间的动力。帮助我们在整体方面上做某些事情可能很困难,因为很多工作需要较为高深的编程知识,但如果你愿意的话,每个人都可以在许多方面提供帮助。你的帮助将为我们在开发上腾出时间。 **** [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),看看本地化会是什么样子的。 *** ![](https://img.kancloud.cn/24/a4/24a4a897dde0323cd81f74b304a9a703_724x638.png) *** ■ 除了手动翻译更新外,还有一个更高级的版本 - [Crowdin](https://dragonsurvivalteam.crowdin.com/dragonsurvival)。你需要先注册一个账户,然后就可以更方便地以标准的格式填写你的翻译。 *** ![](https://img.kancloud.cn/8d/2d/8d2d5e16f6b94164669a4a3a333c8d67_1346x676.png) *** # ● 创建新表情 ■ 需要:一个文本编辑器,[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) *** ![](https://img.kancloud.cn/59/df/59df15ddbda425cacd3dd70848755ff6_1249x676.png) *** ■ 游戏中常见的设置有: 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**\- 声音修改器,以使其更微妙或更粗犷 *** ![](https://img.kancloud.cn/b6/8f/b68f90121785f91d8738107328e6c42d_411x426.png) *** ■ 要公开您的表情,请将其发送给我,如果正确无误,我将在下一个补丁中添加。 *** ![](https://img.kancloud.cn/86/9a/869a29d98556b3fec5e1f70137786c19_1765x720.png) *** # ● 更多妆饰龙形的自定义选项 ■ 需要:一个文本编辑器、[Blockbench](https://www.blockbench.net/)、一个图形编辑器。 ■ 您可以扩展**妆饰龙形**的范围。遵循以下规则进行扩展: 1. **独特性**——每个龙物种都有自己独特的纹理集,您不应剥夺它们的独特性。 2. **背景故事**——根据背景故事,海洋龙有不同颜色的眼睛,森林龙是由植物构成的,洞穴龙是由岩石构成的。不要改变这些细节。 3. **仔细检查**——仔细检查透明像素。一定要使用100%透明度的笔刷绘制。 4. **分离**——您不需要将角连接到身体或将脊连接到刺上。任何细节都必须精确地分好类。 5. **标题**——查看其他部分的命名,并设置正确的编号。每个部分都应有一个本地化关键字(如果您不知道如何创建,我可以帮你创建)。 6. **额外**——请遵循创建皮肤的相同规则。 *** ![](https://img.kancloud.cn/07/9e/079e988d3c2b27c93baa9a9c08b7b916_1247x676.png) *** ■ 如何制作新的龙部位: 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)。您需要正确注册新纹理,但如果您不擅长此操作,只想绘制纹理,请将准备好的纹理发送给开发者,我将自行添加。 ![](https://img.kancloud.cn/8b/67/8b67dd4106284ba7be308c41d311b2a1_578x676.png) # ● 盔甲兼容 ■ 需要:[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. 检查。 *** ![](https://img.kancloud.cn/1f/d1/1fd1b4cdfdad7704d3ffbdd2e3724f10_977x722.png) *** ■ "_材质怎样才能被官方收录?_" 联系BlackAures#7759。符合下列要求的就会被收录。 * 质量高 * 原创样式 *** ![](https://img.kancloud.cn/8c/1b/8c1b7e5476c4deedf0b44cd6ce10f9b5_1440x337.png) *** # ● 其他兼容性 ■ 需要一个文本编辑器。 ■ 主要原则: * 只接受**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"); ``` *** ![](https://img.kancloud.cn/f4/ce/f4ceb9e46f9c39580bc9f9c48e24ef47_794x468.png) ***