diff options
| author | shedaniel <daniel@shedaniel.me> | 2020-02-14 23:50:46 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2020-02-14 23:51:17 +0800 |
| commit | d5b0fdacb01c916097f0ffa9006a8a28611c1edb (patch) | |
| tree | a12f7468071d9a3241ff56ff15d6302239ee3818 /src/main | |
| parent | 265116a32e97a6bfaf5106f9230d241f9b68bf11 (diff) | |
| download | RoughlyEnoughItems-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')
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); + } } } |
