Skip to content

Commit 34b8f7f

Browse files
committed
fix: BlockUpdateLogger & translation en_us.json
1 parent 5a894fb commit 34b8f7f

23 files changed

Lines changed: 207 additions & 159 deletions

File tree

README-en.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,14 @@
22

33
Language: English | [中文](https://github.com/OptiJava/OptCarpetAddition/blob/master/README.md)
44

5+
Thanks for the contributor: [jfglzs](https://github.com/jfglzs)
6+
57
> This is an extension mod of `Carpet`. The goal is to add some functions that do not greatly change the original game
68
mechanism but optimize the player experience.
79

810
**_WARNING_: Don't download mods with the `-source` suffix, it is just for development!!!**
911

10-
Build with [Preprocessor](https://github.com/ReplayMod/preprocessor)
12+
Build with [StoneCutter]
1113

1214
**Dependencies:`Carpet` `fabric-api`**
1315

README.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,13 @@
22

33
Language: [English](https://github.com/OptiJava/OptCarpetAddition/blob/master/README-en.md) | 中文
44

5+
感谢:[jfglzs](https://github.com/jfglzs)
6+
57
> 这是一个`Carpet`的扩展模组,目标是添加一些没有太大改变原版游戏机制但优化玩家体验~~降低腐竹血压~~的一些功能。
68
79
**_警告_: 不要下载以`-source`结尾的模组jar文件,那仅用于开发!!!**
810

9-
使用[Preprocessor](https://github.com/ReplayMod/preprocessor)构建~~可供大家学习~~
11+
使用[StoneCutter]构建~~可供大家学习~~
1012

1113
**本模组需要前置模组:`Carpet` `fabric-api`**
1214

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
distributionBase=GRADLE_USER_HOME
22
distributionPath=wrapper/dists
3-
distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
3+
distributionUrl=https\://services.gradle.org/distributions/gradle-9.5.1-bin.zip
44
zipStoreBase=GRADLE_USER_HOME
55
zipStorePath=wrapper/dists

settings.gradle.kts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pluginManagement {
1111
}
1212

1313
plugins {
14-
id("dev.kikugie.stonecutter").version("0.9.2")
14+
id("dev.kikugie.stonecutter").version("0.9.4")
1515
}
1616

1717
stonecutter {

src/main/java/io/github/optijava/opt_carpet_addition/OptCarpetAddition.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,6 @@ public void registerLoggers() {
153153
}
154154

155155
@Override
156-
//TODO english translation(res/asssets/opt/lang/en_us.json)
157156
public Map<String, String> canHasTranslations(String lang) {
158157
//add rule translator
159158
return RuleTranslator.getTranslationFromResourcePath(lang);

src/main/java/io/github/optijava/opt_carpet_addition/RuleTranslator.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public static Map<String, String> getTranslationFromResourcePath(String lang) {
2424
} catch (IOException e) {
2525
return Collections.emptyMap();
2626
}
27+
// TODO: 使用了弃用的api
2728
Gson gson = new GsonBuilder().setLenient().create();
2829
return gson.fromJson(jsonData, new TypeToken<Map<String, String>>() {}.getType());
2930
}

src/main/java/io/github/optijava/opt_carpet_addition/commands/PlayerTpCommand.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package io.github.optijava.opt_carpet_addition.commands;
22

3-
import carpet.CarpetServer;
43
import carpet.patches.EntityPlayerMPFake;
54
import carpet.utils.Messenger;
65
import com.google.common.util.concurrent.RateLimiter;
@@ -14,7 +13,6 @@
1413
import io.github.optijava.opt_carpet_addition.utils.McUtils;
1514
import net.minecraft.commands.CommandSourceStack;
1615
import net.minecraft.commands.Commands;
17-
import net.minecraft.server.MinecraftServer;
1816
import net.minecraft.server.level.ServerPlayer;
1917
import net.minecraft.world.level.GameType;
2018
import java.util.HashMap;
@@ -27,7 +25,7 @@
2725
public class PlayerTpCommand {
2826

2927
/* permit 1 request per 2 seconds < == > permit 0.5 request per 1 second */
30-
public static Map<ServerPlayer, RateLimiter> rateLimiterMap = new HashMap<>();
28+
public final static Map<ServerPlayer, RateLimiter> rateLimiterMap = new HashMap<>();
3129

3230
private static final String COMMAND_PREFIX = "player";
3331

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.github.optijava.opt_carpet_addition.logger;
22

33
import carpet.logging.LoggerRegistry;
4+
import io.github.optijava.opt_carpet_addition.logger.blockUpdate.BlockUpdateLogger;
45
import io.github.optijava.opt_carpet_addition.logger.disk.DiskHUDLogger;
56

67
public class LoggerRegister {
@@ -9,7 +10,6 @@ public class LoggerRegister {
910

1011
public static void registry() {
1112
LoggerRegistry.registerLogger("disk", DiskHUDLogger.INSTANCE);
12-
//TODO incompatible with 26.1
13-
//LoggerRegistry.registerLogger("blockUpdate", BlockUpdateLogger.INSTANCE);
13+
LoggerRegistry.registerLogger("blockUpdate", BlockUpdateLogger.INSTANCE);
1414
}
1515
}
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package io.github.optijava.opt_carpet_addition.logger.blockUpdate;
2+
3+
import carpet.utils.Messenger;
4+
import io.github.optijava.opt_carpet_addition.OptCarpetAddition;
5+
import io.github.optijava.opt_carpet_addition.logger.AbstractLogger;
6+
import io.github.optijava.opt_carpet_addition.logger.LoggerRegister;
7+
import net.minecraft.core.BlockPos;
8+
import net.minecraft.network.chat.Component;
9+
import net.minecraft.world.level.block.Block;
10+
11+
import java.lang.reflect.Field;
12+
13+
public class BlockUpdateLogger extends AbstractLogger {
14+
public static final BlockUpdateLogger INSTANCE;
15+
16+
static {
17+
try {
18+
INSTANCE = new BlockUpdateLogger(LoggerRegister.class.getField("__blockUpdate"), "blockUpdate", null, null, false);
19+
} catch (NoSuchFieldException e) {
20+
throw new Error("Failed to init BlockUpdateLogger.", e);
21+
}
22+
}
23+
24+
protected BlockUpdateLogger(Field acceleratorField, String logName, String def, String[] options, boolean strictOptions) {
25+
super(acceleratorField, logName, def, options, strictOptions);
26+
}
27+
28+
public void logBlockUpdate(BlockPos updatingBlockPos, Block updatingBlock, Block changedBlock) {
29+
// 以下是我在旧版本研究的内容:
30+
// 在1.17.1中,ServerWorld.updateNeighbor方法如下:
31+
// public void updateNeighbor(BlockPos pos, Block sourceBlock, BlockPos neighborPos)
32+
// ^^^^ ^^^^^^^^^ ^^^^^^^
33+
// 被更新方块 源方块(更新源) 由源方块指定的更新的中心方块
34+
35+
// 在1.19.3中,SimpleNeighborUpdater.updateNeighbor方法如下:
36+
// public void updateNeighbor(BlockState state, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify)
37+
// ^^^^ ^^^ ^^^^^^^^ ^^^^^ ^^^^
38+
// 这俩都是被更新的 源 中心 不知道干什么的
39+
// 在1.19.3中,ChainRestrictedNeighborUpdater.enqueue方法如下:
40+
// private void enqueue(BlockPos pos, Entry entry)
41+
// ^^ ^^^
42+
// 被更新的 一个封装
43+
44+
try {
45+
super.log(() -> new Component[] {
46+
Messenger.c("w Updating BlockPos: [", "m " + updatingBlockPos.getX() + " " + updatingBlockPos.getY() + " " + updatingBlockPos.getZ(), "w " + "] Updating Block: ", "m " + updatingBlock.getName().getString(), "w " + " Source Block(before change): ", "m " + changedBlock.getName().getString())
47+
}
48+
);
49+
} catch (Exception e) {
50+
OptCarpetAddition.LOGGER.error("Unexpected exception occurred when logging block update.", e);
51+
}
52+
}
53+
}

src/main/java/io/github/optijava/opt_carpet_addition/mixins/logger/blockUpdate/ChainRestrictedNeighborUpdater_Mixin.java

Lines changed: 0 additions & 58 deletions
This file was deleted.

0 commit comments

Comments
 (0)