aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/me/shedaniel/rei/client/ClientHelper.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/me/shedaniel/rei/client/ClientHelper.java')
-rw-r--r--src/main/java/me/shedaniel/rei/client/ClientHelper.java30
1 files changed, 23 insertions, 7 deletions
diff --git a/src/main/java/me/shedaniel/rei/client/ClientHelper.java b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
index 7023a4627..4e7155a7e 100644
--- a/src/main/java/me/shedaniel/rei/client/ClientHelper.java
+++ b/src/main/java/me/shedaniel/rei/client/ClientHelper.java
@@ -2,6 +2,8 @@ package me.shedaniel.rei.client;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Lists;
+import io.netty.buffer.Unpooled;
+import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.IRecipeCategory;
import me.shedaniel.rei.api.IRecipeDisplay;
import me.shedaniel.rei.gui.ContainerGuiOverlay;
@@ -70,8 +72,6 @@ public class ClientHelper implements ClientLoaded {
}
public static boolean isCheating() {
- if (!Minecraft.getInstance().isSingleplayer())
- cheating = false;
return cheating;
}
@@ -80,17 +80,33 @@ public class ClientHelper implements ClientLoaded {
}
public static void sendDeletePacket() {
+ if (Minecraft.getInstance().playerController.isInCreativeMode()) {
+ Minecraft.getInstance().player.inventory.setItemStack(ItemStack.EMPTY);
+ return;
+ }
DeleteItemsPacket message = new DeleteItemsPacket();
Minecraft.getInstance().getConnection().sendPacket(message);
}
public static boolean tryCheatingStack(ItemStack cheatedStack) {
- try {
- CreateItemsPacket message = new CreateItemsPacket(cheatedStack.copy());
- Minecraft.getInstance().getConnection().sendPacket(message);
+ if (Minecraft.getInstance().isSingleplayer()) {
+ try {
+ CreateItemsPacket message = new CreateItemsPacket(cheatedStack.copy());
+ Minecraft.getInstance().getConnection().sendPacket(message);
+ return true;
+ } catch (Exception e) {
+ return false;
+ }
+ } else {
+ ResourceLocation location = IRegistry.ITEM.getKey(cheatedStack.getItem());
+ String tagMessage = cheatedStack.copy().getTag() != null && !cheatedStack.copy().getTag().isEmpty() ? cheatedStack.copy().getTag().toString() : "";
+ String madeUpCommand = RoughlyEnoughItemsCore.getConfigHelper().getGiveCommandPrefix() + " " + Minecraft.getInstance().player.getScoreboardName() + " " +
+ location.toString() + tagMessage + (cheatedStack.getCount() != 1 ? " " + cheatedStack.getCount() : "");
+ if (madeUpCommand.length() > 256)
+ madeUpCommand = RoughlyEnoughItemsCore.getConfigHelper().getGiveCommandPrefix() + " " + Minecraft.getInstance().player.getScoreboardName() + " " +
+ location.toString() + (cheatedStack.getCount() != 1 ? " " + cheatedStack.getCount() : "");
+ Minecraft.getInstance().player.sendChatMessage(madeUpCommand);
return true;
- } catch (Exception e) {
- return false;
}
}