Skip to content

Commit

Permalink
更新:vsc安装指南、关于唱片1.21
Browse files Browse the repository at this point in the history
来自柒月更新的:vscode安装指南
来自QiHuang02更新的:1.21唱片补充
  • Loading branch information
Gu-meng committed Sep 24, 2024
1 parent 78d9255 commit 01504d2
Show file tree
Hide file tree
Showing 8 changed files with 90 additions and 17 deletions.
Binary file added docs/public/imgs/VSCode/1.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 docs/public/imgs/VSCode/2.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 docs/public/imgs/VSCode/3.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 docs/public/imgs/VSCode/chinese.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
---
authors: ['Qi-Month']
---
# VS Code安装
这篇文档很短, 主要是讲一下VS Code在安装时的一些注意事项, 例如最重要的把VS Code打入注册表

## 安装软件

那么在VS Code安装的第二页就是问你要不要勾选那几个选项, 直接无脑全部勾选即可, 至于要不要快捷方式就看你自己了, 下面4个一定要勾选上

![1](/imgs/VSCode/1.png)

前面两个主要是可以快捷的打开项目

![2](/imgs/VSCode/2.png)

## 安装插件

VS Code在安装好后还需要进行汉化(如果你看得懂英文那当咱没说就是惹), 打开软件后点击右边的扩展按钮

![3](/imgs/VSCode/3.png)

直接在里面搜索`chinese`然后安装即可, 安装完后会让你重启VS Code, 照常重启即可

![chinese](/imgs/VSCode/chinese.png)

`probejs`的插件也是一样的安装方式, 但是如果你是1.21版本以下的话, 你需要安装老版本(0.0.4)的插件, 新版插件需要在1.21的环境下才能正常运行

VS Code还有很多奇奇怪怪的插件, 不管是好用还是不好用亦或是好看还是不好看的各种插件, 都要你们自己去发掘
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
authors: ['Gu-meng']
authors: ['Gu-meng','QiHuang02']
---
# 添加唱片

Expand All @@ -19,15 +19,25 @@ StartupEvents.registry("sound_event", (event) => {

### 注意:在 1.21.1+ 时

在刚在注册音频的语句的基础上使用一下语句,将音频注册为唱片音频
在 1.21.1+ 时我们想要注册一个唱片,我们还得在 `server` 事件中使用以下语句,将刚才注册的音频注册为唱片音频

```js
ServerEvents.registry('jukebox_song', (event) => {
event.create('<namespace>:music_id')
.song('<namespace>:music_id', time)
event.create('music_id')
.song('sound_event_id', time)

// 例子
event.create('meng:my_music')
.song("meng:music.my_music", 103)
})
```

`music_id` 为这段音频名字,可以是任何你想填的,不过得保持和之后的一致性

`sound_event_id` 就是你在启动事件中注册的音频的id

`time` 很好理解就是指插片的时间。

## 注册物品

接下来我们就可以来注册唱片了
Expand All @@ -44,16 +54,24 @@ StartupEvents.registry("item", (event) => {

`.tag("music_discs")` 这个是**一定要写**的,告诉游戏这个物品属于唱片tag,这样唱片机才能正常的被使用

### 注意:在 1.21.1+ 使用以下语句
### 注意:在 1.21.1+

```js
StartupEvents.registry('item', (event) => {
event.create('<namespace>:music_id')
.jukeboxPlayable('<namespace>:music_id', true)
event.create('item_id')
.jukeboxPlayable('music_id', true)

// 例子
event.create('meng:my_music')
.jukeboxPlayable('meng:my_music', true)
})
```

因为自 Minecraft 1.20.5 开始, 使用了物品堆叠组件的缘故,基本上所有物品都可以注册为唱片(大概)
`item_id` 是物品的id,请不要与之前的唱片音频id混淆,但是我建议都设置为一样,就不用在意使用混乱的问题了

`music_id` 就是刚才注册唱片音频时的 `music_id`

因为自 Minecraft 1.20.5 开始, 使用了[物品堆叠组件](https://minecraft.wiki/w/Data_component_format)的缘故,基本上所有物品都可以注册为唱片(大概)

## 准备音乐

Expand All @@ -67,7 +85,7 @@ StartupEvents.registry('item', (event) => {

之后我们需要创建文件夹将音乐存入进来

将ogg文件存入路径为`kubejs/assets/<namespace>/sounds`里,这里`<namespace>`就是上面冒号前的字符,我这边是`meng`,所以实际路径为`kubejs/assets/meng/sounds`,如果没有写`<namespace>`,那么路径则为`kubejs/assets/kubejs/sounds`
将ogg文件存入路径为`kubejs/assets/meng/sounds`里,这里`meng`就是上面冒号前的字符,我这边是`meng`,所以实际路径为`kubejs/assets/meng/sounds`,如果没有写`meng`,那么路径则为`kubejs/assets/kubejs/sounds`

需要将文件重命名,这里最好是和音乐id的`music.`后面相同(当然这里可以自定义,但是不建议),所里这里我的文件名为`my_music.ogg`,完整路径为`kubejs/assets/meng/sounds/my_music.ogg`

Expand All @@ -94,17 +112,32 @@ StartupEvents.registry('item', (event) => {
}
```

### 注意:在 1.21.1+
### 在 1.21.1+

在 1.21.1+ 中,可以直接将音频文件放于`./kubejs/assets/<namespace>/sounds/`下,kubejs会识别到
```json
{
// 这里的 'meng:my_music' 指的是刚才在注册唱片音频那里的 `music_id`
"music.my_music": {
// 固定格式
"sounds": [
{
// 创建声音的文件夹 也就是我们上面的 kubejs/assets/meng/sounds
"name": "meng:my_music",
// 以声音流输出,建议填写true(唱片)
"stream": true
}
]
},
}
```

[关于sounds.json的文件结构](../../../Digression/SoundsJson)

## 本地化和材质

接下来就是最简单的对物品进行汉化,让物品显示中文文本

进入路径`kubejs/assets/<namespace>/lang` 创建文件`zh_ch.json` (如果有直接打开就行)
进入路径`kubejs/assets/meng/lang` 创建文件`zh_ch.json` (如果有直接打开就行)

编写或添加文本

Expand All @@ -115,11 +148,21 @@ StartupEvents.registry('item', (event) => {
}
```

### 在 1.21.1+ 时

```json
{
"item.meng.mymusic": "音乐唱片",
"jukebox_song.meng.mymusic": "我的音乐 - 私人歌手",
"sound.meng.mymusic": "我的音乐"
}
```

第一个为唱片本身的文本信息

第二个为唱片的音乐信息

材质路径为`kubejs/assets/<namespace>/textures/item` 将已经画好的唱片材质放在该路径下并命名为`my_music.png` 这里和物品id名称一样
材质路径为`kubejs/assets/meng/textures/item` 将已经画好的唱片材质放在该路径下并命名为`my_music.png` 这里和物品id名称一样

## 注意事项和音乐下载

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
authors: ['Gu-meng']
authors: ['Gu-meng','Qi-Month']
---
## 前言
### kubejs的基本概念
Expand All @@ -10,8 +10,8 @@ authors: ['Gu-meng']
其次kjs的大部分魔改都是在一个事件里,比如监听xx事件后,从该事件内获取某个函数方法进行调用,然后魔改,这个在后面的实际操作过程中可以体会到,这个也是kjs和crt的一个大区别了

### 准备工作
1. 首先你得需要准备一个[**`VS Code`**](https://code.visualstudio.com)(Visual Studio Code)以及他的汉化插件![chinese](/imgs/chinese.png)
2.`VS Code`内安装名为`ProbeJS`的插件(该插件的实际用途可以查看百科)
3. 在游戏内也安装`ProbeJS`模组(该模组如何使用请查看百科)
1. 首先你得需要准备一个[**`VS Code`**](https://code.visualstudio.com)这里有[VS Code安装详细讲解](/Digression/VSCodeInstallation.md)
3.`VS Code`内安装名为`ProbeJS`的插件(该插件的实际用途可以查看百科)
4. 在游戏内也安装`ProbeJS`模组(该模组如何使用请查看百科)

当然上面的准备工作你可以不做,只是代码写起来会比较费劲,也没什么其他坏处了
1 change: 1 addition & 0 deletions docs/zh/modpack/kubejs/1.20.1/KubeJSCourse/SUMMARY.md
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ authors: ['Gu-meng']
* [lang文件命名对照表](/Digression/LangFileNamingChart.md)
* [饱食度和饱和度](/Digression/SaturationHunger.md)
* [tag介绍](/Digression/Tag.md)
* [VS Code安装](/Digression/VSCodeInstallation.md)
* [项目分享](/KubeJSProjects/README.md)
* [工作台物品附魔](/KubeJSProjects/Wolf/EnchantOnTable.md)
* [祭坛合成](/KubeJSProjects/Meng/AltarComposition.md)
Expand Down

0 comments on commit 01504d2

Please sign in to comment.