Skip to content

Commit 07d8fc6

Browse files
committed
1.19.1
1 parent 0485ddb commit 07d8fc6

6 files changed

Lines changed: 52 additions & 52 deletions

File tree

common/src/main/java/org/samo_lego/taterzens/gui/EditorGUI.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,7 @@ private static void execute(ServerPlayer player, List<String> commandTree) {
199199

200200
player.closeContainer();
201201

202-
player.getServer().getCommands().performCommand(player.createCommandSourceStack(), builder.toString());
202+
player.getServer().getCommands().performPrefixedCommand(player.createCommandSourceStack(), builder.toString());
203203
} catch (IllegalArgumentException e) {
204204
player.sendSystemMessage(Component.literal(e.getMessage()));
205205
}

common/src/main/java/org/samo_lego/taterzens/mixin/network/ServerGamePacketListenerImplMixin_MsgEditor.java

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -3,55 +3,53 @@
33
import com.google.gson.JsonParseException;
44
import com.mojang.brigadier.StringReader;
55
import net.minecraft.ChatFormatting;
6+
import net.minecraft.network.chat.ChatSender;
7+
import net.minecraft.network.chat.ChatType;
68
import net.minecraft.network.chat.Component;
7-
import net.minecraft.network.protocol.game.ServerboundChatPacket;
9+
import net.minecraft.network.chat.PlayerChatMessage;
810
import net.minecraft.server.level.ServerPlayer;
9-
import net.minecraft.server.network.FilteredText;
10-
import net.minecraft.server.network.ServerGamePacketListenerImpl;
11+
import net.minecraft.server.players.PlayerList;
1112
import org.samo_lego.taterzens.interfaces.ITaterzenEditor;
1213
import org.samo_lego.taterzens.npc.TaterzenNPC;
1314
import org.spongepowered.asm.mixin.Mixin;
14-
import org.spongepowered.asm.mixin.Shadow;
1515
import org.spongepowered.asm.mixin.injection.At;
1616
import org.spongepowered.asm.mixin.injection.Inject;
1717
import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
1818

19+
import java.util.function.Predicate;
20+
1921
import static org.samo_lego.taterzens.Taterzens.config;
2022
import static org.samo_lego.taterzens.util.TextUtil.successText;
2123
import static org.samo_lego.taterzens.util.TextUtil.translate;
2224

23-
@Mixin(ServerGamePacketListenerImpl.class)
25+
@Mixin(PlayerList.class)
2426
public class ServerGamePacketListenerImplMixin_MsgEditor {
25-
@Shadow public ServerPlayer player;
2627

2728
/**
2829
* Catches messages; if player is in
2930
* message edit mode, messages sent to chat
3031
* will be saved to taterzen instead.
31-
*
32-
* @param message message sent by player
3332
*/
3433
@Inject(
35-
method = "handleChat(Lnet/minecraft/network/protocol/game/ServerboundChatPacket;Lnet/minecraft/server/network/FilteredText;)V",
36-
at = @At(
37-
value = "INVOKE",
38-
target = "Lnet/minecraft/network/protocol/game/ServerboundChatPacket;signedPreview()Z"
39-
),
34+
method = "broadcastChatMessage(Lnet/minecraft/network/chat/PlayerChatMessage;Ljava/util/function/Predicate;Lnet/minecraft/server/level/ServerPlayer;Lnet/minecraft/network/chat/ChatSender;Lnet/minecraft/network/chat/ChatType$Bound;)V",
35+
at = @At(value = "HEAD"),
4036
cancellable = true
4137
)
42-
private void onMessage(ServerboundChatPacket packet, FilteredText<String> message, CallbackInfo ci) {
43-
ITaterzenEditor editor = (ITaterzenEditor) this.player;
38+
private void taterzens_chatBroadcast(PlayerChatMessage playerChatMessage, Predicate<ServerPlayer> predicate, ServerPlayer player, ChatSender chatSender, ChatType.Bound bound, CallbackInfo ci) {
39+
if (player == null) return;
40+
41+
ITaterzenEditor editor = (ITaterzenEditor) player;
4442
TaterzenNPC taterzen = editor.getNpc();
45-
String msg = message.filtered();
43+
String msg = playerChatMessage.serverContent().getString();
4644

47-
if (taterzen != null && ((ITaterzenEditor) this.player).getEditorMode() == ITaterzenEditor.EditorMode.MESSAGES && msg != null && !msg.startsWith("/")) {
45+
if (taterzen != null && ((ITaterzenEditor) player).getEditorMode() == ITaterzenEditor.EditorMode.MESSAGES && msg != null && !msg.startsWith("/")) {
4846
if (msg.startsWith("delay")) {
4947
String[] split = msg.split(" ");
5048
if (split.length > 1) {
5149
try {
5250
int delay = Integer.parseInt(split[1]);
5351
taterzen.setMessageDelay(editor.getEditingMessageIndex(), delay);
54-
this.player.displayClientMessage(successText("taterzens.command.message.delay", String.valueOf(delay)), false);
52+
player.displayClientMessage(successText("taterzens.command.message.delay", String.valueOf(delay)), false);
5553
} catch (NumberFormatException ignored) {
5654

5755
}
@@ -76,7 +74,7 @@ private void onMessage(ServerboundChatPacket packet, FilteredText<String> messag
7674

7775
// Exiting the editor
7876
if(config.messages.exitEditorAfterMsgEdit) {
79-
((ITaterzenEditor) this.player).setEditorMode(ITaterzenEditor.EditorMode.NONE);
77+
((ITaterzenEditor) player).setEditorMode(ITaterzenEditor.EditorMode.NONE);
8078
(editor).setEditingMessageIndex(-1);
8179
player.displayClientMessage(translate("taterzens.command.equipment.exit").withStyle(ChatFormatting.LIGHT_PURPLE), false);
8280
}
@@ -89,4 +87,4 @@ private void onMessage(ServerboundChatPacket packet, FilteredText<String> messag
8987
ci.cancel();
9088
}
9189
}
92-
}
90+
}

common/src/main/java/org/samo_lego/taterzens/mixin/network/ServerGamePacketListenerImplMixin_PacketFaker.java

Lines changed: 19 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
11
package org.samo_lego.taterzens.mixin.network;
22

33
import com.mojang.authlib.GameProfile;
4-
import io.netty.util.concurrent.Future;
5-
import io.netty.util.concurrent.GenericFutureListener;
64
import net.minecraft.network.Connection;
5+
import net.minecraft.network.PacketSendListener;
76
import net.minecraft.network.protocol.Packet;
87
import net.minecraft.network.protocol.game.ClientboundAddPlayerPacket;
98
import net.minecraft.network.protocol.game.ClientboundPlayerInfoPacket;
@@ -16,6 +15,7 @@
1615
import net.minecraft.world.entity.player.Player;
1716
import net.minecraft.world.level.GameType;
1817
import net.minecraft.world.level.Level;
18+
import org.jetbrains.annotations.Nullable;
1919
import org.samo_lego.taterzens.interfaces.ITaterzenEditor;
2020
import org.samo_lego.taterzens.mixin.accessors.ClientboundAddPlayerPacketAccessor;
2121
import org.samo_lego.taterzens.mixin.accessors.ClientboundPlayerInfoPacketAccessor;
@@ -48,13 +48,18 @@
4848
@Mixin(value = ServerGamePacketListenerImpl.class, priority = 900)
4949
public abstract class ServerGamePacketListenerImplMixin_PacketFaker {
5050

51-
@Shadow public ServerPlayer player;
51+
@Shadow
52+
public ServerPlayer player;
5253

5354
@Final
5455
@Shadow
5556
public Connection connection;
5657

57-
@Shadow public abstract void send(Packet<?> packet);
58+
@Shadow
59+
public abstract void send(Packet<?> packet, @Nullable PacketSendListener packetSendListener);
60+
61+
@Shadow
62+
public abstract void send(Packet<?> packet);
5863

5964
@Unique
6065
private boolean taterzens$skipCheck;
@@ -65,24 +70,21 @@ public abstract class ServerGamePacketListenerImplMixin_PacketFaker {
6570

6671
/**
6772
* Changes entity type if entity is an instance of {@link TaterzenNPC}.
68-
*
69-
* @param packet packet to change
70-
* @param listener
7173
*/
7274
@Inject(
73-
method = "send(Lnet/minecraft/network/protocol/Packet;Lio/netty/util/concurrent/GenericFutureListener;)V",
75+
method = "send(Lnet/minecraft/network/protocol/Packet;Lnet/minecraft/network/PacketSendListener;)V",
7476
at = @At(
7577
value = "INVOKE",
76-
target = "Lnet/minecraft/network/Connection;send(Lnet/minecraft/network/protocol/Packet;Lio/netty/util/concurrent/GenericFutureListener;)V"
78+
target = "Lnet/minecraft/network/Connection;send(Lnet/minecraft/network/protocol/Packet;Lnet/minecraft/network/PacketSendListener;)V"
7779
),
7880
cancellable = true
7981
)
80-
private void changeEntityType(Packet<?> packet, GenericFutureListener<? extends Future<? super Void>> listener, CallbackInfo ci) {
82+
private void changeEntityType(Packet<?> packet, PacketSendListener listener, CallbackInfo ci) {
8183
Level world = player.getLevel();
82-
if(packet instanceof ClientboundAddPlayerPacket && !this.taterzens$skipCheck) {
84+
if (packet instanceof ClientboundAddPlayerPacket && !this.taterzens$skipCheck) {
8385
Entity entity = world.getEntity(((ClientboundAddPlayerPacketAccessor) packet).getId());
8486

85-
if(!(entity instanceof TaterzenNPC npc))
87+
if (!(entity instanceof TaterzenNPC npc))
8688
return;
8789

8890
GameProfile profile = npc.getGameProfile();
@@ -91,13 +93,13 @@ private void changeEntityType(Packet<?> packet, GenericFutureListener<? extends
9193
((ClientboundPlayerInfoPacketAccessor) playerAddPacket).setEntries(
9294
Arrays.asList(new ClientboundPlayerInfoPacket.PlayerUpdate(profile, 0, GameType.SURVIVAL, npc.getTabListName(), null))
9395
);
94-
this.send(playerAddPacket);
96+
this.send(playerAddPacket, listener);
9597

9698
// Before we send this packet, we have
9799
// added player to tablist, otherwise client doesn't
98100
// show it ... :mojank:
99101
this.taterzens$skipCheck = true;
100-
this.send(packet);
102+
this.send(packet, listener);
101103
this.taterzens$skipCheck = false;
102104

103105
// And now we can remove it from tablist
@@ -143,14 +145,14 @@ private void removeTaterzenFromTablist(CallbackInfo ci) {
143145
taterzens$queueTick++;
144146

145147
List<ClientboundPlayerInfoPacket.PlayerUpdate> toRemove = new ArrayList<>();
146-
for(var iterator = taterzens$tablistQueue.values().iterator(); iterator.hasNext(); ) {
148+
for (var iterator = taterzens$tablistQueue.values().iterator(); iterator.hasNext(); ) {
147149
var current = iterator.next();
148-
if(current.removeAt() > taterzens$queueTick) break;
150+
if (current.removeAt() > taterzens$queueTick) break;
149151

150152
iterator.remove();
151153
toRemove.add(new ClientboundPlayerInfoPacket.PlayerUpdate(current.profile(), 0, GameType.SURVIVAL, current.displayName(), null));
152154
}
153-
if(toRemove.isEmpty()) return;
155+
if (toRemove.isEmpty()) return;
154156

155157
ClientboundPlayerInfoPacket taterzensRemovePacket = new ClientboundPlayerInfoPacket(REMOVE_PLAYER);
156158
//noinspection ConstantConditions

common/src/main/java/org/samo_lego/taterzens/npc/commands/MinecraftCommand.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public MinecraftCommand() {
1919

2020
@Override
2121
public void execute(TaterzenNPC npc, Player player) {
22-
npc.getServer().getCommands().performCommand(
22+
npc.getServer().getCommands().performPrefixedCommand(
2323
npc.createCommandSourceStack(), command.replaceAll(CLICKER_PLACEHOLDER, player.getGameProfile().getName()));
2424
}
2525

fabric/gradle.properties

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
carpet_core_version=d27767ba98
2-
translations_api=1.4.14+1.19-rc2
1+
carpet_core_version=1.4.83
2+
translations_api=1.4.16+1.19

gradle.properties

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
# Done to increase the memory available to gradle.
22
org.gradle.jvmargs=-Xmx2G
33
# Fabric Properties
4-
minecraft_version=1.19
5-
yarn_mappings=1.19+build.4
6-
loader_version=0.14.7
4+
minecraft_version=1.19.1
5+
yarn_mappings=1.19.1+build.1
6+
loader_version=0.14.8
77
#Fabric api
8-
fabric_version=0.56.0+1.19
9-
#Quilt Mappings
10-
quilt_mappings=1
8+
fabric_version=0.58.5+1.19.1
119
#Forge
12-
forge_version=41.0.1
13-
enable_forge=true
10+
forge_version=42.0.0
11+
enable_forge=false
1412
# Mod Properties
15-
mod_version=1.10.5
13+
mod_version=1.11.0
1614
maven_group=org.samo_lego
1715
archives_base_name=taterzens
16+
#Quilt Mappings
17+
quilt_mappings=1
1818
# Dependencies
1919
disguiselib_version=1.3.1
20-
c2b_version=1.1.4
21-
sgui_version=1.1.0+1.19
20+
c2b_version=1.2.1
21+
sgui_version=1.1.3+1.19.1

0 commit comments

Comments
 (0)