Skip to content

Commit

Permalink
修改4处地方
Browse files Browse the repository at this point in the history
1.支持命令添加方块翻译
2.添加音符盒盒堆肥桶属性
3.修复翻译错误问题
4.修改README.md.tooth.json,manifest.json文件
  • Loading branch information
zimuya4153 committed Jun 2, 2024
1 parent dbb3eed commit 8d1fbaa
Show file tree
Hide file tree
Showing 9 changed files with 69 additions and 95 deletions.
58 changes: 0 additions & 58 deletions .github/workflows/release-package.yml

This file was deleted.

12 changes: 10 additions & 2 deletions Config.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,14 @@ module.exports = {
Conditions: (_Player, _PlayerConfig, Block) => Block.type === 'minecraft:mob_spawner' && ![null, ''].includes(Block?.getBlockEntity()?.getNbt()?.getData('EntityIdentifier')),
Text: (Player, _PlayerConfig, Block) => '\n' + I18nAPI.get(`plugins.Waila.block.mob_spawner`, [Block?.getBlockEntity().getNbt().getData('EntityIdentifier')], Player.langCode)
},
{// 音符盒
Conditions: (_Player, _PlayerConfig, Block) => Block.type === 'minecraft:noteblock',
Text: (Player, _PlayerConfig, Block) => '\n' + I18nAPI.get(`plugins.Waila.block.noteblock`, [Block?.getBlockEntity().getNbt().getData('note').toString()], Player.langCode)
},
{// 音符盒
Conditions: (_Player, _PlayerConfig, Block) => Block.type === 'minecraft:composter',
Text: (Player, _PlayerConfig, Block) => '\n' + I18nAPI.get(`plugins.Waila.block.composter`, [Block?.getNbt()?.getTag('states')?.getData('composter_fill_level')?.toString()], Player.langCode)
},
{// 信标
Conditions: (_Player, _PlayerConfig, Block) => Block.type === 'minecraft:beacon' && ![0, null].includes(Block?.getBlockEntity()?.getNbt()?.getData('primary')),
Text: (Player, _PlayerConfig, Block) => {
Expand Down Expand Up @@ -145,9 +153,9 @@ module.exports = {
Color: 0,
/** 进度值 @type {Number} */
Percent: 100,
/** 默认文本 @type {String} */
DefaultText: "\n\n&plugins.Waila.get.error&",
},
/** 默认文本 @type {String} */
DefaultText: "\n\n&plugins.Waila.get.error&",
/** 刷新时间(秒) @type {Number} */
Hz: 0.1,
/** 查找最大距离 @type {Number} */
Expand Down
13 changes: 9 additions & 4 deletions Language/zh_CN.lang
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
## 玩家设置翻译
## 命令翻译
plugins.Waila.command.description=§b高亮显示设置 §7- §dby 小小的子沐呀
plugins.Waila.command.translators.error=§c目标方块 §a%s §c已有翻译→ §e%s
plugins.Waila.command.translators.succes=§e目标方块 §b%s §e已翻译成 §6%s
plugins.Waila.command.language.error=§c语言 §a%s §c不存在
plugins.Waila.gui.title=§e高亮显示设置
plugins.Waila.gui.cancel=§8已取消设置
plugins.Waila.gui.succes=§g设置成功
Expand All @@ -20,6 +23,8 @@ plugins.Waila.block.cake.status=§3蛋糕状态:§c%s/7
plugins.Waila.block.chest.size=§b容量:§a%s/%s
plugins.Waila.block.jukebox=§8播放唱片 §c%s
plugins.Waila.block.beacon=§7选择效果:§5%s
plugins.Waila.block.noteblock=§c音阶§6:§d%s
plugins.Waila.block.composter=§b堆肥量§a:§e%s/8
plugins.Waila.block.mob_spawner=§d生成怪物:§a%s
plugins.Waila.block.commandblock.command=§d命令:§a%s
plugins.Waila.block.flower_pot=§d种植的花§b:%s
Expand Down Expand Up @@ -54,7 +59,6 @@ tile.darkoak_wall_sign.name=深色橡木告示牌
tile.mangrove_wall_sign.name=红树木告示牌
tile.cherry_wall_sign.name=樱花木告示牌
tile.bamboo_wall_sign.name=竹制告示牌
tile.obsidian.name=绯红木告示牌
tile.warped_wall_sign.name=诡异木告示牌
tile.oak_hanging_sign.name=橡木悬挂告示牌
tile.spruce_hanging_sign.name=云杉木悬挂告示牌
Expand All @@ -65,7 +69,6 @@ tile.dark_oak_hanging_sign.name=深色橡木悬挂告示牌
tile.mangrove_hanging_sign.name=红树木悬挂告示牌
tile.cherry_hanging_sign.name=樱花木悬挂告示牌
tile.bamboo_hanging_sign.name=竹制悬挂告示牌
tile.crimson_hanging_sign.name=绯红木悬挂告示牌
tile.warped_hanging_sign.name=翘曲悬挂告示牌
tile.lit_redstone_ore.name=发光的红石矿石
tile.lit_deepslate_redstone_ore.name=发光的深层红石矿石
Expand All @@ -90,4 +93,6 @@ tile.warped_door.name=诡异门
tile.lit_redstone_lamp.name=发光的红石灯
tile.frame.name=物品展示框
tile.skull.name=头颅
tile.flower_pot.name=花盆
tile.flower_pot.name=花盆
tile.end_portal.name=末地传送门
tile.end_gateway.name=末地折跃门方块
31 changes: 20 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
Waila 是一个 LSE 高亮显示插件,他集成了许多原版信息的具体化显示,可以更好的方便玩家对方块或生物的信息进行查看

## 图骗展示

<details>
<summary>展开</summary>
<img src="https://github.com/zimuya4153/LSE_Waila/blob/main/image/image_1.png?raw=true" alt="基础演示">
Expand All @@ -25,6 +26,8 @@ Waila 是一个 LSE 高亮显示插件,他集成了许多原版信息的具体
<img src="https://github.com/zimuya4153/LSE_Waila/blob/main/image/image_16.png?raw=true" alt="下落方块的实际方块">
<img src="https://github.com/zimuya4153/LSE_Waila/blob/main/image/image_17.png?raw=true" alt="TNT剩余爆炸时间">
<img src="https://github.com/zimuya4153/LSE_Waila/blob/main/image/image_18.png?raw=true" alt="村民交易">
<img src="https://github.com/zimuya4153/LSE_Waila/blob/main/image/image_19.png?raw=true" alt="音符盒">
<img src="https://github.com/zimuya4153/LSE_Waila/blob/main/image/image_20.png?raw=true" alt="堆肥桶">
</details>

## 如何正确加载 Waila
Expand All @@ -34,26 +37,32 @@ Waila 是一个 LSE 高亮显示插件,他集成了许多原版信息的具体
需要在 Bedrock Dedicated Server(BDS)服务端下装载前置:

- LeviLamina
- legacy-script-engine-quickjs
- GMLIB
- legacy-script-engine-quickjs`≥0.7.9`
- GMLIB`≥0.12.8`
- GMLIB-LegacyRemoteCallApi`≥v0.12.8`

### 如何装载

下载释放文件,解压插件文件夹至 BDS 服务端 plugins 文件夹内,并加载
- 第一种:下载释放文件,解压插件文件夹至 BDS 服务端 plugins 文件夹内,并加载
- 第二种:使用 Lip 安装,输入命令 lip install github.com/zimuya4153/LSE_Waila

## 使用方法

游戏内玩家可输入/waila 来设置自己的 Waila 开关及样式
![表单](http://www.gwbbs.top/img/Wailaform.png)
ps:如果装了我们的 UI 包,那活动栏将是一个非常好的选择
![表单](https://github.com/zimuya4153/LSE_Waila/blob/main/image/form.png?raw=true)
ps:如果装了我们的 [UI 包](https://wwm.lanzouq.com/iSMiT20o39ze "点击前往下载链接"),那活动栏将是一个非常好的选择

## 语言文件[zh_CN.lang](https://github.com/zimuya4153/LSE_Waila/blob/main/image/form.png?raw=true)
## 语言文件[zh_CN.lang](https://github.com/zimuya4153/LSE_Waila/blob/main/Language/zh_CN.lang)

> 如果遇到原版未翻译的或者你有自己的个性都可以去访问这个文件
> 切记如果你没有基础请按照规律来修改,修改错误可能导致你无法使用 Waila
## 特别操作
# 特别操作

## 有些方块没有翻译怎么办?

- 不慌,输入指令/waila 语言 翻译的文本
- 你可能好奇?语言填啥?可以填 zh_CN(中文简体),zh_TW(中文繁體),en_US(English (United States)),en_GB(English (United Kingdom))……

这里是 WuHuiZhang6902(合作者),教你点东西,看到 Config.js 文件没,如果你觉着名称后面的英文 id 显示太长,你可以将以下代码替换第 19 行,那么这 type 就变成短短的整数 id 了

Expand All @@ -62,7 +71,7 @@ Text: (Player, PlayerConfig, Block) => I18nAPI.get('plugins.Waila.block.name', [
```

什么,你还要再学点小操作?
如果你不想让他在不瞄准任何东西情况下提示文字,那么你只需要将下面代码替换 Config.js 文件的 149
如果你不想让他在不瞄准任何东西情况下提示文字,那么你只需要将下面代码替换 Config.js 文件的 `158`

```javascript
DefaultText: "",
Expand Down Expand Up @@ -107,13 +116,13 @@ module.exports = {
Color: 0,
/** 进度值 @type {Number} */
Percent: 100,
/** 默认文本 @type {String} */
DefaultText: "\n\n&plugins.Waila.get.error&",
},
/** 默认文本 @type {String} */
DefaultText: "\n\n&plugins.Waila.get.error&",
/** 刷新时间(秒) @type {Number} */
Hz: 0.1,
/** 查找最大距离 @type {Number} */
maxDistance: 10,
},
};
```
```
32 changes: 20 additions & 12 deletions Waila.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,12 @@ LLSE_Player.prototype.updateBossBarTitle =
return this.sendPacket(bs.createPacket(0x4A));
}

/** 配置文件 @type {{AllBefore:ConfigItem[],Block:ConfigItem[],Entity:ConfigItem[],AllAfter:ConfigItem[],Bossbar:{ID:Number,Color:Number,Percent:Number,DefaultText:String},Hz:Number,maxDistance:Number}} */
/** 配置文件 @type {{AllBefore:ConfigItem[],Block:ConfigItem[],Entity:ConfigItem[],AllAfter:ConfigItem[],Bossbar:{ID:Number,Color:Number,Percent:Number},DefaultText:String,Hz:Number,maxDistance:Number}} */
const Config = require('./Waila/Config.js').Config;
const { PAPI } = require('./GMLIB-LegacyRemoteCallApi/lib/BEPlaceholderAPI-JS.js');
const { I18nAPI } = require('./GMLIB-LegacyRemoteCallApi/lib/GMLIB_API-JS.js');
const { I18nAPI, Minecraft } = require('./GMLIB-LegacyRemoteCallApi/lib/GMLIB_API-JS.js');
const /** 玩家数据文件 */ Data = new JsonConfigFile('./plugins/Waila/Data.json');
Minecraft.setFixI18nEnabled();// 修复Mojang的i18n问题

setInterval(() => {
mc.getOnlinePlayers().forEach(Player => {
Expand All @@ -48,7 +49,7 @@ setInterval(() => {
let ViewEntity = Player.getEntityFromViewVector(Config.maxDistance), ViewBlock = Player.getBlockFromViewVector(false, false, Config.maxDistance, false);
let text = '';
if ((!ViewBlock || ViewBlock?.pos?.toString().replace(/ /g, '').includes('(0,0,0)')) && !ViewEntity) {
text += Config.Bossbar.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode));
text += Config.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode));
} else {
const EvalGetText = (Items =>
(typeof (Items.Conditions) === 'function' ? Items.Conditions(Player, PlayerConfig, ViewEntity ?? ViewBlock) : Items.Conditions)
Expand All @@ -72,16 +73,23 @@ setInterval(() => {
});
}, Config.Hz * 1000);

// mc.listen('onBlockChanged', BeforeBlock => delete BlockCache[BeforeBlock.pos.toString()]);
mc.listen('onJoin', Player => {
const /** @type {PlayerConfig} */ PlayerConfig = Data.get(Player.uuid, { 'Enabled': 1, 'Mode': 0 });
if (PlayerConfig.Enabled && PlayerConfig.Mode === 0) Player.setBossBar(Config.Bossbar.ID, Config.Bossbar.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode)), Config.Bossbar.Percent, Config.Bossbar.Color);
});

mc.listen('onServerStarted', () => {
setInterval(() => {
mc.getOnlinePlayers().forEach(Player => {
const /** @type {PlayerConfig} */ PlayerConfig = Data.get(Player.uuid, { 'Enabled': 1, 'Mode': 0 });
if (PlayerConfig.Enabled && PlayerConfig.Mode === 0) Player.setBossBar(Config.Bossbar.ID, Config.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode)), Config.Bossbar.Percent, Config.Bossbar.Color);
});
}, 5 * 1000);
I18nAPI.loadLanguageDirectory(`./plugins/Waila/Language`);

mc.regPlayerCmd('waila', I18nAPI.get('plugins.Waila.command.description'), Player => {
mc.regPlayerCmd('waila', I18nAPI.get('plugins.Waila.command.description'), (Player, args) => {
if (args[1] != null) {
const ViewBlock = Player.getBlockFromViewVector(false, false, Config.maxDistance, false);
if(ViewBlock.name!==ViewBlock.getTranslateKey())return Player.tell(I18nAPI.get('plugins.Waila.command.translators.error',[ViewBlock.type,ViewBlock.getTranslateName()],Player.langCode));
if (!I18nAPI.getSupportedLanguages().includes(args[0])) return Player.tell(I18nAPI.get('plugins.Waila.command.language.error', [args[0]], Player.langCode));
File.writeLine(`./plugins/Waila/Language/${args[0]}.lang`, `${ViewBlock.getTranslateKey()}=${args[1]}`);
I18nAPI.loadLanguageDirectory(`./plugins/Waila/Language`);
return Player.tell(I18nAPI.get('plugins.Waila.command.translators.succes', [ViewBlock.type, args[1]], Player.langCode));
}
const /** @type {PlayerConfig} */ PlayerConfig = Data.get(Player.uuid, { 'Enabled': 1, 'Mode': 0 });
const Form = mc.newCustomForm().setTitle(I18nAPI.get('plugins.Waila.gui.title'));
Form.addSwitch(I18nAPI.get('plugins.Waila.gui.switch', [], Player.langCode), PlayerConfig['Enabled']);
Expand All @@ -90,7 +98,7 @@ mc.listen('onServerStarted', () => {
if (!FormData) return Player.tell(I18nAPI.get('plugins.Waila.gui.cancel', [], Player.langCode));
Data.set(Player.uuid, Object.assign({}, { Enabled: FormData[0], Mode: FormData[1] }));
if (FormData[0] && FormData[1] === 0)
Player.setBossBar(Config.Bossbar.ID, Config.Bossbar.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode)), Config.Bossbar.Percent, Config.Bossbar.Color);
Player.setBossBar(Config.Bossbar.ID, Config.DefaultText.replace(/&(.*)&/g, (_, key) => I18nAPI.get(key, [], Player.langCode)), Config.Bossbar.Percent, Config.Bossbar.Color);
else
Player.removeBossBar(Config.Bossbar.ID);
Player.tell(I18nAPI.get('plugins.Waila.gui.succes', [], Player.langCode));
Expand Down
Binary file added image/image_19.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added image/image_20.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
8 changes: 5 additions & 3 deletions manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,15 @@
"type": "lse-quickjs",
"description":"普普通通的搞高亮显示",
"author":"小小的子沐呀",
"version":"1.0.0",
"version":"1.1.0",
"dependencies": [
{
"name": "legacy-script-engine-quickjs"
"name": "legacy-script-engine-quickjs",
"version":"0.7.9"
},
{
"name": "GMLIB"
"name": "GMLIB",
"version":"0.12.7"
},
{
"name": "GMLIB-LegacyRemoteCallApi",
Expand Down
10 changes: 5 additions & 5 deletions tooth.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"format_version": 2,
"tooth": "github.com/zimuya4153/LSE_Waila",
"version": "1.0.0",
"version": "1.1.0",
"info": {
"name": "LSE_Waila",
"description": "为LL3提供motd的接口和papi变量",
Expand All @@ -15,11 +15,11 @@
"legacyscriptengine"
]
},
"asset_url": "https://github.com/zimuya4153/LSE_Waila/releases/download/v1.0.0/LSE_Waila-1.0.0.zip",
"asset_url": "https://github.com/zimuya4153/LSE_Waila/releases/download/v1.1.0/LSE_Waila-1.1.0.zip",
"dependencies": {
"github.com/LiteLDev/LeviLamina": ">=0.0.1",
"gitea.litebds.com/LiteLDev/legacy-script-engine-quickjs": ">=0.0.1",
"github.com/GroupMountain/GMLIB": ">=0.12.8",
"github.com/LiteLDev/LeviLamina": ">=0.12.x",
"gitea.litebds.com/LiteLDev/legacy-script-engine-quickjs": ">=0.7.9",
"github.com/GroupMountain/GMLIB": ">=0.12.7",
"github.com/GroupMountain/GMLIB-LegacyRemoteCallApi": ">=0.12.8"
},
"files": {
Expand Down

0 comments on commit 8d1fbaa

Please sign in to comment.