Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // MAIN GUI!!
- public class ShinobiStats extends Screen implements INamedContainerProvider {
- GuiButtonEyeSlot guiButtonEyeSlot;
- GuiButtonArrowUp guiButtonArrowUp;
- GuiButtonArrowDown guiButtonArrowDown;
- GuiButtonPlayerHead guiButtonPlayerHead;
- GuiButtonPlayerBody guiButtonPlayerBody;
- GuiButtonPlayerArm guiButtonPlayerArm1;
- GuiButtonPlayerArm guiButtonPlayerArm2;
- GuiButtonPlayerLeg guiButtonPlayerLeg1;
- GuiButtonPlayerLeg guiButtonPlayerLeg2;
- private boolean toggleEyeSelection;
- private int guiTop;
- private int guiLeft;
- private int playerEyeSlot;
- public ShinobiStats() {
- super(new TranslationTextComponent("gui." + Main.MODID + ".title.shinobistats"));
- }
- @Override
- protected void init() {
- buttons.clear();
- this.guiLeft = (this.width) / 2;
- this.guiTop = (this.height) / 2;
- Minecraft mc = Minecraft.getInstance();
- AbstractClientPlayerEntity player = mc.player;
- ClientPlayerEntity clientPlayer = Minecraft.getInstance().player;
- LazyOptional<IPlayerHandler> player_cap = player.getCapability(PlayerProvider.CAPABILITY_PLAYER, null);
- IPlayerHandler playerc = player_cap.orElse(new PlayerCapability());
- addButton(guiButtonEyeSlot = new GuiButtonEyeSlot(this.width - 31, 10, $ -> {
- System.out.println("CLICKEDINS");
- this.onGuiButtonEyeSlotPress();
- }));
- addButton(guiButtonArrowUp = new GuiButtonArrowUp(this.guiLeft + 50, this.guiTop - 15, $ -> {
- this.onGuiButtonArrowUpPress();
- }));
- addButton(guiButtonArrowDown = new GuiButtonArrowDown(this.guiLeft + 50, this.guiTop + 15, $ -> {
- this.onGuiButtonArrowDownPress();
- }));
- addButton(guiButtonPlayerHead = new GuiButtonPlayerHead(this.guiLeft - 16, this.guiTop - 48, player, $ -> {
- Minecraft.getInstance().displayGuiScreen(new PlayerDojutsu());
- }));
- addButton(guiButtonPlayerBody = new GuiButtonPlayerBody(this.guiLeft - 16, this.guiTop - 16, player, $ -> {
- Minecraft.getInstance().displayGuiScreen(new PlayerChakraandBodyInfusion());
- }));
- addButton(guiButtonPlayerArm1 = new GuiButtonPlayerArm(this.guiLeft - 32, this.guiTop - 16, player, $ -> {
- Minecraft.getInstance().displayGuiScreen(new PlayerJutsu());
- }));
- addButton(guiButtonPlayerArm2 = new GuiButtonPlayerArm(this.guiLeft + 16, this.guiTop - 16, player, $ -> {
- Minecraft.getInstance().displayGuiScreen(new PlayerJutsu());
- }));
- addButton(guiButtonPlayerLeg1 = new GuiButtonPlayerLeg(this.guiLeft - 16, this.guiTop + 32, player, $ -> {
- Minecraft.getInstance().displayGuiScreen(new PlayerTaijutsu());
- }));
- addButton(guiButtonPlayerLeg2 = new GuiButtonPlayerLeg(this.guiLeft, this.guiTop + 32, player, $ -> {
- Minecraft.getInstance().displayGuiScreen(new PlayerTaijutsu());
- }));
- this.guiButtonArrowUp.visible = false;
- this.guiButtonArrowDown.visible = false;
- if (playerc.returnplayerEyeSlot() <= 0)
- {
- this.playerEyeSlot = 4;
- }
- else
- {
- this.playerEyeSlot = playerc.returnplayerEyeSlot();
- }
- super.init();
- }
- @Override
- public void render(int p_render_1_, int p_render_2_, float p_render_3_) {
- Minecraft mc = Minecraft.getInstance();
- AbstractClientPlayerEntity player = mc.player;
- super.render(p_render_1_, p_render_2_, p_render_3_);
- mc.textureManager.bindTexture(new ResourceLocation(Main.MODID + ":textures/gui/shinobistatsbackground.png"));
- if (this.toggleEyeSelection)
- {
- mc.ingameGUI.blit(this.guiLeft - 8, (this.guiTop - 48) + (this.playerEyeSlot * 4), 0, 252, 16, 4);
- }
- this.checkHovered(p_render_1_, p_render_2_);
- }
- @Override
- public ITextComponent getDisplayName() {
- return null;
- }
- @Nullable
- @Override
- public Container createMenu(int p_createMenu_1_, PlayerInventory p_createMenu_2_, PlayerEntity p_createMenu_3_) {
- return null;
- }
- @Override
- public boolean isPauseScreen() {
- return false;
- }
- public static void open() {
- Minecraft.getInstance().displayGuiScreen(new ShinobiStats());
- }
- public void onGuiButtonEyeSlotPress()
- {
- ClientPlayerEntity player = Minecraft.getInstance().player;
- LazyOptional<IPlayerHandler> player_cap = player.getCapability(PlayerProvider.CAPABILITY_PLAYER, null);
- IPlayerHandler playerc = player_cap.orElse(new PlayerCapability());
- if (!this.toggleEyeSelection)
- {
- this.guiButtonArrowUp.visible = true;
- this.guiButtonArrowDown.visible = true;
- this.toggleEyeSelection = true;
- }
- else {
- this.guiButtonArrowUp.visible = false;
- this.guiButtonArrowDown.visible = false;
- this.toggleEyeSelection = false;
- playerc.setplayerEyeSlot(this.playerEyeSlot);
- int eyeSlot = playerc.returnplayerEyeSlot();
- NetworkLoader.INSTANCE.sendToServer(new PacketEyeSlotSync(eyeSlot));
- }
- }
- public void onGuiButtonArrowUpPress()
- {
- if (this.guiButtonArrowUp.visible)
- {
- if (this.playerEyeSlot >= 1)
- {
- this.playerEyeSlot -= 1;
- }
- }
- }
- public void onGuiButtonArrowDownPress()
- {
- if (this.guiButtonArrowDown.visible)
- {
- if (this.playerEyeSlot < 7)
- {
- this.playerEyeSlot += 1;
- }
- }
- }
- @Override
- public boolean mouseClicked(double p_mouseClicked_1_, double p_mouseClicked_3_, int p_mouseClicked_5_) {
- return super.mouseClicked(p_mouseClicked_1_, p_mouseClicked_3_, p_mouseClicked_5_);
- }
- @Override
- public void onClose() {
- super.onClose();
- ClientPlayerEntity player = Minecraft.getInstance().player;
- LazyOptional<IPlayerHandler> player_cap = player.getCapability(PlayerProvider.CAPABILITY_PLAYER, null);
- IPlayerHandler playerc = player_cap.orElse(new PlayerCapability());
- playerc.setplayerEyeSlot(this.playerEyeSlot);
- int eyeSlot = playerc.returnplayerEyeSlot();
- NetworkLoader.INSTANCE.sendToServer(new PacketEyeSlotSync(eyeSlot));
- if (this.guiButtonArrowUp.visible) {
- player.sendMessage(new StringTextComponent("Saved Settings"));
- }
- }
- public void checkHovered(int p_render_1_, int p_render_2_)
- {
- if (guiButtonEyeSlot.isHovered())
- {
- renderTooltip("Change Player Eye Slot", p_render_1_, p_render_2_);
- }
- if (guiButtonPlayerHead.isHovered())
- {
- renderTooltip(new TranslationTextComponent("gui." + Main.MODID + ".title.dojutsu").getString(), p_render_1_, p_render_2_);
- }
- if (guiButtonPlayerBody.isHovered())
- {
- renderTooltip(new TranslationTextComponent("gui." + Main.MODID + ".title.bodychakra").getString(), p_render_1_, p_render_2_);
- }
- if (guiButtonPlayerArm1.isHovered())
- {
- renderTooltip(new TranslationTextComponent("gui." + Main.MODID + ".title.handjutsu").getString(), p_render_1_, p_render_2_);
- }
- if (guiButtonPlayerArm2.isHovered())
- {
- renderTooltip(new TranslationTextComponent("gui." + Main.MODID + ".title.handjutsu").getString(), p_render_1_, p_render_2_);
- }
- if (guiButtonPlayerLeg1.isHovered())
- {
- renderTooltip(new TranslationTextComponent("gui." + Main.MODID + ".title.legtaijutsu").getString(), p_render_1_, p_render_2_);
- }
- if (guiButtonPlayerLeg2.isHovered())
- {
- renderTooltip(new TranslationTextComponent("gui." + Main.MODID + ".title.legtaijutsu").getString(), p_render_1_, p_render_2_);
- }
- }
- }
- //ONE CUSTOM BUTTON CLASS
- public class GuiButtonPlayerArm extends Button {
- AbstractClientPlayerEntity player;
- protected final IPressable onPress;
- int u = (44 * 4);
- int v = (20 * 4);
- int widthIn;
- int heightIn;
- public void onPress() {
- this.onPress.onPress(this);
- }
- public GuiButtonPlayerArm(int widthIn, int heightIn, AbstractClientPlayerEntity player, IPressable onPress) {
- super(widthIn, heightIn, (4 * 4), (12 * 4), "", onPress);
- this.widthIn = widthIn;
- this.heightIn = heightIn;
- this.onPress = onPress;
- this.player = player;
- }
- @Override
- public void renderButton(int p_renderButton_1_, int p_renderButton_2_, float p_renderButton_3_) {
- super.renderButton(p_renderButton_1_, p_renderButton_2_, p_renderButton_3_);
- Minecraft mc = Minecraft.getInstance();
- mc.textureManager.bindTexture(player.getLocationSkin());
- if (!visible)
- {
- return;
- }
- mc.ingameGUI.blit(widthIn, heightIn, u, v, width, height);
- }
- }
Add Comment
Please, Sign In to add comment