diff options
Diffstat (limited to 'src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java index b2c444ec1..5b41b0ea9 100644 --- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java +++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java @@ -5,8 +5,10 @@ package me.shedaniel.rei; +import io.netty.buffer.Unpooled; import me.shedaniel.rei.gui.widget.ItemListOverlay; import net.fabricmc.api.ModInitializer; +import net.fabricmc.fabric.api.network.ClientSidePacketRegistry; import net.fabricmc.fabric.api.network.ServerSidePacketRegistry; import net.minecraft.ChatFormat; import net.minecraft.client.resource.language.I18n; @@ -15,11 +17,13 @@ import net.minecraft.network.chat.TextComponent; import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.server.network.ServerPlayerEntity; import net.minecraft.util.Identifier; +import net.minecraft.util.PacketByteBuf; public class RoughlyEnoughItemsNetwork implements ModInitializer { public static final Identifier DELETE_ITEMS_PACKET = new Identifier("roughlyenoughitems", "delete_item"); public static final Identifier CREATE_ITEMS_PACKET = new Identifier("roughlyenoughitems", "create_item"); + public static final Identifier CREATE_ITEMS_MESSAGE_PACKET = new Identifier("roughlyenoughitems", "create_item_message"); @Override public void onInitialize() { @@ -39,11 +43,16 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer { return; } ItemStack stack = packetByteBuf.readItemStack(); - if (player.inventory.insertStack(stack.copy())) - player.addChatMessage(new TextComponent(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", ItemListOverlay.tryGetItemStackName(stack.copy())).replaceAll("\\{item_count}", stack.copy().getAmount() + "").replaceAll("\\{player_name}", player.getEntityName())), false); - else + if (player.inventory.insertStack(stack.copy())) { + ServerSidePacketRegistry.INSTANCE.sendToPlayer(player, RoughlyEnoughItemsNetwork.CREATE_ITEMS_MESSAGE_PACKET, new PacketByteBuf(Unpooled.buffer()).writeItemStack(stack.copy()).writeString(player.getEntityName())); + } else player.addChatMessage(new TranslatableComponent("text.rei.failed_cheat_items"), false); }); + ClientSidePacketRegistry.INSTANCE.register(CREATE_ITEMS_MESSAGE_PACKET, (packetContext, packetByteBuf) -> { + ItemStack stack = packetByteBuf.readItemStack(); + String player = packetByteBuf.readString(); + packetContext.getPlayer().addChatMessage(new TextComponent(I18n.translate("text.rei.cheat_items").replaceAll("\\{item_name}", ItemListOverlay.tryGetItemStackName(stack.copy())).replaceAll("\\{item_count}", stack.copy().getAmount() + "").replaceAll("\\{player_name}", player)), false); + }); } } |
