Skip to content

Commit f0b5206

Browse files
committed
Update to Minecraft 1.21.6
1 parent 0a7fc20 commit f0b5206

File tree

15 files changed

+143
-74
lines changed

15 files changed

+143
-74
lines changed

spark-fabric/build.gradle

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,8 @@ configurations {
2828

2929
dependencies {
3030
// https://modmuss50.me/fabric.html
31-
minecraft 'com.mojang:minecraft:1.21.5'
32-
mappings 'net.fabricmc:yarn:1.21.5+build.1:v2'
31+
minecraft 'com.mojang:minecraft:1.21.6'
32+
mappings 'net.fabricmc:yarn:1.21.6+build.1:v2'
3333
modImplementation 'net.fabricmc:fabric-loader:0.16.14'
3434

3535
Set<String> apiModules = [
@@ -40,12 +40,12 @@ dependencies {
4040

4141
// Add each module as a dependency
4242
apiModules.forEach {
43-
modImplementation(fabricApi.module(it, '0.123.0+1.21.5'))
43+
modImplementation(fabricApi.module(it, '0.127.0+1.21.6'))
4444
}
4545

46-
include(modImplementation('me.lucko:fabric-permissions-api:0.3.3'))
46+
include(modImplementation('me.lucko:fabric-permissions-api:0.4.0'))
4747

48-
modImplementation('eu.pb4:placeholder-api:2.5.1+1.21.3')
48+
modImplementation('eu.pb4:placeholder-api:2.7.0+1.21.6')
4949

5050
shade project(':spark-common')
5151
}

spark-fabric/src/main/java/me/lucko/spark/fabric/FabricClientCommandSender.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,16 @@
2020

2121
package me.lucko.spark.fabric;
2222

23+
import com.google.gson.JsonParseException;
24+
import com.mojang.serialization.JsonOps;
2325
import me.lucko.spark.common.command.sender.AbstractCommandSender;
2426
import net.fabricmc.fabric.api.client.command.v2.FabricClientCommandSource;
2527
import net.kyori.adventure.text.Component;
2628
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
2729
import net.minecraft.client.network.ClientCommandSource;
2830
import net.minecraft.registry.DynamicRegistryManager;
2931
import net.minecraft.text.Text;
32+
import net.minecraft.text.TextCodecs;
3033

3134
import java.util.UUID;
3235

@@ -51,7 +54,10 @@ public UUID getUniqueId() {
5154

5255
@Override
5356
public void sendMessage(Component message) {
54-
Text component = Text.Serialization.fromJsonTree(GsonComponentSerializer.gson().serializeToTree(message), DynamicRegistryManager.EMPTY);
57+
Text component = TextCodecs.CODEC.decode(
58+
DynamicRegistryManager.EMPTY.getOps(JsonOps.INSTANCE),
59+
GsonComponentSerializer.gson().serializeToTree(message)
60+
).getOrThrow(JsonParseException::new).getFirst();
5561
this.delegate.sendFeedback(component);
5662
}
5763

spark-fabric/src/main/java/me/lucko/spark/fabric/FabricServerCommandSender.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package me.lucko.spark.fabric;
2222

23+
import com.google.gson.JsonParseException;
24+
import com.mojang.serialization.JsonOps;
2325
import me.lucko.fabric.api.permissions.v0.Permissions;
2426
import me.lucko.spark.common.command.sender.AbstractCommandSender;
2527
import net.kyori.adventure.text.Component;
@@ -30,6 +32,7 @@
3032
import net.minecraft.server.command.ServerCommandSource;
3133
import net.minecraft.server.network.ServerPlayerEntity;
3234
import net.minecraft.text.Text;
35+
import net.minecraft.text.TextCodecs;
3336

3437
import java.util.UUID;
3538

@@ -55,7 +58,10 @@ public UUID getUniqueId() {
5558

5659
@Override
5760
public void sendMessage(Component message) {
58-
Text component = Text.Serialization.fromJsonTree(GsonComponentSerializer.gson().serializeToTree(message), DynamicRegistryManager.EMPTY);
61+
Text component = TextCodecs.CODEC.decode(
62+
DynamicRegistryManager.EMPTY.getOps(JsonOps.INSTANCE),
63+
GsonComponentSerializer.gson().serializeToTree(message)
64+
).getOrThrow(JsonParseException::new).getFirst();
5965
this.delegate.sendMessage(component);
6066
}
6167

spark-fabric/src/main/java/me/lucko/spark/fabric/placeholder/SparkFabricPlaceholderApi.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
package me.lucko.spark.fabric.placeholder;
2222

23+
import com.google.gson.JsonParseException;
24+
import com.mojang.serialization.JsonOps;
2325
import eu.pb4.placeholders.api.PlaceholderContext;
2426
import eu.pb4.placeholders.api.PlaceholderHandler;
2527
import eu.pb4.placeholders.api.PlaceholderResult;
@@ -30,6 +32,7 @@
3032
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
3133
import net.minecraft.registry.DynamicRegistryManager;
3234
import net.minecraft.text.Text;
35+
import net.minecraft.text.TextCodecs;
3336
import net.minecraft.util.Identifier;
3437
import org.jetbrains.annotations.Nullable;
3538

@@ -58,7 +61,10 @@ private static PlaceholderResult toResult(Component component) {
5861
}
5962

6063
private static Text toText(Component component) {
61-
return Text.Serialization.fromJsonTree(GsonComponentSerializer.gson().serializeToTree(component), DynamicRegistryManager.EMPTY);
64+
return TextCodecs.CODEC.decode(
65+
DynamicRegistryManager.EMPTY.getOps(JsonOps.INSTANCE),
66+
GsonComponentSerializer.gson().serializeToTree(component)
67+
).getOrThrow(JsonParseException::new).getFirst();
6268
}
6369
}
6470

spark-forge/build.gradle

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ tasks.withType(JavaCompile) {
99
}
1010

1111
minecraft {
12-
mappings channel: 'official', version: '1.21.5'
12+
mappings channel: 'official', version: '1.21.6'
1313
accessTransformer = file('src/main/resources/META-INF/accesstransformer.cfg')
1414
reobf = false
1515
}
@@ -20,7 +20,8 @@ configurations {
2020
}
2121

2222
dependencies {
23-
minecraft 'net.minecraftforge:forge:1.21.5-55.0.12'
23+
minecraft 'net.minecraftforge:forge:1.21.6-56.0.0'
24+
annotationProcessor 'net.minecraftforge:eventbus-validator:7.0-beta.7'
2425
shade project(':spark-common')
2526
}
2627

spark-forge/src/main/java/me/lucko/spark/forge/ForgeClientCommandSender.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@
2020

2121
package me.lucko.spark.forge;
2222

23+
import com.google.gson.JsonParseException;
24+
import com.mojang.serialization.JsonOps;
2325
import me.lucko.spark.common.command.sender.AbstractCommandSender;
2426
import net.kyori.adventure.text.Component;
2527
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
2628
import net.minecraft.client.player.LocalPlayer;
2729
import net.minecraft.commands.CommandSourceStack;
2830
import net.minecraft.core.RegistryAccess;
29-
import net.minecraft.network.chat.Component.Serializer;
30-
import net.minecraft.network.chat.MutableComponent;
31+
import net.minecraft.network.chat.ComponentSerialization;
3132
import net.minecraft.world.entity.Entity;
3233

33-
import java.util.Objects;
3434
import java.util.UUID;
3535

3636
public class ForgeClientCommandSender extends AbstractCommandSender<CommandSourceStack> {
@@ -54,8 +54,10 @@ public UUID getUniqueId() {
5454

5555
@Override
5656
public void sendMessage(Component message) {
57-
MutableComponent component = Serializer.fromJson(GsonComponentSerializer.gson().serializeToTree(message), RegistryAccess.EMPTY);
58-
Objects.requireNonNull(component, "component");
57+
net.minecraft.network.chat.Component component = ComponentSerialization.CODEC.decode(
58+
RegistryAccess.EMPTY.createSerializationContext(JsonOps.INSTANCE),
59+
GsonComponentSerializer.gson().serializeToTree(message)
60+
).getOrThrow(JsonParseException::new).getFirst();
5961
super.delegate.sendSystemMessage(component);
6062
}
6163

spark-forge/src/main/java/me/lucko/spark/forge/ForgeServerCommandSender.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,17 +20,17 @@
2020

2121
package me.lucko.spark.forge;
2222

23+
import com.google.gson.JsonParseException;
24+
import com.mojang.serialization.JsonOps;
2325
import me.lucko.spark.common.command.sender.AbstractCommandSender;
2426
import me.lucko.spark.forge.plugin.ForgeServerSparkPlugin;
2527
import net.kyori.adventure.text.Component;
2628
import net.kyori.adventure.text.serializer.gson.GsonComponentSerializer;
2729
import net.minecraft.commands.CommandSourceStack;
2830
import net.minecraft.core.RegistryAccess;
29-
import net.minecraft.network.chat.Component.Serializer;
30-
import net.minecraft.network.chat.MutableComponent;
31+
import net.minecraft.network.chat.ComponentSerialization;
3132
import net.minecraft.world.entity.Entity;
3233

33-
import java.util.Objects;
3434
import java.util.UUID;
3535

3636
public class ForgeServerCommandSender extends AbstractCommandSender<CommandSourceStack> {
@@ -58,8 +58,10 @@ public UUID getUniqueId() {
5858

5959
@Override
6060
public void sendMessage(Component message) {
61-
MutableComponent component = Serializer.fromJson(GsonComponentSerializer.gson().serializeToTree(message), RegistryAccess.EMPTY);
62-
Objects.requireNonNull(component, "component");
61+
net.minecraft.network.chat.Component component = ComponentSerialization.CODEC.decode(
62+
RegistryAccess.EMPTY.createSerializationContext(JsonOps.INSTANCE),
63+
GsonComponentSerializer.gson().serializeToTree(message)
64+
).getOrThrow(JsonParseException::new).getFirst();
6365
super.delegate.sendSystemMessage(component);
6466
}
6567

spark-forge/src/main/java/me/lucko/spark/forge/ForgeSparkMod.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,7 @@
2222

2323
import me.lucko.spark.forge.plugin.ForgeClientSparkPlugin;
2424
import me.lucko.spark.forge.plugin.ForgeServerSparkPlugin;
25-
import net.minecraftforge.common.MinecraftForge;
2625
import net.minecraftforge.event.server.ServerAboutToStartEvent;
27-
import net.minecraftforge.eventbus.api.SubscribeEvent;
2826
import net.minecraftforge.fml.IExtensionPoint;
2927
import net.minecraftforge.fml.ModContainer;
3028
import net.minecraftforge.fml.common.Mod;
@@ -44,10 +42,10 @@ public ForgeSparkMod(FMLJavaModLoadingContext ctx) {
4442
this.container = ctx.getContainer();
4543
this.configDirectory = FMLPaths.CONFIGDIR.get().resolve(this.container.getModId());
4644

47-
ctx.getModEventBus().addListener(this::clientInit);
45+
FMLClientSetupEvent.getBus(ctx.getModBusGroup()).addListener(this::clientInit);
4846
ctx.registerDisplayTest(IExtensionPoint.DisplayTest.IGNORE_ALL_VERSION);
4947

50-
MinecraftForge.EVENT_BUS.register(this);
48+
ServerAboutToStartEvent.BUS.addListener(this::serverInit);
5149
}
5250

5351
public String getVersion() {
@@ -58,7 +56,6 @@ public void clientInit(FMLClientSetupEvent e) {
5856
ForgeClientSparkPlugin.register(this, e);
5957
}
6058

61-
@SubscribeEvent
6259
public void serverInit(ServerAboutToStartEvent e) {
6360
ForgeServerSparkPlugin.register(this, e);
6461
}

spark-forge/src/main/java/me/lucko/spark/forge/ForgeTickHook.java

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -22,38 +22,40 @@
2222

2323
import me.lucko.spark.common.tick.AbstractTickHook;
2424
import me.lucko.spark.common.tick.TickHook;
25-
import net.minecraftforge.common.MinecraftForge;
2625
import net.minecraftforge.event.TickEvent;
27-
import net.minecraftforge.eventbus.api.SubscribeEvent;
26+
import net.minecraftforge.eventbus.api.bus.EventBus;
27+
import net.minecraftforge.eventbus.api.listener.EventListener;
28+
29+
import java.util.Objects;
2830

2931
public class ForgeTickHook extends AbstractTickHook implements TickHook {
30-
private final TickEvent.Type type;
32+
private final EventBus<? extends TickEvent> bus;
33+
private EventListener listener;
3134

3235
public ForgeTickHook(TickEvent.Type type) {
33-
this.type = type;
36+
this.bus = switch (type) {
37+
case CLIENT -> TickEvent.ClientTickEvent.Pre.BUS;
38+
case SERVER -> TickEvent.ServerTickEvent.Pre.BUS;
39+
default -> null;
40+
};
41+
Objects.requireNonNull(this.bus, "bus");
3442
}
3543

36-
@SubscribeEvent
3744
public void onTick(TickEvent e) {
38-
if (e.phase != TickEvent.Phase.START) {
39-
return;
40-
}
41-
42-
if (e.type != this.type) {
43-
return;
44-
}
45-
4645
onTick();
4746
}
4847

4948
@Override
5049
public void start() {
51-
MinecraftForge.EVENT_BUS.register(this);
50+
this.listener = this.bus.addListener(this::onTick);
5251
}
5352

5453
@Override
5554
public void close() {
56-
MinecraftForge.EVENT_BUS.unregister(this);
55+
if (this.listener != null) {
56+
this.bus.removeListener(this.listener);
57+
this.listener = null;
58+
}
5759
}
5860

5961
}

spark-forge/src/main/java/me/lucko/spark/forge/ForgeTickReporter.java

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -22,38 +22,58 @@
2222

2323
import me.lucko.spark.common.tick.SimpleTickReporter;
2424
import me.lucko.spark.common.tick.TickReporter;
25-
import net.minecraftforge.common.MinecraftForge;
2625
import net.minecraftforge.event.TickEvent;
27-
import net.minecraftforge.eventbus.api.SubscribeEvent;
26+
import net.minecraftforge.eventbus.api.bus.EventBus;
27+
import net.minecraftforge.eventbus.api.listener.EventListener;
28+
29+
import java.util.Objects;
2830

2931
public class ForgeTickReporter extends SimpleTickReporter implements TickReporter {
30-
private final TickEvent.Type type;
32+
private final EventBus<? extends TickEvent> preBus;
33+
private final EventBus<? extends TickEvent> postBus;
34+
35+
private EventListener preListener;
36+
private EventListener postListener;
3137

3238
public ForgeTickReporter(TickEvent.Type type) {
33-
this.type = type;
39+
this.preBus = switch (type) {
40+
case CLIENT -> TickEvent.ClientTickEvent.Pre.BUS;
41+
case SERVER -> TickEvent.ServerTickEvent.Pre.BUS;
42+
default -> null;
43+
};
44+
this.postBus = switch (type) {
45+
case CLIENT -> TickEvent.ClientTickEvent.Post.BUS;
46+
case SERVER -> TickEvent.ServerTickEvent.Post.BUS;
47+
default -> null;
48+
};
49+
Objects.requireNonNull(this.preBus, "preBus");
50+
Objects.requireNonNull(this.postBus, "postBus");
3451
}
3552

36-
@SubscribeEvent
37-
public void onTick(TickEvent e) {
38-
if (e.type != this.type) {
39-
return;
40-
}
53+
public void onStart(TickEvent e) {
54+
onStart();
55+
}
4156

42-
switch (e.phase) {
43-
case START -> onStart();
44-
case END -> onEnd();
45-
default -> throw new AssertionError(e.phase);
46-
}
57+
public void onEnd(TickEvent e) {
58+
onEnd();
4759
}
4860

4961
@Override
5062
public void start() {
51-
MinecraftForge.EVENT_BUS.register(this);
63+
this.preListener = this.preBus.addListener(this::onStart);
64+
this.postListener = this.postBus.addListener(this::onEnd);
5265
}
5366

5467
@Override
5568
public void close() {
56-
MinecraftForge.EVENT_BUS.unregister(this);
69+
if (this.preListener != null) {
70+
this.preBus.removeListener(this.preListener);
71+
this.preListener = null;
72+
}
73+
if (this.postListener != null) {
74+
this.postBus.removeListener(this.postListener);
75+
this.postListener = null;
76+
}
5777
super.close();
5878
}
5979

0 commit comments

Comments
 (0)