From 59135f514294df427a3aa026793a175801dc67d9 Mon Sep 17 00:00:00 2001 From: Nicholas Ignoffo Date: Thu, 1 Sep 2016 19:33:49 -0700 Subject: [PATCH] Add support for Buttons Currently just a "Fill network" button --- build.gradle | 1 + gradle.properties | 3 +- .../compat/buttons/BloodMagicPlugin.java | 25 +++++++++++ .../buttons/button/ButtonFillNetwork.java | 41 ++++++++++++++++++ .../assets/bloodmagic/lang/en_US.lang | 5 ++- .../textures/gui/buttons_compat.png | Bin 0 -> 18994 bytes 6 files changed, 73 insertions(+), 2 deletions(-) create mode 100644 src/main/java/WayofTime/bloodmagic/compat/buttons/BloodMagicPlugin.java create mode 100644 src/main/java/WayofTime/bloodmagic/compat/buttons/button/ButtonFillNetwork.java create mode 100644 src/main/resources/assets/bloodmagic/textures/gui/buttons_compat.png diff --git a/build.gradle b/build.gradle index c8a702e3..fafe77aa 100644 --- a/build.gradle +++ b/build.gradle @@ -62,6 +62,7 @@ dependencies { deobfCompile "mezz.jei:jei_${mc_version}:${jei_version}" deobfCompile "mcp.mobius.waila:Waila:${waila_version}_${mc_version}:dev" deobfCompile "info.amerifrance.guideapi:Guide-API:${mc_version}-${guideapi_version}" + deobfCompile "info.tehnut.buttons:Buttons:${buttons_version}:api" // compile name: "Thaumcraft", version: "${mc_version}-${thaumcraft_version}", ext: "jar" // compile name: 'Baubles', version: "${baubles_version}", ext: 'jar' diff --git a/gradle.properties b/gradle.properties index d9f5f3ef..00deccf7 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,4 +11,5 @@ jei_version=3.4.0.204 waila_version=1.7.0-B3 thaumcraft_version=5.1.5 baubles_version=1.1.3.0 -guideapi_version=2.0.0-37 \ No newline at end of file +guideapi_version=2.0.0-37 +buttons_version=1.10.2-0.0.3-3 \ No newline at end of file diff --git a/src/main/java/WayofTime/bloodmagic/compat/buttons/BloodMagicPlugin.java b/src/main/java/WayofTime/bloodmagic/compat/buttons/BloodMagicPlugin.java new file mode 100644 index 00000000..ae82e9c0 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/compat/buttons/BloodMagicPlugin.java @@ -0,0 +1,25 @@ +package WayofTime.bloodmagic.compat.buttons; + +import WayofTime.bloodmagic.compat.buttons.button.ButtonFillNetwork; +import net.minecraft.util.ResourceLocation; +import tehnut.buttons.api.ButtonsPlugin; +import tehnut.buttons.api.IWidgetPlugin; +import tehnut.buttons.api.IWidgetRegistry; +import tehnut.buttons.api.WidgetTexture; + +@ButtonsPlugin +public class BloodMagicPlugin extends IWidgetPlugin.Base { + + public static final WidgetTexture FILL_BUTTON = new WidgetTexture( + new ResourceLocation("bloodmagic", "textures/gui/buttons_compat.png"), + 0, + 0, + 20, + 20 + ); + + @Override + public void register(IWidgetRegistry widgetRegistry) { + widgetRegistry.addUtilityButton(new ButtonFillNetwork()); + } +} diff --git a/src/main/java/WayofTime/bloodmagic/compat/buttons/button/ButtonFillNetwork.java b/src/main/java/WayofTime/bloodmagic/compat/buttons/button/ButtonFillNetwork.java new file mode 100644 index 00000000..c058ce03 --- /dev/null +++ b/src/main/java/WayofTime/bloodmagic/compat/buttons/button/ButtonFillNetwork.java @@ -0,0 +1,41 @@ +package WayofTime.bloodmagic.compat.buttons.button; + +import WayofTime.bloodmagic.api.Constants; +import WayofTime.bloodmagic.api.saving.SoulNetwork; +import WayofTime.bloodmagic.api.util.helper.NetworkHelper; +import WayofTime.bloodmagic.compat.buttons.BloodMagicPlugin; +import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.util.ResourceLocation; +import net.minecraft.util.text.ITextComponent; +import net.minecraft.util.text.TextComponentTranslation; +import tehnut.buttons.api.button.utility.Button; + +import javax.annotation.Nullable; +import java.util.Collections; +import java.util.List; + +public class ButtonFillNetwork extends Button { + + public ButtonFillNetwork() { + super(BloodMagicPlugin.FILL_BUTTON); + + setServerRequired(); + } + + @Nullable + @Override + public List getTooltip() { + return Collections.singletonList(new TextComponentTranslation("button.bloodmagic.tooltip.fill")); + } + + @Override + public void onServerClick(EntityPlayerMP player) { + SoulNetwork network = NetworkHelper.getSoulNetwork(player); + network.setCurrentEssence(Integer.MAX_VALUE); + } + + @Override + public ResourceLocation getButtonId() { + return new ResourceLocation(Constants.Mod.MODID, "button_fillnetwork"); + } +} diff --git a/src/main/resources/assets/bloodmagic/lang/en_US.lang b/src/main/resources/assets/bloodmagic/lang/en_US.lang index 88e4f390..8cfa4e97 100644 --- a/src/main/resources/assets/bloodmagic/lang/en_US.lang +++ b/src/main/resources/assets/bloodmagic/lang/en_US.lang @@ -702,4 +702,7 @@ tc.research_category.BLOODMAGIC=Sanguine Arcana # Thaumcraft Research bloodmagic.research_name.BLOODMAGIC=Blood Magic bloodmagic.research_text.BLOODMAGIC=Sanguine Arcana -bloodmagic.research_page.BLOODMAGIC.1=The realm of the Blood Magics has always appeared to be a more solitary and "individual" art with blood mages being notoriously reclusive and a bit insane at times. However, the powers of self-sacrifice and life essence have uses even beyond a normal blood mage's sight, in fact, it is quite apparent that it may have some uses in thaumaturgy after all! \ No newline at end of file +bloodmagic.research_page.BLOODMAGIC.1=The realm of the Blood Magics has always appeared to be a more solitary and "individual" art with blood mages being notoriously reclusive and a bit insane at times. However, the powers of self-sacrifice and life essence have uses even beyond a normal blood mage's sight, in fact, it is quite apparent that it may have some uses in thaumaturgy after all! + +# Buttons +button.bloodmagic.tooltip.fill=Fill network \ No newline at end of file diff --git a/src/main/resources/assets/bloodmagic/textures/gui/buttons_compat.png b/src/main/resources/assets/bloodmagic/textures/gui/buttons_compat.png new file mode 100644 index 0000000000000000000000000000000000000000..811f7ac1a6c9090b13a5173817448c508848a166 GIT binary patch literal 18994 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 literal 0 HcmV?d00001