aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2020-02-14 23:50:46 +0800
committershedaniel <daniel@shedaniel.me>2020-02-14 23:51:17 +0800
commitd5b0fdacb01c916097f0ffa9006a8a28611c1edb (patch)
treea12f7468071d9a3241ff56ff15d6302239ee3818 /src/main
parent265116a32e97a6bfaf5106f9230d241f9b68bf11 (diff)
downloadRoughlyEnoughItems-d5b0fdacb01c916097f0ffa9006a8a28611c1edb.tar.gz
RoughlyEnoughItems-d5b0fdacb01c916097f0ffa9006a8a28611c1edb.tar.bz2
RoughlyEnoughItems-d5b0fdacb01c916097f0ffa9006a8a28611c1edb.zip
Fix config button color and favorites cheating
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java4
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java2
-rw-r--r--src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java40
3 files changed, 41 insertions, 5 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
index 3c06a510b..8ad36d700 100644
--- a/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
+++ b/src/main/java/me/shedaniel/rei/gui/ContainerScreenOverlay.java
@@ -175,9 +175,9 @@ public class ContainerScreenOverlay extends WidgetWithBounds {
Rectangle bounds = getBounds();
if (ClientHelper.getInstance().isCheating() && RoughlyEnoughItemsCore.hasOperatorPermission()) {
if (RoughlyEnoughItemsCore.hasPermissionToUsePackets())
- fill(bounds.x + 1, bounds.y + 1, bounds.getMaxX() - 1, bounds.getMaxY() - 1, 721354752);
+ fillGradient(bounds.x + 1, bounds.y + 1, bounds.getMaxX() - 1, bounds.getMaxY() - 1, 721354752, 721354752);
else
- fill(bounds.x + 1, bounds.y + 1, bounds.getMaxX() - 1, bounds.getMaxY() - 1, 1476440063);
+ fillGradient(bounds.x + 1, bounds.y + 1, bounds.getMaxX() - 1, bounds.getMaxY() - 1, 1476440063, 1476440063);
}
MinecraftClient.getInstance().getTextureManager().bindTexture(CHEST_GUI_TEXTURE);
RenderSystem.color4f(1.0F, 1.0F, 1.0F, 1.0F);
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java
index ae81d9a98..3b55aa0e0 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/EntryListWidget.java
@@ -655,7 +655,7 @@ public class EntryListWidget extends WidgetWithBounds {
List<EntryStack> list = Lists.newArrayList();
boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled() && !ScreenHelper.inventoryStacks.isEmpty();
List<EntryStack> workingItems = checkCraftable ? RecipeHelper.getInstance().findCraftableEntriesByItems(CollectionUtils.map(ScreenHelper.inventoryStacks, EntryStack::create)) : null;
- for (EntryStack stack : ConfigManager.getInstance().getFavorites()) {
+ for (EntryStack stack : ConfigObject.getInstance().getFavorites()) {
if (canLastSearchTermsBeAppliedTo(stack)) {
if (workingItems != null && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
continue;
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java
index 9e4965f86..c2b036172 100644
--- a/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java
+++ b/src/main/java/me/shedaniel/rei/gui/widget/FavoritesListWidget.java
@@ -13,14 +13,18 @@ import me.shedaniel.clothconfig2.gui.widget.DynamicNewSmoothScrollingEntryListWi
import me.shedaniel.math.api.Point;
import me.shedaniel.math.api.Rectangle;
import me.shedaniel.math.impl.PointHelper;
+import me.shedaniel.rei.RoughlyEnoughItemsCore;
import me.shedaniel.rei.api.*;
import me.shedaniel.rei.gui.config.ItemListOrdering;
import me.shedaniel.rei.impl.ScreenHelper;
import me.shedaniel.rei.utils.CollectionUtils;
import net.minecraft.client.MinecraftClient;
+import net.minecraft.client.gui.screen.Screen;
+import net.minecraft.client.network.ClientPlayerEntity;
import net.minecraft.client.render.BufferBuilder;
import net.minecraft.client.render.Tessellator;
import net.minecraft.client.render.VertexFormats;
+import net.minecraft.client.resource.language.I18n;
import net.minecraft.util.math.MathHelper;
import org.jetbrains.annotations.ApiStatus;
import org.jetbrains.annotations.Nullable;
@@ -130,6 +134,8 @@ public class FavoritesListWidget extends WidgetWithBounds {
updatePosition(delta);
ScissorsHandler.INSTANCE.removeLastScissor();
renderScrollbar();
+ if (containsMouse(mouseX, mouseY) && ClientHelper.getInstance().isCheating() && !minecraft.player.inventory.getCursorStack().isEmpty() && RoughlyEnoughItemsCore.hasPermissionToUsePackets())
+ ScreenHelper.getLastOverlay().addTooltip(QueuedTooltip.create(I18n.translate("text.rei.delete_items")));
}
private int getScrollbarMinX() {
@@ -233,7 +239,7 @@ public class FavoritesListWidget extends WidgetWithBounds {
List<EntryStack> list = Lists.newArrayList();
boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled() && !ScreenHelper.inventoryStacks.isEmpty();
List<EntryStack> workingItems = checkCraftable ? RecipeHelper.getInstance().findCraftableEntriesByItems(CollectionUtils.map(ScreenHelper.inventoryStacks, EntryStack::create)) : null;
- for (EntryStack stack : ConfigManager.getInstance().getFavorites()) {
+ for (EntryStack stack : ConfigObject.getInstance().getFavorites()) {
if (listWidget.canLastSearchTermsBeAppliedTo(stack)) {
if (checkCraftable && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
continue;
@@ -252,7 +258,7 @@ public class FavoritesListWidget extends WidgetWithBounds {
List<EntryStack> list = Lists.newArrayList();
boolean checkCraftable = ConfigManager.getInstance().isCraftableOnlyEnabled() && !ScreenHelper.inventoryStacks.isEmpty();
List<EntryStack> workingItems = checkCraftable ? RecipeHelper.getInstance().findCraftableEntriesByItems(CollectionUtils.map(ScreenHelper.inventoryStacks, EntryStack::create)) : null;
- for (EntryStack stack : ConfigManager.getInstance().getFavorites()) {
+ for (EntryStack stack : ConfigObject.getInstance().getFavorites()) {
if (checkCraftable && CollectionUtils.findFirstOrNullEquals(workingItems, stack) == null)
continue;
list.add(stack.copy().setting(EntryStack.Settings.RENDER_COUNTS, EntryStack.Settings.FALSE).setting(EntryStack.Settings.Item.RENDER_ENCHANTMENT_GLINT, RENDER_ENCHANTMENT_GLINT));
@@ -310,6 +316,13 @@ public class FavoritesListWidget extends WidgetWithBounds {
this.draggingScrollBar = false;
if (containsMouse(double_1, double_2)) {
+ ClientPlayerEntity player = minecraft.player;
+ if (ClientHelper.getInstance().isCheating() && !player.inventory.getCursorStack().isEmpty() && RoughlyEnoughItemsCore.hasPermissionToUsePackets()) {
+ ClientHelper.getInstance().sendDeletePacket();
+ return true;
+ }
+ if (!player.inventory.getCursorStack().isEmpty() && RoughlyEnoughItemsCore.hasPermissionToUsePackets())
+ return false;
for (Widget widget : children())
if (widget.mouseClicked(double_1, double_2, int_1))
return true;
@@ -341,5 +354,28 @@ public class FavoritesListWidget extends WidgetWithBounds {
protected boolean reverseFavoritesAction() {
return true;
}
+
+ @Override
+ public void queueTooltip(int mouseX, int mouseY, float delta) {
+ if (!ClientHelper.getInstance().isCheating() || minecraft.player.inventory.getCursorStack().isEmpty()) {
+ super.queueTooltip(mouseX, mouseY, delta);
+ }
+ }
+
+ @Override
+ public boolean mouseClicked(double mouseX, double mouseY, int button) {
+ if (!interactable)
+ return super.mouseClicked(mouseX, mouseY, button);
+ if (containsMouse(mouseX, mouseY) && ClientHelper.getInstance().isCheating()) {
+ EntryStack entry = getCurrentEntry().copy();
+ if (!entry.isEmpty()) {
+ if (entry.getType() == EntryStack.Type.ITEM)
+ entry.setAmount(button != 1 && !Screen.hasShiftDown() ? 1 : entry.getItemStack().getMaxCount());
+ ClientHelper.getInstance().tryCheatingEntry(entry);
+ return true;
+ }
+ }
+ return super.mouseClicked(mouseX, mouseY, button);
+ }
}
}