Skip to content

Commit

Permalink
Several Small fix.
Browse files Browse the repository at this point in the history
  • Loading branch information
M1hono committed Sep 3, 2024
1 parent a02afd6 commit 8e478b2
Show file tree
Hide file tree
Showing 4 changed files with 28 additions and 28 deletions.
34 changes: 17 additions & 17 deletions docs/zh/modpack/kubejs/KubejsCourse/KubejsAddon/PonderJs/Ponder.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
Ponder.registry(event => {});
```

# 创建场景
## 创建场景

准备工作做完后, 在脚本中插入以下内容来创建一个场景:

Expand Down Expand Up @@ -62,11 +62,11 @@ Ponder.registry(event => {
>
> 不同场景的 Ponder ID 一样并不会导致报错, 但会产生`标题错误`或者`文本错误`等问题
# 配置起始结构
## 配置起始结构

首先, 我们需要一个结构(例如地板), 你有两种方法配置起始结构

## 1. 这是机械动力作者用来直接创建地板的方法
### 1. 这是机械动力作者用来直接创建地板的方法

```js
// 在 { } 内使用这个函数, 将会生成 1 个 n * n, 西移 x 格, 北移 z 格的地板(开启开发者模式后便可查看各个方块的坐标及方位)
Expand All @@ -75,7 +75,7 @@ Ponder.registry(event => {
scene.configureBasePlate(x, z, n);
```

## 2. 自己准备起始结构
### 2. 自己准备起始结构

首先, 你需要一个 `.nbt` 文件

Expand Down Expand Up @@ -111,7 +111,7 @@ Ponder.registry(event => {
});
```

# 显示起始结构
## 显示起始结构

> 在最开始, 我们需要显示部分的结构(例如地板), 你有一些选择, 在 `{}` 内输入
Expand All @@ -126,7 +126,7 @@ scene.showStructure(n);
>
> showBasePlate() 和 showStructure(0) 完全相等
# 适当的等待
## 适当的等待

> 显示完底盘直接开始动画你可能会觉得稍显快速, 此时你可以使用
Expand All @@ -139,7 +139,7 @@ scene.idleSeconds(1);

> 这边提一嘴, 在 Ponder 编写完成后一定要停顿至少一秒
> 20 Tick = 1 秒, 关于 Tick 更多信息可以到 👉[刻#游戏刻与计算速率 @ Minecraft 中文 wiki](https://zh.minecraft.wiki/w/刻#游戏刻与计算速率)👈 进行查看, 这里不做过多的赘述
> 20 Tick = 1 秒, 关于 Tick 更多信息可以到 👉[刻##游戏刻与计算速率 @ Minecraft 中文 wiki](https://zh.minecraft.wiki/w/刻##游戏刻与计算速率)👈 进行查看, 这里不做过多的赘述
`该停顿的地方就停顿, 该换行的地方就换行, 该缩进的地方就缩进, 不要为了贪图快捷而把该有的东西给漏了, 要记住你做出来的东西是给人看的, 以后痛苦的是自己, 一定要养成好习惯!`

Expand Down Expand Up @@ -184,7 +184,7 @@ Ponder.registry(event => {
});
```

# 关键帧
## 关键帧

在 Ponder 场景的演示动画中, 我们难免会遇见动画太长而我们只看某一段的场面, Ponder 却不像视频那样可以直接拖动进度条, 但是却有一个接近的东西, 在某些关键的地方创建一个个的跳转点

Expand All @@ -210,7 +210,7 @@ scene.addKeyframe();
scene.addLazyKeyframe();
```

# 放置方块
## 放置方块

> 下一步, 我们想要把鼓风机显示出来, 我们可以用 Ponder 场景中的地板坐标, 大致推算出各个方块的位置
> (别在意我这个铜块生锈, 忘记用涂蜡的铜块了 QwQ)
Expand All @@ -233,7 +233,7 @@ scene.world.setBlocks([2, 1, 1], "create:encased_fan", true);
>
> scene.world.setBlocks([2, 1, 1], "create:encased_fan", false); = scene.world.setBlocks([2, 1, 1], false, "create:encased_fan");
# 显示方块
## 显示方块

仅仅放置方块并不够, 你还需要将它显示出来

Expand All @@ -256,13 +256,13 @@ scene.world.showSection([3, 1, 1, 1, 1, 3], Direction.down);

例如: 使用 `showStructure(n)` 时, y = 0 ~ n 的个格子全部变为`已显示状态`, 即使是空气方块

### 注意
###### 注意
>
> - `[3, 1, 1, 1, 1, 3]`同样可以写为`[1, 1, 1, 3, 1, 3]`
> - 并且无论哪种写法, `showSection`动画都将持续 15 Tick
> - `showSection`方法将会把显示的区域合并到`baseWorldSection`中, 即`scene.ponderjs$getPonderScene().baseWorldSection`
# 修改方块状态
## 修改方块状态
很多时候会遇到需要指定方块的朝向,类型(如上/下/满半砖)的情况, 可以使用如下方法来修改方块状态:

`scene.world.modifyBlock(方块位置, state => state.with("要修改的状态名", "要修改的状态值"), 是否有粒子效果);`
Expand All @@ -277,7 +277,7 @@ scene.world.modifyBlock([1, 1, 1], state => state.with("facing", "down"), false)
scene.world.modifyBlock([2, 2, 2], state => state.with("Eye", "true"), true);

```
# 修改方块nbt
## 修改方块nbt
![盛水的流体储罐](/imgs/PonderJs/liu-ti-chu-guan-nbt.png)
![流体储罐的方块状态](/imgs/PonderJs/liu-ti-chu-guan-fang-kuai-zhuang-tai.png)
如图,这个流体储罐里有1000mB水,但是方块状态里并没有存储相关信息。
Expand Down Expand Up @@ -317,7 +317,7 @@ scene.world.modifyTileNBT([3, 3, 2], (nbt) => {
>
> 进阶教程中会有更详细的讲述.
# 文本显示
## 文本显示

文本显示很简单, 这里我不会讲的特别详细(因为也没东西可以讲呀…awa)

Expand Down Expand Up @@ -346,9 +346,9 @@ scene.text(30, "文本").attachKeyFrame();
```

> 根据对 Minecraft 的了解, 在文本前输入不同的代码可以使其呈现出不一样的效果, 例如加粗以及图中的蓝色文本
> 具体请到 👉[Minecraft wiki](https://zh.minecraft.wiki/w/格式化代码?variant=zh-cn#颜色代码)👈 进行查看
> 具体请到 👉[Minecraft wiki](https://zh.minecraft.wiki/w/格式化代码?variant=zh-cn##颜色代码)👈 进行查看
# 包边
## 包边

和文本显示一样, 都没什么可以讲的, 所以挺短的

Expand All @@ -362,7 +362,7 @@ scene.text(30, "文本").attachKeyFrame();
scene.overlay.showOutline("red", {}, [7, 1, 3, 3, 5, 7], 30);
```

# 操作交互
## 操作交互

这种就是典型的一种右键操作示例图

Expand Down
10 changes: 5 additions & 5 deletions docs/zh/modpack/kubejs/KubejsCourse/KubejsAddon/PonderJs/Tags.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
> 什么是 PonderTag?
在思索索引创建分类, 相同分类的 Ponder 也能互相跳转, 是非常方便的功能
# 其一 无中生有
## 其一 无中生有

> 建立新的 PonderTag
Expand All @@ -21,7 +21,7 @@ Ponder.tags((event) => {

![图片](/imgs/PonderJs/PonderTag.gif)

# 其二 画龙点睛
## 其二 画龙点睛

> 为已有的 PonderTag 添加新的关联词条
Expand Down Expand Up @@ -51,7 +51,7 @@ Ponder.registry(event => {
});
```

# 其三 去芜存菁
## 其三 去芜存菁

> 删除 PonderTag 内的的关联物品
Expand All @@ -64,7 +64,7 @@ Ponder.tags((event) => {
});
```

# 其四 一扫而空
## 其四 一扫而空

> 删除已有的 PonderTag
Expand All @@ -76,7 +76,7 @@ Ponder.tags((event) => {
});
```

# 其五 承上启下
## 其五 承上启下

> 机械动力自带的 [PonderTag](https://github.com/Creators-of-Create/Create/blob/mc1.18/dev/src/main/java/com/simibubi/create/infrastructure/ponder/AllPonderTags.java) 如下
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# 关于翻译
## 关于翻译

> 在构筑代码的时候, 你可能会为了将内容翻译成其他语种而烦恼, 不过不用担心, Ponder 会自动建立翻译文件
>
> 只要知道你的代码与其的对应关系便可进行档案的修改了
# 开始之前
## 开始之前

当你完成代码并启动游戏时, Ponder 会自动生成对应的名为 [en_us.json](https://gitee.com/gumengmengs/kubejs-course/tree/main/Code/Ponder/kubejs/assets/ponderjs_generated/lang/en_us.json) 的翻译文件 **(即使你的代码内对应的描述并非英文)**, 其档案路径为

Expand All @@ -18,11 +18,11 @@
关于更多语言的文件命名:[链接](../../DigressionLangFileNamingChart.md)

# 开始
## 开始

[iron_golem.js](https://gitee.com/gumengmengs/kubejs-course/tree/main/Code/Ponder/kubejs/client_scripts/Ponder/iron_golem.js) 的部分代码为例

# PonderTag 的部分
## PonderTag 的部分

```js
Ponder.tags((event) => {
Expand Down Expand Up @@ -50,7 +50,7 @@ Ponder.tags((event) => {
>
> `iron_golem` 对应 PonderTag 的 id 的路径(path)
# Ponder 的部分
## Ponder 的部分

```js
Ponder.registry(event => {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
## 前言
### kubejs的基本概念
首先该脚本是由js语言(`JavaScript`)进行编写的,所以在使用kjs(kubejs后续都会直接称之为kjs)时需要知道简单的js语言如何去写,包括但不限于:数据类型、运算符、判断、循环、函数,如果你是单纯的修改配方可以不学习`JavaScript`
但你若是要制作复杂的逻辑性功能那请一定要学习`JavaScript`\
但你若是要制作复杂的逻辑性功能那请一定要学习`JavaScript`
> [**`JavaScript教程(广告)`**](https://docs.elake.top/#/Tutorials/Code/JavaScript/前言)
其次kjs的大部分魔改都是在一个事件里,比如监听xx事件后,从该事件内获取某个函数方法进行调用,然后魔改,这个在后面的实际操作过程中可以体会到,这个也是kjs和crt的一个大区别了
Expand Down

0 comments on commit 8e478b2

Please sign in to comment.