diff --git a/Docs/TODO.md b/Docs/TODO.md index 2efdb9a..1c743fd 100644 --- a/Docs/TODO.md +++ b/Docs/TODO.md @@ -1,24 +1,8 @@ ## 计划 - -#### 特性修复 - -- 黄金微波炉内有物品时被打掉,物品不会掉落; -- 恢复妖精女仆的单点发射 - -#### 适配1.21.0 - -- 为驯服函数 `.tame(Player)` 补充参数; -- Player.selectedSlot 改为 Player.selectedSlotIndex; -- dimension.fillBlocks(Vector, Vector, bl) 改为 dimension.fillBlocks(BlockVolume, bl) - -#### 功能调整 - -- 女仆被驯服或重新部署时,不再需要走到主人附近 -- 使用祭坛复活的女仆不再需要重新驯服,复活时原主人必须在线 - - +- 更新默认包女仆模型 +- 女仆背包内物品进入箱子的方式。九宫格存在绑定问题,不太好实现;隙间容易做,但是需要增加饰品功能。 庭灯:可以存储P点、为附近的女仆提供buff,打掉之后P点会以lore的形式存储在物品之中(需要测试lore中是否能包含translate文本) 御币改为长按连发 * 扫帚,玩家坐上去之后视角向上按前进就可以飞,参考minecar的飞行矿车。 @@ -43,7 +27,6 @@ blockbench插件 在动画解析过程中,一个或多个bone对应一个name,name的作用是 - - 手办底座 需要修改模型,待动画适配完成后添加 - 手办/雕塑的转向动画无法取消,适配动画后可以利用root骨骼进行旋转 - 适配语音包 @@ -61,7 +44,6 @@ blockbench插件 - 饰品 *回血数字 -*女仆背包内物品进入箱子的方式。九宫格存在绑定问题,不太好实现;隙间容易做,但是需要增加饰品功能。 *相册(lore的上限是64行,目前一张照片有2行,如果女仆名字长一些则会更多。容量设计为16) *黄金微波炉的音效 *弹幕的架构设计存在缺陷,不能很好地同时处理默认弹幕与自定义弹幕。考虑为 默认弹幕 和 自定义弹幕 的实体专门建类,发射时根据类型用它们来构造实体,然后用相同的方法发射。 diff --git a/TouHouLittleMaid_BP/entities/maid/maid.jsonc b/TouHouLittleMaid_BP/entities/maid/maid.jsonc index bcc9ab0..cd64720 100644 --- a/TouHouLittleMaid_BP/entities/maid/maid.jsonc +++ b/TouHouLittleMaid_BP/entities/maid/maid.jsonc @@ -24,8 +24,15 @@ } }, "component_groups": { - "despawn":{ - "minecraft:instant_despawn":{ "remove_child_entities": false } + "despawn":{ "minecraft:instant_despawn":{ "remove_child_entities": false } }, + "init_failed": { + "minecraft:ageable": { + "duration": 2, + "grow_up": { + "event": "init_failed", + "target": "self" + } + } }, ///////// 女仆属性 ///////// ///// 基础属性 ///// @@ -62,7 +69,7 @@ }, ///// 基础属性 ///// "minecraft:nameable" : { "always_show": false, "allow_name_tag_renaming": false }, - "minecraft:health" : { "value": 40, "max": 40 }, + "minecraft:health" : { "value": 64, "max": 64 }, "minecraft:type_family" : { "family": [ "maid", "mob" ] }, "minecraft:collision_box": { "width": 0.6, "height": 1.5 }, "minecraft:loot" : { "table": "loot_tables/empty.json" }, @@ -877,9 +884,8 @@ }, "events": { ///// 基础事件 ///// - "minecraft:entity_spawned": { - "trigger": "thlmm:0" - }, + "minecraft:entity_spawned": { "trigger": "thlmm:0" }, + "init_failed":{ "queue_command": {"command":"function touhou_little_maid/not_support"} }, "become_maid":{ "add": { "component_groups": [ @@ -1077,7 +1083,7 @@ "remove": { "component_groups": [ "mode:danmaku_attack_sit" ] } } ] }, - "thlmm:0" :{}, // Spawn + "thlmm:0" :{ "add": { "component_groups": [ "init_failed" ] } }, // Spawn "thlmm:1" :{}, // smart slab "thlm:n": {}, // npc交互 @@ -1088,6 +1094,8 @@ "thlmb:t3": {}, //////// 脚本接口 //////// + //// 初始化成功 //// + "api:init_success":{ "remove": { "component_groups": [ "init_failed" ] } }, //// 跟随类型 //// "api:status_follow" :{ "sequence": [ diff --git a/TouHouLittleMaid_BP/functions/touhou_little_maid/not_support.mcfunction b/TouHouLittleMaid_BP/functions/touhou_little_maid/not_support.mcfunction new file mode 100644 index 0000000..e42ca63 --- /dev/null +++ b/TouHouLittleMaid_BP/functions/touhou_little_maid/not_support.mcfunction @@ -0,0 +1,4 @@ +tellraw @a {"rawtext":[{"text": "\n"}, {"translate":"message.tlm.not_support_1"}]} +tellraw @a {"rawtext":[{"translate":"message.tlm.not_support_2"}]} +tellraw @a {"rawtext":[{"translate":"message.tlm.not_support_3_1"}, {"translate":"message.tlm.mc_version"}, {"translate":"message.tlm.not_support_3_2"}, {"text": "\n\n"}]} +event entity @s despawn \ No newline at end of file diff --git a/TouHouLittleMaid_BP/manifest.json b/TouHouLittleMaid_BP/manifest.json index a174f92..893f256 100644 --- a/TouHouLittleMaid_BP/manifest.json +++ b/TouHouLittleMaid_BP/manifest.json @@ -4,7 +4,7 @@ "name": "TouHou Little Maid BE", "uuid": "fed26523-2c16-4560-9076-aff6ad49a1e3", "version": [ 1, 3, 0 ], - "description": "Author: ENIAC_Jushi", + "description": "Version: 1.3.0 (For Minecraft 1.21.x) \nAuthor: ENIAC_Jushi", "min_engine_version": [ 1, 20, 30 ] }, "modules": [ diff --git a/TouHouLittleMaid_BP/scripts/src/maid/EntityMaid.js b/TouHouLittleMaid_BP/scripts/src/maid/EntityMaid.js index fd7b36a..6baf300 100644 --- a/TouHouLittleMaid_BP/scripts/src/maid/EntityMaid.js +++ b/TouHouLittleMaid_BP/scripts/src/maid/EntityMaid.js @@ -1170,6 +1170,7 @@ export class EntityMaid{ },1); } maid.setDynamicProperty("spawn_set", true); + maid.triggerEvent("api:init_success"); } /// 字符化 /** diff --git a/TouHouLittleMaid_BP/scripts/src/maid/MaidManager.js b/TouHouLittleMaid_BP/scripts/src/maid/MaidManager.js index 457eece..a75fc1a 100644 --- a/TouHouLittleMaid_BP/scripts/src/maid/MaidManager.js +++ b/TouHouLittleMaid_BP/scripts/src/maid/MaidManager.js @@ -39,7 +39,6 @@ export class MaidManager{ */ static onSpawnEvent(event){ let maid = event.entity; - EntityMaid.init_maid(maid); } /** diff --git a/TouHouLittleMaid_RP/manifest.json b/TouHouLittleMaid_RP/manifest.json index c4723e4..ac96799 100644 --- a/TouHouLittleMaid_RP/manifest.json +++ b/TouHouLittleMaid_RP/manifest.json @@ -2,7 +2,7 @@ "format_version": 2, "header": { "name": "TouHou Little Maid BE", - "description": "Author: ENIAC_Jushi", + "description": "Version: 1.3.0 (For Minecraft 1.21.x) \nAuthor: ENIAC_Jushi", "uuid": "919b50d9-d6ab-40bb-828d-9e2f40f664a5", "version": [ 1, 3, 0 ], "min_engine_version": [ 1, 20, 30 ] diff --git a/TouHouLittleMaid_RP/texts/zh_CN.lang b/TouHouLittleMaid_RP/texts/zh_CN.lang index 28eb754..048d111 100644 --- a/TouHouLittleMaid_RP/texts/zh_CN.lang +++ b/TouHouLittleMaid_RP/texts/zh_CN.lang @@ -1,6 +1,13 @@ message.tlm.player_join1=§e[TLM] 车万女仆 1.3.0 +message.tlm.mc_version=1.21.0x message.tlm.player_join2=§e 访问 mcmod.cn 获取全部教程。 +message.tlm.not_support_1=如果你看到了这条信息, 说明模组没有正常运行。 请尝试以下解决方案: + +message.tlm.not_support_2= 1. 打开全部的实验性玩法; + +message.tlm.not_support_3_1= 2. 检查Minecraft的版本, 当前模组支持的版本是 §e +message.tlm.not_support_3_2= §f, 若不支持则前往下载页选择合适版本下载。 ##### UI ##### gui.touhou_little_maid.author.name=作者: