Skip to content

Commit 0304d13

Browse files
committed
Merge branch 'main' into mc1.19.2/main
# Conflicts: # gradle.properties
2 parents 17cf2fd + 541a9b8 commit 0304d13

File tree

7 files changed

+67
-34
lines changed

7 files changed

+67
-34
lines changed

CHANGELOG.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,19 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## 1.5.0 - 2024-05-21
9+
10+
### Changed
11+
12+
- Target Forge version for 1.20.1 is now 47.2.0
13+
- Target Create version for 1.20.1 is now 0.5.1.f-26
14+
- Improved translations for Simplified Chinese (thanks @PopSlime)
15+
16+
### Fixed
17+
18+
- Incompatibility with other mods causing clients to be kicked from server when a train station is placed
19+
- This fix introduces breaking changes in the networking code of Power Loader. Update is required on both the client and server.
20+
821
## 1.4.0 - 2024-01-27
922

1023
### Added

README.md

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,12 @@ A Create mod add-on adding immersive andesite and brass chunk loaders to Minecra
1414

1515
> **Want more Create-esque QoL items? Check out [Create: Connected](https://modrinth.com/mod/create-connected)**
1616
17-
## What's new in 1.4.0
17+
## What's new in 1.5.0
1818

19-
**Config Overhaul**
19+
**Compatibility fix**
2020

21-
The server config has been split into two sections for the andesite and brass chunk loaders,
22-
allowing fine-grained control over the function of both chunk loaders in each use case.
23-
An example use case would be to create a chunk loader dedicated to train stations by disabling all other modes of function.
24-
25-
**Important: the server config will reset upon updating to v1.4.0! Please reconfigure everything if you have applied custom configs before.**
21+
This version introduces changes to the networking code of Power Loader, which fix the issue where clients are kicked from server
22+
when a train station is placed. Note that you **must update Power Loader on both the client and server for this fix to work**.
2623

2724
## Features
2825

build.gradle

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ repositories {
156156
name = "ModMaven"
157157
url = "https://modmaven.dev"
158158
}
159+
maven {
160+
url "https://cursemaven.com"
161+
}
159162

160163
// If you have mod jar dependencies in ./libs, you can declare them as a repository like so.
161164
// See https://docs.gradle.org/current/userguide/declaring_repositories.html#sub:flat_dir_resolver
@@ -184,6 +187,14 @@ dependencies {
184187
// at runtime, use the full JEI jar for Forge
185188
runtimeOnly(fg.deobf("mezz.jei:jei-${jei_minecraft_version}-forge:${jei_version}"))
186189

190+
// references to other mods to debug compatibility
191+
// implementation fg.deobf("curse.maven:create-steam-n-rails-688231:5331300")
192+
// implementation fg.deobf("curse.maven:botarium-704113:5118353")
193+
// implementation fg.deobf("curse.maven:create-new-age-905861:5080957")
194+
// implementation fg.deobf("curse.maven:cloth-config-348521:4973441")
195+
// implementation fg.deobf("curse.maven:appleskin-248787:4770828")
196+
// implementation fg.deobf("curse.maven:betterf3-401648:4863626")
197+
187198
// Example mod dependency using a mod jar from ./libs with a flat dir repository
188199
// This maps to ./libs/coolmod-${mc_version}-${coolmod_version}.jar
189200
// The group id is ignored when searching -- in this case, it is "blank"

gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ mapping_version=2022.11.27-1.19.2
4141

4242
create_minecraft_version = 1.19.2
4343
flywheel_minecraft_version = 1.19.2
44-
create_version = 0.5.1.e-42
44+
create_version = 0.5.1.f-46
4545
create_version_range = [0.5.1.e,)
4646
flywheel_version = 0.6.10-20
4747
registrate_version = MC1.19-1.1.5
@@ -59,7 +59,7 @@ mod_name=Create: Power Loader
5959
# The license of the mod. Review your options at https://choosealicense.com/. All Rights Reserved is the default.
6060
mod_license=MIT
6161
# The mod version. See https://semver.org/
62-
mod_version=1.4.0-mc1.19.2
62+
mod_version=1.5.0-mc1.19.2
6363
# The group ID for the mod. It is only important when publishing as an artifact to a Maven repository.
6464
# This should match the base package used for the mod sources.
6565
# See https://maven.apache.org/guides/mini/guide-naming-conventions.html

src/main/java/com/hlysine/create_power_loader/mixin/GlobalStationMixin.java

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import org.spongepowered.asm.mixin.injection.Inject;
1414
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1515

16-
@Mixin(value = GlobalStation.class, remap = false)
16+
@Mixin(value = GlobalStation.class)
1717
public class GlobalStationMixin implements CPLGlobalStation {
1818
@Unique
1919
public StationChunkLoader cpl$chunkLoader;
@@ -34,30 +34,35 @@ public void setLoader(StationChunkLoader loader) {
3434

3535
@Inject(
3636
at = @At("RETURN"),
37-
method = "read(Lnet/minecraft/nbt/CompoundTag;ZLcom/simibubi/create/content/trains/graph/DimensionPalette;)V"
37+
method = "read(Lnet/minecraft/nbt/CompoundTag;ZLcom/simibubi/create/content/trains/graph/DimensionPalette;)V",
38+
remap = false
3839
)
3940
private void cpl$read(CompoundTag nbt, boolean migration, DimensionPalette dimensions, CallbackInfo ci) {
40-
cpl$chunkLoader = StationChunkLoader.read((GlobalStation) (Object) this, nbt.getCompound("CPLData"));
41+
CompoundTag data = nbt.getCompound("CPLData");
42+
cpl$chunkLoader = StationChunkLoader.read((GlobalStation) (Object) this, data);
4143
}
4244

4345
@Inject(
44-
at = @At("RETURN"),
46+
at = @At(value = "INVOKE", target = "Lnet/minecraft/network/FriendlyByteBuf;readUtf()Ljava/lang/String;"),
4547
method = "read(Lnet/minecraft/network/FriendlyByteBuf;Lcom/simibubi/create/content/trains/graph/DimensionPalette;)V"
4648
)
4749
private void cpl$read(FriendlyByteBuf buffer, DimensionPalette dimensions, CallbackInfo ci) {
48-
cpl$chunkLoader = StationChunkLoader.read((GlobalStation) (Object) this, buffer.readAnySizeNbt());
50+
CompoundTag nbt = buffer.readAnySizeNbt();
51+
if (nbt != null)
52+
cpl$chunkLoader = StationChunkLoader.read((GlobalStation) (Object) this, nbt);
4953
}
5054

5155
@Inject(
5256
at = @At("RETURN"),
53-
method = "write(Lnet/minecraft/nbt/CompoundTag;Lcom/simibubi/create/content/trains/graph/DimensionPalette;)V"
57+
method = "write(Lnet/minecraft/nbt/CompoundTag;Lcom/simibubi/create/content/trains/graph/DimensionPalette;)V",
58+
remap = false
5459
)
5560
private void cpl$write(CompoundTag nbt, DimensionPalette dimensions, CallbackInfo ci) {
5661
nbt.put("CPLData", getLoader().write());
5762
}
5863

5964
@Inject(
60-
at = @At("RETURN"),
65+
at = @At(value = "INVOKE", target = "Lnet/minecraft/network/FriendlyByteBuf;writeUtf(Ljava/lang/String;)Lnet/minecraft/network/FriendlyByteBuf;"),
6166
method = "write(Lnet/minecraft/network/FriendlyByteBuf;Lcom/simibubi/create/content/trains/graph/DimensionPalette;)V"
6267
)
6368
private void cpl$write(FriendlyByteBuf buffer, DimensionPalette dimensions, CallbackInfo ci) {

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

Lines changed: 22 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -12,33 +12,40 @@
1212
"create.create_power_loader.brass_chunk_loader.load_5x5": "5x5 矩形",
1313

1414
"create_power_loader.ponder.empty_chunk_loader_basic.header": "空的区块加载器用法",
15-
"create_power_loader.ponder.empty_chunk_loader_basic.text_1": "用空的区块加载器右击恶魂来捕获它",
16-
"create_power_loader.ponder.empty_chunk_loader_basic.text_2": "利用旋转的动力,可让被捕获的恶魂点亮机械核心……",
17-
"create_power_loader.ponder.empty_chunk_loader_basic.text_3": "……将区块加载器带入生活",
15+
"create_power_loader.ponder.empty_chunk_loader_basic.text_1": "手持空的区块加载器右击恶魂来捕获它",
16+
"create_power_loader.ponder.empty_chunk_loader_basic.text_2": "利用旋转力,可让被捕获的恶魂点亮传送门核心……",
17+
"create_power_loader.ponder.empty_chunk_loader_basic.text_3": "……并激活区块加载器",
1818

1919
"create_power_loader.ponder.andesite_chunk_loader_basic.header": "安山区块加载器的基本用法",
20-
"create_power_loader.ponder.andesite_chunk_loader_basic.text_1": "给予旋转动力后区块加载器会保持当前区块的加载",
20+
"create_power_loader.ponder.andesite_chunk_loader_basic.text_1": "给予旋转力后区块加载器会保持当前区块的加载",
2121
"create_power_loader.ponder.andesite_chunk_loader_basic.text_2": "当转速过慢时不会工作",
2222

2323
"create_power_loader.ponder.andesite_chunk_loader_redstone.header": "红石与安山区块加载器",
24-
"create_power_loader.ponder.andesite_chunk_loader_redstone.text_1": "加载器工作时可以点亮比较器",
24+
"create_power_loader.ponder.andesite_chunk_loader_redstone.text_1": "区块加载器工作时产生比较器输出",
2525
"create_power_loader.ponder.andesite_chunk_loader_redstone.text_2": "动力消失后,在区块被卸载前会有一小段延迟(可配置)",
26-
"create_power_loader.ponder.andesite_chunk_loader_redstone.text_3": "如果在延迟期间动力复原,则区块可继续加载",
26+
"create_power_loader.ponder.andesite_chunk_loader_redstone.text_3": "如果在延迟期间动力复原,区块会保持加载",
2727

2828
"create_power_loader.ponder.brass_chunk_loader_basic.header": "黄铜区块加载器的基本用法",
29-
"create_power_loader.ponder.brass_chunk_loader_basic.text_1": "给予旋转动力后区块加载器会保持当前区块的加载",
29+
"create_power_loader.ponder.brass_chunk_loader_basic.text_1": "给予旋转力后区块加载器会保持当前区块的加载",
3030
"create_power_loader.ponder.brass_chunk_loader_basic.text_2": "当转速过慢时不会工作",
3131
"create_power_loader.ponder.brass_chunk_loader_basic.text_3": "可以通过控制面板配置加载范围……",
3232
"create_power_loader.ponder.brass_chunk_loader_basic.text_4": "……但更广的范围需要更高的转速",
3333

3434
"create_power_loader.ponder.brass_chunk_loader_redstone.header": "红石与黄铜区块加载器",
35-
"create_power_loader.ponder.brass_chunk_loader_redstone.text_1": "加载器工作时可以点亮比较器",
35+
"create_power_loader.ponder.brass_chunk_loader_redstone.text_1": "区块加载器工作时产生比较器输出",
3636
"create_power_loader.ponder.brass_chunk_loader_redstone.text_2": "动力消失后,在区块被卸载前会有一小段延迟(可配置)",
37-
"create_power_loader.ponder.brass_chunk_loader_redstone.text_3": "如果在延迟期间动力复原,则区块可继续加载",
38-
39-
"create_power_loader.ponder.brass_chunk_loader_contraptions.header": "区块加载器与动态结构",
40-
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_1": "黄铜区块加载器也可在动态结构上使用",
41-
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_2": "可一直加载动态结构周围3x3区块",
42-
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_3": "组装后,则不再需要旋转动力来启动",
43-
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_4": "它们也能在固定的结构上工作"
37+
"create_power_loader.ponder.brass_chunk_loader_redstone.text_3": "如果在延迟期间动力复原,区块会保持加载",
38+
39+
"create_power_loader.ponder.brass_chunk_loader_contraptions.header": "加载动态结构周围的区块",
40+
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_1": "黄铜区块加载器也可在动态结构上工作",
41+
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_2": "这些区块加载器总是加载动态结构周围3x3的区块",
42+
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_3": "组装后,不再需要旋转力来运转",
43+
"create_power_loader.ponder.brass_chunk_loader_contraptions.text_4": "它们也能在静止的结构上工作",
44+
45+
"create_power_loader.ponder.brass_chunk_loader_station.header": "为列车站加载区块",
46+
"create_power_loader.ponder.brass_chunk_loader_station.text_1": "黄铜区块加载器可以附加在列车站上",
47+
"create_power_loader.ponder.brass_chunk_loader_station.text_2": "将其以正确的方向放置在列车站旁边",
48+
"create_power_loader.ponder.brass_chunk_loader_station.text_3": "这些区块加载器不需要旋转力,但正常情况下不会运转",
49+
"create_power_loader.ponder.brass_chunk_loader_station.text_4": "当一节列车到达站点时,区块加载器旁边3x3的区块将会被加载",
50+
"create_power_loader.ponder.brass_chunk_loader_station.text_5": "列车发车时,这些区块将再次被卸载"
4451
}

update.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"homepage": "https://github.com/hlysine/create_power_loader/",
33
"promos": {
4-
"1.20.1-recommended": "1.4.0-mc1.20.1",
5-
"1.19.2-recommended": "1.4.0-mc1.19.2",
6-
"1.18.2-recommended": "1.4.0-mc1.18.2"
4+
"1.20.1-recommended": "1.5.0-mc1.20.1",
5+
"1.19.2-recommended": "1.5.0-mc1.19.2",
6+
"1.18.2-recommended": "1.5.0-mc1.18.2"
77
}
88
}

0 commit comments

Comments
 (0)