package com.gameminers.glasspane.testharness; import gminers.glasspane.GlassPane; import gminers.glasspane.component.PaneBlinker; import gminers.glasspane.component.PaneBox; import gminers.glasspane.component.PaneGradientBox; import gminers.glasspane.component.PaneImage; import gminers.glasspane.component.button.PaneButton; import gminers.glasspane.component.button.PaneToggleButton; import gminers.glasspane.component.text.PaneLabel; import gminers.kitchensink.Strings; import gminers.kitchensink.WaveType; import net.minecraft.util.ResourceLocation; public class PaneTestMisc extends GlassPane { private int x = 20; private int y = 10; public PaneTestMisc() { setName("Miscellaneous"); add(PaneButton.createDoneButton()); add(PaneTestHarness.createGithubButton("PaneTestMisc.java"), PaneTestHarness.createFlipButton()); PaneBlinker blinker = new PaneBlinker(); setup("Blinker", blinker); WaveType[] waves = { WaveType.SINE, WaveType.TRIANGLE, WaveType.ABSOLUTE_SINE }; for (WaveType wave : waves) { PaneBlinker waveBlinker = new PaneBlinker(); waveBlinker.setWave(wave); setup(Strings.formatTitleCase(wave.name()) + " Wave Blinker", waveBlinker); } PaneBlinker fastBlinker = new PaneBlinker(); fastBlinker.setSpeed(2); setup("Fast Blinker", fastBlinker); PaneBlinker slowBlinker = new PaneBlinker(); slowBlinker.setSpeed(10); setup("Slow Blinker", slowBlinker); PaneImage image = new PaneImage(new ResourceLocation("textures/items/iron_ingot.png")); image.setX(224); image.setY(10); image.setWidth(16); image.setHeight(16); add(image); PaneLabel imageLabel = new PaneLabel("Image"); imageLabel.setX(244); imageLabel.setY(14); add(imageLabel); PaneBox box = new PaneBox(0xFFFF5555); box.setX(224); box.setY(30); box.setWidth(16); box.setHeight(16); add(box); PaneLabel boxLabel = new PaneLabel("Box"); boxLabel.setX(244); boxLabel.setY(34); add(boxLabel); PaneGradientBox gradientBox = new PaneGradientBox(0xFF5555FF, 0xFF55FF55); gradientBox.setX(224); gradientBox.setY(50); gradientBox.setWidth(16); gradientBox.setHeight(16); add(gradientBox); PaneLabel gradientBoxLabel = new PaneLabel("Gradient Box"); gradientBoxLabel.setX(244); gradientBoxLabel.setY(54); add(gradientBoxLabel); } private PaneButton setup(String text, final PaneBlinker blinker) { final PaneToggleButton button = new PaneToggleButton(text); button.setX(x); button.setY(y); button.setWidth(160); button.registerActivationListener(new Runnable() { @Override public void run() { blinker.setBlinking(button.isSelected()); } }); blinker.target(button); blinker.setBlinking(false); add(button, blinker); y += 30; return button; } }