diff options
| author | Unknown <shekwancheung0528@gmail.com> | 2019-01-31 15:32:33 +0800 |
|---|---|---|
| committer | Unknown <shekwancheung0528@gmail.com> | 2019-01-31 15:32:33 +0800 |
| commit | 2f95b698dee3368666cefe8890a015eb098dd77b (patch) | |
| tree | 994981d645051f5360ea29dc0d7701a83cd1858a /src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java | |
| parent | 40d345b6b0f0bea1e4313ad9cdb789762e160f8d (diff) | |
| download | RoughlyEnoughItems-2.2.0.15.tar.gz RoughlyEnoughItems-2.2.0.15.tar.bz2 RoughlyEnoughItems-2.2.0.15.zip | |
Update to v2.2.0.15 & Fix Optifinev2.2.0.15
Fix #16
Diffstat (limited to 'src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java')
| -rw-r--r-- | src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java b/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java new file mode 100644 index 000000000..aefca5018 --- /dev/null +++ b/src/main/java/me/shedaniel/rei/gui/widget/SpeedCraftingButtonWidget.java @@ -0,0 +1,42 @@ +package me.shedaniel.rei.gui.widget; + +import me.shedaniel.rei.api.IRecipeDisplay; +import me.shedaniel.rei.api.SpeedCraftFunctional; +import me.shedaniel.rei.client.ClientHelper; +import me.shedaniel.rei.client.GuiHelper; +import net.minecraft.client.Minecraft; +import net.minecraft.client.resources.I18n; + +import java.awt.*; +import java.util.Arrays; +import java.util.function.Supplier; + +public class SpeedCraftingButtonWidget extends ButtonWidget { + + private final Supplier<IRecipeDisplay> displaySupplier; + private final SpeedCraftFunctional functional; + + public SpeedCraftingButtonWidget(Rectangle rectangle, String text, SpeedCraftFunctional functional, Supplier<IRecipeDisplay> displaySupplier) { + super(rectangle, text); + this.displaySupplier = displaySupplier; + this.functional = functional; + } + + @Override + public void onPressed(int button, double mouseX, double mouseY) { + Minecraft.getInstance().displayGuiScreen(GuiHelper.getLastGuiContainer()); + functional.performAutoCraft(GuiHelper.getLastGuiContainer(), displaySupplier.get()); + } + + @Override + public void draw(int mouseX, int mouseY, float partialTicks) { + this.enabled = functional != null && functional.acceptRecipe(GuiHelper.getLastGuiContainer(), displaySupplier.get()); + super.draw(mouseX, mouseY, partialTicks); + if (getBounds().contains(mouseX, mouseY)) + if (enabled) + GuiHelper.getLastOverlay().addTooltip(new QueuedTooltip(ClientHelper.getMouseLocation(), Arrays.asList(I18n.format("text.speed_craft.move_items")))); + else + GuiHelper.getLastOverlay().addTooltip(new QueuedTooltip(ClientHelper.getMouseLocation(), Arrays.asList(I18n.format("text.speed_craft.failed_move_items")))); + } + +} |
