aboutsummaryrefslogtreecommitdiff
path: root/src/main/java
diff options
context:
space:
mode:
authorUnknown <shekwancheung0528@gmail.com>2019-04-30 20:16:40 +0800
committerUnknown <shekwancheung0528@gmail.com>2019-04-30 20:16:40 +0800
commit6345d24492242ba9ea26c6b83163aa81464c8cfd (patch)
treec27abf2db7b9c5a2b549ed0a57a9cee338d3e441 /src/main/java
parent84ec7057e25602a8705efc5ee1b34c8f05184ea4 (diff)
parenta7e0b3e2bfbdefdd7eee4dc108e7e6e4fce5da33 (diff)
downloadRoughlyEnoughItems-6345d24492242ba9ea26c6b83163aa81464c8cfd.tar.gz
RoughlyEnoughItems-6345d24492242ba9ea26c6b83163aa81464c8cfd.tar.bz2
RoughlyEnoughItems-6345d24492242ba9ea26c6b83163aa81464c8cfd.zip
Merge branch '1.14-dev' into 1.14
Diffstat (limited to 'src/main/java')
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java15
-rw-r--r--src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java22
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java38
-rw-r--r--src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java15
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java17
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinClientConnection.java25
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinClientPlayNetworkHandler.java19
-rw-r--r--src/main/java/me/shedaniel/rei/mixin/MixinPlayerManager.java21
9 files changed, 60 insertions, 114 deletions
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
index 155ea0ae1..e2cf44c0f 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsCore.java
@@ -12,9 +12,11 @@ import me.shedaniel.rei.gui.ContainerScreenOverlay;
import me.shedaniel.rei.listeners.CreativePlayerInventoryScreenHooks;
import me.shedaniel.rei.listeners.RecipeBookGuiHooks;
import net.fabricmc.api.ClientModInitializer;
+import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
import net.fabricmc.loader.api.FabricLoader;
import net.fabricmc.loader.api.ModContainer;
import net.fabricmc.loader.api.metadata.ModMetadata;
+import net.minecraft.client.MinecraftClient;
import net.minecraft.client.gui.ContainerScreen;
import net.minecraft.client.gui.Element;
import net.minecraft.client.gui.ingame.CreativePlayerInventoryScreen;
@@ -43,7 +45,6 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
private static final ItemRegistry ITEM_REGISTRY = new ItemRegistryImpl();
private static final DisplayHelper DISPLAY_HELPER = new DisplayHelperImpl();
private static final Map<Identifier, REIPluginEntry> plugins = Maps.newHashMap();
- public static boolean reiIsOnServer = false;
private static ConfigManagerImpl configManager;
static {
@@ -88,6 +89,18 @@ public class RoughlyEnoughItemsCore implements ClientModInitializer {
return Optional.empty();
}
+ public static boolean hasPermissionToUsePackets() {
+ return hasOperatorPermission() && canUsePackets();
+ }
+
+ public static boolean hasOperatorPermission() {
+ return MinecraftClient.getInstance().getNetworkHandler().getCommandSource().hasPermissionLevel(1);
+ }
+
+ public static boolean canUsePackets() {
+ return ClientSidePacketRegistry.INSTANCE.canServerReceive(RoughlyEnoughItemsNetwork.CREATE_ITEMS_PACKET) && ClientSidePacketRegistry.INSTANCE.canServerReceive(RoughlyEnoughItemsNetwork.DELETE_ITEMS_PACKET);
+ }
+
@Override
public void onInitializeClient() {
configManager = new ConfigManagerImpl();
diff --git a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
index 3a8dcf54c..362479612 100644
--- a/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
+++ b/src/main/java/me/shedaniel/rei/RoughlyEnoughItemsNetwork.java
@@ -1,15 +1,13 @@
package me.shedaniel.rei;
import me.shedaniel.rei.gui.widget.ItemListOverlay;
-import net.fabricmc.api.EnvType;
import net.fabricmc.api.ModInitializer;
-import net.fabricmc.fabric.api.network.ClientSidePacketRegistry;
import net.fabricmc.fabric.api.network.ServerSidePacketRegistry;
-import net.fabricmc.loader.api.FabricLoader;
import net.minecraft.client.resource.language.I18n;
import net.minecraft.item.ItemStack;
import net.minecraft.server.network.ServerPlayerEntity;
import net.minecraft.text.StringTextComponent;
+import net.minecraft.text.TextFormat;
import net.minecraft.text.TranslatableTextComponent;
import net.minecraft.util.Identifier;
@@ -17,7 +15,6 @@ 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 REI_ON_SERVER_PACKET = new Identifier("roughlyenoughitems", "rei_on_server");
@Override
public void onInitialize() {
@@ -29,24 +26,15 @@ public class RoughlyEnoughItemsNetwork implements ModInitializer {
ServerSidePacketRegistry.INSTANCE.register(CREATE_ITEMS_PACKET, (packetContext, packetByteBuf) -> {
ServerPlayerEntity player = (ServerPlayerEntity) packetContext.getPlayer();
ItemStack stack = packetByteBuf.readItemStack();
+ if (!player.getServer().getCommandSource().hasPermissionLevel(1)) {
+ player.addChatMessage(new TranslatableTextComponent("text.rei.no_permission_cheat").applyFormat(TextFormat.RED), false);
+ return;
+ }
if (player.inventory.insertStack(stack.copy()))
player.addChatMessage(new StringTextComponent(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
player.addChatMessage(new TranslatableTextComponent("text.rei.failed_cheat_items"), false);
});
- ClientSidePacketRegistry.INSTANCE.register(REI_ON_SERVER_PACKET, (packetContext, packetByteBuf) -> {
- if (FabricLoader.getInstance().getEnvironmentType() == EnvType.CLIENT) {
- try {
- Class.forName("me.shedaniel.rei.RoughlyEnoughItemsCore").getDeclaredField("reiIsOnServer").set(null, true);
- } catch (IllegalAccessException e) {
- e.printStackTrace();
- } catch (NoSuchFieldException e) {
- e.printStackTrace();
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- }
- });
}
}
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index 1e274241d..0a3484786 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -94,7 +94,7 @@ public class ClientHelper implements ClientModInitializer {
}
public static boolean tryCheatingStack(ItemStack cheatedStack) {
- if (MinecraftClient.getInstance().isInSingleplayer()) {
+ if (RoughlyEnoughItemsCore.canUsePackets()) {
try {
ClientSidePacketRegistry.INSTANCE.sendToServer(RoughlyEnoughItemsNetwork.CREATE_ITEMS_PACKET, new PacketByteBuf(Unpooled.buffer()).writeItemStack(cheatedStack.copy()));
return true;
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index 9ca770d5c..41bd9b9ec 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -61,7 +61,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
this.rectangle = RoughlyEnoughItemsCore.getConfigManager().getConfig().mirrorItemPanel ? boundsHandler.getLeftBounds(MinecraftClient.getInstance().currentScreen) : boundsHandler.getRightBounds(MinecraftClient.getInstance().currentScreen);
this.lastLeft = getLeft();
widgets.add(itemListOverlay = new ItemListOverlay(page));
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
widgets.add(buttonLeft = new ButtonWidget(rectangle.x, rectangle.y + 5, 16, 16, new TranslatableTextComponent("text.rei.left_arrow")) {
@Override
@@ -69,7 +69,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
page--;
if (page < 0)
page = getTotalPage();
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
@Override
@@ -88,7 +88,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
page++;
if (page > getTotalPage())
page = 0;
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
@Override
@@ -119,8 +119,12 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
public void render(int mouseX, int mouseY, float delta) {
super.render(mouseX, mouseY, delta);
GuiLighting.disable();
- if (ClientHelper.isCheating())
- fill(getBounds().x, getBounds().y, getBounds().x + 20, getBounds().y + 20, new Color(255, 0, 0, 42).getRGB());
+ if (ClientHelper.isCheating() && RoughlyEnoughItemsCore.hasOperatorPermission()) {
+ if (RoughlyEnoughItemsCore.hasPermissionToUsePackets())
+ fill(getBounds().x, getBounds().y, getBounds().x + 20, getBounds().y + 20, 721354752);
+ else
+ fill(getBounds().x, getBounds().y, getBounds().x + 20, getBounds().y + 20, 1476440063);
+ }
MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
blit(getBounds().x + 3, getBounds().y + 3, 0, 0, 14, 14);
@@ -131,9 +135,13 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
String tooltips = I18n.translate("text.rei.config_tooltip");
tooltips += "\n ";
if (!ClientHelper.isCheating())
- tooltips += "\n§c§m" + I18n.translate("text.rei.cheating");
+ tooltips += "\n" + I18n.translate("text.rei.cheating_disabled");
+ else if (!RoughlyEnoughItemsCore.hasOperatorPermission())
+ tooltips += "\n" + I18n.translate("text.rei.cheating_enabled_no_perms");
+ else if (RoughlyEnoughItemsCore.hasPermissionToUsePackets())
+ tooltips += "\n" + I18n.translate("text.rei.cheating_enabled");
else
- tooltips += "\n§a" + I18n.translate("text.rei.cheating");
+ tooltips += "\n" + I18n.translate("text.rei.cheating_limited_enabled");
return Optional.ofNullable(tooltips);
}
@@ -208,7 +216,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
public void onLabelClicked() {
MinecraftClient.getInstance().getSoundManager().play(PositionedSoundInstance.master(SoundEvents.UI_BUTTON_CLICK, 1.0F));
page = 0;
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
@Override
@@ -219,19 +227,19 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
buttonLeft.enabled = buttonRight.enabled = getTotalPage() > 0;
if (ScreenHelper.searchField == null)
ScreenHelper.searchField = new SearchFieldWidget(0, 0, 0, 0);
- ScreenHelper.searchField.setChangedListener(s -> {
- searchTerm = s;
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
- });
ScreenHelper.searchField.getBounds().setBounds(getTextFieldArea());
this.widgets.add(ScreenHelper.searchField);
ScreenHelper.searchField.setText(searchTerm);
+ ScreenHelper.searchField.setChangedListener(s -> {
+ searchTerm = s;
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
+ });
if (RoughlyEnoughItemsCore.getConfigManager().getConfig().enableCraftableOnlyButton)
this.widgets.add(toggleButtonWidget = new CraftableToggleButtonWidget(getCraftableToggleArea()) {
@Override
public void onPressed() {
RoughlyEnoughItemsCore.getConfigManager().toggleCraftableOnly();
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
@Override
@@ -242,7 +250,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
});
else
toggleButtonWidget = null;
- this.itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ this.itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, false);
}
private Weather getNextWeather() {
@@ -324,7 +332,7 @@ public class ContainerScreenOverlay extends AbstractParentElement implements Dra
else if (RoughlyEnoughItemsCore.getConfigManager().isCraftableOnlyEnabled() && (!hasSameListContent(new LinkedList<>(ScreenHelper.inventoryStacks), currentStacks) || (currentStacks.size() != ScreenHelper.inventoryStacks.size()))) {
ScreenHelper.inventoryStacks = ClientHelper.getInventoryItemsTypes();
DisplayHelper.DisplayBoundsHandler boundsHandler = RoughlyEnoughItemsCore.getDisplayHelper().getResponsibleBoundsHandler(MinecraftClient.getInstance().currentScreen.getClass());
- itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm);
+ itemListOverlay.updateList(boundsHandler, boundsHandler.getItemListArea(rectangle), page, searchTerm, true);
}
GlStateManager.color4f(1.0F, 1.0F, 1.0F, 1.0F);
GuiLighting.disable();
diff --git a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
index 3145b2d44..07d65ff50 100644
--- a/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/credits/CreditsEntryListWidget.java
@@ -1,30 +1,29 @@
package me.shedaniel.rei.gui.credits;
import net.minecraft.client.MinecraftClient;
-import net.minecraft.client.gui.menu.AlwaysSelectedItemListWidget;
+import net.minecraft.client.gui.menu.AlwaysSelectedEntryListWidget;
import net.minecraft.text.TextComponent;
-public class CreditsEntryListWidget extends AlwaysSelectedItemListWidget<CreditsEntryListWidget.CreditsItem> {
+public class CreditsEntryListWidget extends AlwaysSelectedEntryListWidget<CreditsEntryListWidget.CreditsItem> {
public CreditsEntryListWidget(MinecraftClient client, int width, int height, int startY, int endY, int entryHeight) {
super(client, width, height, startY, endY, entryHeight);
- visible = false; // showSelection
}
public void creditsClearEntries() {
- clearItems();
+ clearEntries();
}
- private CreditsItem getEntry(int int_1) {
+ private CreditsItem rei_getEntry(int int_1) {
return this.children().get(int_1);
}
public void creditsAddEntry(CreditsItem entry) {
- addItem(entry);
+ addEntry(entry);
}
@Override
- public int getItemWidth() {
+ public int getRowWidth() {
return width - 80;
}
@@ -33,7 +32,7 @@ public class CreditsEntryListWidget extends AlwaysSelectedItemListWidget<Credits
return width - 40;
}
- public static class CreditsItem extends AlwaysSelectedItemListWidget.Item<CreditsItem> {
+ public static class CreditsItem extends AlwaysSelectedEntryListWidget.Entry<CreditsItem> {
private String text;
public CreditsItem(TextComponent textComponent) {
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
index 5122d0fd1..345342ef0 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/ItemListOverlay.java
@@ -34,10 +34,10 @@ import java.util.stream.Collectors;
public class ItemListOverlay extends Widget {
private static List<Item> searchBlacklisted = Lists.newArrayList();
+ private final List<ItemStack> currentDisplayed;
private List<Widget> widgets;
private int width, height, page;
private Rectangle rectangle, listArea;
- private List<ItemStack> currentDisplayed;
public ItemListOverlay(int page) {
this.currentDisplayed = Lists.newArrayList();
@@ -82,16 +82,19 @@ public class ItemListOverlay extends Widget {
GuiLighting.disable();
widgets.forEach(widget -> widget.render(int_1, int_2, float_1));
ClientPlayerEntity player = minecraft.player;
- if (rectangle.contains(ClientUtils.getMouseLocation()) && ClientHelper.isCheating() && !player.inventory.getCursorStack().isEmpty() && minecraft.isInSingleplayer())
+ if (rectangle.contains(ClientUtils.getMouseLocation()) && ClientHelper.isCheating() && !player.inventory.getCursorStack().isEmpty() && RoughlyEnoughItemsCore.hasPermissionToUsePackets())
ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(I18n.translate("text.rei.delete_items")));
}
- public void updateList(DisplayHelper.DisplayBoundsHandler boundsHandler, Rectangle rectangle, int page, String searchTerm) {
+ public void updateList(DisplayHelper.DisplayBoundsHandler boundsHandler, Rectangle rectangle, int page, String searchTerm, boolean processSearchTerm) {
this.rectangle = rectangle;
this.page = page;
this.widgets = Lists.newLinkedList();
calculateListSize(rectangle);
- currentDisplayed = processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), ScreenHelper.inventoryStacks);
+ if (currentDisplayed.isEmpty() || processSearchTerm) {
+ currentDisplayed.clear();
+ currentDisplayed.addAll(processSearchTerm(searchTerm, RoughlyEnoughItemsCore.getItemRegisterer().getItemList(), ScreenHelper.inventoryStacks));
+ }
int startX = (int) rectangle.getCenterX() - width * 9;
int startY = (int) rectangle.getCenterY() - height * 9;
this.listArea = new Rectangle((int) startX, (int) startY, width * 18, height * 18);
@@ -182,7 +185,7 @@ public class ItemListOverlay extends Widget {
}
private List<ItemStack> processSearchTerm(String searchTerm, List<ItemStack> ol, List<ItemStack> inventoryItems) {
- List<ItemStack> os = new LinkedList<>(ol), stacks = Lists.newArrayList(), finalStacks = Lists.newArrayList();
+ List<ItemStack> os = Lists.newArrayList(ol), stacks = Lists.newArrayList(), finalStacks = Lists.newArrayList();
List<ItemGroup> itemGroups = Lists.newArrayList(ItemGroup.GROUPS);
itemGroups.add(null);
ItemListOrdering ordering = RoughlyEnoughItemsCore.getConfigManager().getConfig().itemListOrdering;
@@ -276,11 +279,11 @@ public class ItemListOverlay extends Widget {
public boolean mouseClicked(double double_1, double double_2, int int_1) {
if (rectangle.contains(double_1, double_2)) {
ClientPlayerEntity player = minecraft.player;
- if (ClientHelper.isCheating() && !player.inventory.getCursorStack().isEmpty() && minecraft.isInSingleplayer()) {
+ if (ClientHelper.isCheating() && !player.inventory.getCursorStack().isEmpty() && RoughlyEnoughItemsCore.hasPermissionToUsePackets()) {
ClientHelper.sendDeletePacket();
return true;
}
- if (!player.inventory.getCursorStack().isEmpty() && minecraft.isInSingleplayer())
+ if (!player.inventory.getCursorStack().isEmpty() && RoughlyEnoughItemsCore.hasPermissionToUsePackets())
return false;
for(Widget widget : children())
if (widget.mouseClicked(double_1, double_2, int_1))
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinClientConnection.java b/src/main/java/me/shedaniel/rei/mixin/MixinClientConnection.java
deleted file mode 100644
index 8b137aff7..000000000
--- a/src/main/java/me/shedaniel/rei/mixin/MixinClientConnection.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package me.shedaniel.rei.mixin;
-
-import io.netty.channel.Channel;
-import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import net.minecraft.network.ClientConnection;
-import net.minecraft.text.TextComponent;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.Shadow;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(ClientConnection.class)
-public class MixinClientConnection {
-
- @Shadow
- private Channel channel;
-
- @Inject(method = "disconnect", at = @At("HEAD"))
- public void disconnect(TextComponent reason, CallbackInfo callback) {
- if (channel.isOpen())
- RoughlyEnoughItemsCore.reiIsOnServer = false;
- }
-
-}
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinClientPlayNetworkHandler.java b/src/main/java/me/shedaniel/rei/mixin/MixinClientPlayNetworkHandler.java
deleted file mode 100644
index 6543a6a97..000000000
--- a/src/main/java/me/shedaniel/rei/mixin/MixinClientPlayNetworkHandler.java
+++ /dev/null
@@ -1,19 +0,0 @@
-package me.shedaniel.rei.mixin;
-
-import me.shedaniel.rei.RoughlyEnoughItemsCore;
-import net.minecraft.client.network.ClientPlayNetworkHandler;
-import net.minecraft.client.network.packet.GameJoinS2CPacket;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(ClientPlayNetworkHandler.class)
-public class MixinClientPlayNetworkHandler {
-
- @Inject(method = "onGameJoin", at = @At("HEAD"))
- public void onGameJoin(GameJoinS2CPacket packet, CallbackInfo callbackInfo) {
- RoughlyEnoughItemsCore.reiIsOnServer = false;
- }
-
-}
diff --git a/src/main/java/me/shedaniel/rei/mixin/MixinPlayerManager.java b/src/main/java/me/shedaniel/rei/mixin/MixinPlayerManager.java
deleted file mode 100644
index ff1fade39..000000000
--- a/src/main/java/me/shedaniel/rei/mixin/MixinPlayerManager.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package me.shedaniel.rei.mixin;
-
-import io.netty.buffer.Unpooled;
-import me.shedaniel.rei.RoughlyEnoughItemsNetwork;
-import net.fabricmc.fabric.api.network.ServerSidePacketRegistry;
-import net.minecraft.network.ClientConnection;
-import net.minecraft.server.PlayerManager;
-import net.minecraft.server.network.ServerPlayerEntity;
-import net.minecraft.util.PacketByteBuf;
-import org.spongepowered.asm.mixin.Mixin;
-import org.spongepowered.asm.mixin.injection.At;
-import org.spongepowered.asm.mixin.injection.Inject;
-import org.spongepowered.asm.mixin.injection.callback.CallbackInfo;
-
-@Mixin(PlayerManager.class)
-public class MixinPlayerManager {
- @Inject(method = "onPlayerConnect", at = @At("TAIL"))
- public void onPlayerConnect(ClientConnection connection, ServerPlayerEntity player, CallbackInfo callback) {
- ServerSidePacketRegistry.INSTANCE.sendToPlayer(player, RoughlyEnoughItemsNetwork.REI_ON_SERVER_PACKET, new PacketByteBuf(Unpooled.buffer()));
- }
-}