Skip to content

Commit 6814619

Browse files
authored
1.1.1
## Fixes - Fixed tickadvance not stopping on the server side ## Translations - Added new Chinese Simplified translations by BoredYukolin
2 parents 0007583 + 906555b commit 6814619

File tree

8 files changed

+69
-50
lines changed

8 files changed

+69
-50
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ Help translate this mod with [Crowdin](https://crowdin.com/project/lotas-light)
2020
### Contributions
2121
- Chinese Simplified
2222
- Blom
23+
- BoredYukolin
2324
- JustaSqu1d
2425
- French
2526
- Elvee

gradle.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ discombobulator_version=1.3-SNAPSHOT
99

1010
# mod
1111
mod_name=LoTAS-Light
12-
mod_version=1.1.0
12+
mod_version=1.1.1
1313
maven_group=com.mincecrafttas

settings.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
pluginManagement {
22
repositories {
3-
//mavenLocal() // For development purposes
3+
// mavenLocal() // For development purposes
44
mavenCentral()
55
maven {
66
url = "https://maven.mgnet.work/main"

src/main/java/com/minecrafttas/lotas_light/LoTASLightClient.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,12 @@ private void increaseTickrate(Minecraft client) {
9191
if (client.level == null) {
9292
return;
9393
}
94-
TickRateManager clientTickrateChanger = client.level.tickRateManager();
9594
IntegratedServer server = client.getSingleplayerServer();
9695
if (server == null) {
9796
return;
9897
}
9998
ServerTickRateManager serverTickrateChanger = server.tickRateManager();
100-
rateIndex = findClosestRateIndex(clientTickrateChanger.tickrate());
99+
rateIndex = findClosestRateIndex(serverTickrateChanger.tickrate());
101100

102101
rateIndex++;
103102
//# 1.20.6
@@ -114,20 +113,18 @@ private void increaseTickrate(Minecraft client) {
114113
client.gui.getChat().addMessage(Component.translatable("msg.lotaslight.setTickrate", tickrate));
115114
}
116115
serverTickrateChanger.setTickRate(tickrate);
117-
clientTickrateChanger.setTickRate(tickrate);
118116
}
119117

120118
private void decreaseTickrate(Minecraft client) {
121119
if (client.level == null) {
122120
return;
123121
}
124-
TickRateManager clientTickrateChanger = client.level.tickRateManager();
125122
IntegratedServer server = client.getSingleplayerServer();
126123
if (server == null) {
127124
return;
128125
}
129126
ServerTickRateManager serverTickrateChanger = server.tickRateManager();
130-
rateIndex = findClosestRateIndex(clientTickrateChanger.tickrate());
127+
rateIndex = findClosestRateIndex(serverTickrateChanger.tickrate());
131128

132129
rateIndex--;
133130
//# 1.20.6
@@ -145,25 +142,21 @@ private void decreaseTickrate(Minecraft client) {
145142
client.gui.getChat().addMessage(Component.translatable("msg.lotaslight.setTickrate", tickrate));
146143
}
147144
serverTickrateChanger.setTickRate(tickrate);
148-
clientTickrateChanger.setTickRate(tickrate);
149145
}
150146

151147
private void freezeTickrate(Minecraft client) {
152148
if (client.level == null) {
153149
return;
154150
}
155-
TickRateManager clientTickrateManager = client.level.tickRateManager();
156151
IntegratedServer server = client.getSingleplayerServer();
157152
if (server == null) {
158153
return;
159154
}
160155
ServerTickRateManager serverTickrateManager = server.tickRateManager();
161156

162-
Tickratechanger clientTickrateChanger = (Tickratechanger) clientTickrateManager;
163157
Tickratechanger serverTickrateChanger = (Tickratechanger) serverTickrateManager;
164158

165-
boolean enable = clientTickrateManager.tickrate() != 0;
166-
clientTickrateChanger.enableTickrate0(enable);
159+
boolean enable = serverTickrateManager.tickrate() != 0;
167160
serverTickrateChanger.enableTickrate0(enable);
168161
}
169162

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.minecrafttas.lotas_light.mixin;
2+
3+
import org.spongepowered.asm.mixin.Mixin;
4+
import org.spongepowered.asm.mixin.Shadow;
5+
import org.spongepowered.asm.mixin.injection.At;
6+
import org.spongepowered.asm.mixin.injection.Redirect;
7+
8+
import com.minecrafttas.lotas_light.duck.Tickratechanger;
9+
10+
import net.minecraft.server.ServerTickRateManager;
11+
12+
@Mixin(ServerTickRateManager.class)
13+
public abstract class MixinServerTickRateManager {
14+
15+
@Redirect(method = "setTickRate", at = @At(value = "INVOKE", target = "Lnet/minecraft/server/ServerTickRateManager;updateStateToClients()V"))
16+
public void redirect_setTickRate(ServerTickRateManager manager) {
17+
Tickratechanger tickratechanger = (Tickratechanger) (Object) this;
18+
if (!tickratechanger.isAdvanceTick()) {
19+
this.updateStateToClients();
20+
}
21+
}
22+
23+
@Shadow
24+
protected abstract void updateStateToClients();
25+
}

src/main/java/com/minecrafttas/lotas_light/mixin/MixinTickRateManager.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,20 @@
1515
import com.minecrafttas.lotas_light.duck.Tickratechanger;
1616

1717
import net.minecraft.client.Minecraft;
18-
import net.minecraft.server.ServerTickRateManager;
1918
import net.minecraft.util.TimeUtil;
2019
import net.minecraft.world.TickRateManager;
2120

2221
/**
23-
* Changes the vanilla tickrate manager to allow for lower tickrates,
24-
* better freeze and stepping functionality.
22+
* Changes the vanilla tickrate manager to allow for lower tickrates, better
23+
* freeze and stepping functionality.
2524
*
2625
* @author Scribble
2726
*/
2827
@Mixin(TickRateManager.class)
2928
public abstract class MixinTickRateManager implements Tickratechanger {
3029
@Unique
3130
private static float tickrateSaved = 20;
31+
@Unique
3232
private boolean advanceTickrate;
3333
@Unique
3434
private boolean isDisconnecting;
@@ -97,14 +97,13 @@ public void enableTickrate0(boolean enable) {
9797
if (tickrate == 0)
9898
setTickRate(tickrateSaved);
9999
}
100-
101100
}
102101

103102
@Override
104103
public void advanceTick() {
105104
if (tickrate == 0) {
106-
setTickRate(tickrateSaved);
107105
this.advanceTickrate = true;
106+
setTickRate(tickrateSaved);
108107
}
109108
}
110109

@@ -124,9 +123,9 @@ public void disconnect() {
124123

125124
@Inject(method = "tick", at = @At("RETURN"))
126125
public void inject_Tick(CallbackInfo ci) {
127-
if (advanceTickrate && !(((TickRateManager) (Object) this) instanceof ServerTickRateManager)) {
128-
this.advanceTickrate = false;
126+
if (advanceTickrate) {
129127
setTickRate(0);
128+
this.advanceTickrate = false;
130129
}
131130
}
132131

src/main/resources/assets/lotaslight/lang/zh_cn.json

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -10,40 +10,40 @@
1010
"msg.lotaslight.turnOff": "想要关闭这些消息,请使用/lotaslight trc_showMessage false",
1111
"msg.lotaslight.showmsg.true": "刻率消息已启用",
1212
"msg.lotaslight.showmsg.false": "刻率消息已禁用",
13-
"msg.lotaslight.showctrls.true": "Savestate controls enabled",
14-
"msg.lotaslight.showctrls.false": "Savestate controls disabled",
13+
"msg.lotaslight.showctrls.true": "存档控制已启用",
14+
"msg.lotaslight.showctrls.false": "存档控制已禁用",
1515
"msg.lotaslight.savestate.save.clickable": "保存",
16-
"msg.lotaslight.savestate.save.hover": "Overwrite savestate %s",
17-
"msg.lotaslight.savestate.save.error": "Can't perform this action: A savestate operation is already being carried out!",
18-
"msg.lotaslight.savestate.save.error2": "Can't save a savestate at savestate 0",
19-
"msg.lotaslight.savestate.load.clickable": "Load",
20-
"msg.lotaslight.savestate.load.hover": "Load savestate %s",
21-
"msg.lotaslight.savestate.load.error": "Can't perform this action: A loadstate operation is already being carried out!",
22-
"msg.lotaslight.savestate.failure": "Something unexpected went wrong: %s",
23-
"msg.lotaslight.savestate.error.noexist": "Savestate %s does not exist",
24-
"msg.lotaslight.savestate.error.filenoexist": "The savestate folder does not exist. %s",
25-
"msg.lotaslight.savestate.delete": "Deleted savestate at index %s",
16+
"msg.lotaslight.savestate.save.hover": "覆写存档%s",
17+
"msg.lotaslight.savestate.save.error": "无法执行此操作:一个存档操作已被执行!",
18+
"msg.lotaslight.savestate.save.error2": "存档编号不可为0",
19+
"msg.lotaslight.savestate.load.clickable": "加载",
20+
"msg.lotaslight.savestate.load.hover": "加载存档%s",
21+
"msg.lotaslight.savestate.load.error": "无法执行此操作:一个读档操作已被执行!",
22+
"msg.lotaslight.savestate.failure": "发生异常错误:%s",
23+
"msg.lotaslight.savestate.error.noexist": "存档%s不存在",
24+
"msg.lotaslight.savestate.error.filenoexist": "存档文件夹不存在。%s",
25+
"msg.lotaslight.savestate.delete": "已删除编号为%s的存档",
2626
"msg.lotaslight.savestate.delete.clickable": "删除",
27-
"msg.lotaslight.savestate.delete.hover": "Delete savestate %s",
28-
"msg.lotaslight.savestate.deleteMore.singular": "You are about to delete %s savestate! Do you want to continue? %s",
29-
"msg.lotaslight.savestate.deleteMore.plural": "You are about to delete %s savestates! Do you want to continue? %s",
27+
"msg.lotaslight.savestate.delete.hover": "删除存档%s",
28+
"msg.lotaslight.savestate.deleteMore.singular": "即将删除%s个存档!是否确定继续?%s",
29+
"msg.lotaslight.savestate.deleteMore.plural": "即将删除%s个存档!是否确定继续?%s",
3030
"msg.lotaslight.savestate.deleteMore.clickable": "",
31-
"msg.lotaslight.savestate.deleteMore.hover": "This can not be undone or stopped!",
32-
"msg.lotaslight.savestate.deleteMore.error.negative": "Can't delete a negative amount of savestates! (%s)",
33-
"msg.lotaslight.savestate.reload": "Reloading savestate index. This is necessary when you edit the savestates outside of Minecraft",
34-
"msg.lotaslight.savestate.dateformat": "MM/dd/yyyy hh:mm:ss a",
35-
"msg.lotaslight.savestate.info.error": "Savestate failed: %s",
36-
"msg.lotaslight.savestate.rename": "Renamed savestate at index %s to %s",
37-
"msg.lotaslight.savestate.rename.clickable": "Rename",
38-
"msg.lotaslight.savestate.rename.hover": "Rename savestate %s",
39-
"msg.lotaslight.savestate.rename.error": "Can't rename this savestate",
31+
"msg.lotaslight.savestate.deleteMore.hover": "此操作无法撤销或中止!",
32+
"msg.lotaslight.savestate.deleteMore.error.negative": "删除存档数量不可为负!(%s)",
33+
"msg.lotaslight.savestate.reload": "正在重新加载存档编号。当您在Minecraft外部编辑存档时,这是必要的。",
34+
"msg.lotaslight.savestate.dateformat": "yyyy/MM/dd HH:mm:ss",
35+
"msg.lotaslight.savestate.info.error": "存档失败:%s",
36+
"msg.lotaslight.savestate.rename": "已将编号为“%s”的存档重命名为“%s”",
37+
"msg.lotaslight.savestate.rename.clickable": "重命名",
38+
"msg.lotaslight.savestate.rename.hover": "重命名存档“%s”",
39+
"msg.lotaslight.savestate.rename.error": "无法重命名此存档",
4040
"gui.lotaslight.savestate.save.name": "Savestate screen",
41-
"gui.lotaslight.savestate.save.start": "Saving a savestate, please wait",
42-
"gui.lotaslight.savestate.save.end": "Saved savestate %s under index %s",
43-
"gui.lotaslight.savestate.save.rename": "Saved the savestate under index %s",
44-
"gui.lotaslight.savestate.save.rename.button": "Rename and exit",
41+
"gui.lotaslight.savestate.save.start": "正在保存存档,请稍候",
42+
"gui.lotaslight.savestate.save.end": "已保存编号为“%2$s”的存档“%1$s”",
43+
"gui.lotaslight.savestate.save.rename": "已保存编号为“%s”的存档",
44+
"gui.lotaslight.savestate.save.rename.button": "重命名并退出",
4545
"gui.lotaslight.savestate.load.name": "Loadstate screen",
46-
"gui.lotaslight.savestate.load.start": "Loading a savestate, please wait",
47-
"gui.lotaslight.savestate.load.end": "Loaded savestate %s from index %s",
46+
"gui.lotaslight.savestate.load.start": "正在加载存档,请稍候",
47+
"gui.lotaslight.savestate.load.end": "已加载编号为“%2$s”的存档“%1$s”",
4848
"gui.lotaslight.savestate.button.closegui": "关闭"
4949
}

src/main/resources/lotaslight.mixins.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
"MixinMinecraftServer",
99
"AccessorLevelStorage",
1010
"AccessorServerPlayer",
11-
"MixinLevelStorageAccess"
11+
"MixinLevelStorageAccess",
12+
"MixinServerTickRateManager"
1213
],
1314
"client":[
1415
"MixinMinecraft",

0 commit comments

Comments
 (0)