diff options
2 files changed, 0 insertions, 221 deletions
diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/invteTooltip/MTooltipInvite.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/invteTooltip/MTooltipInvite.java deleted file mode 100644 index f3d05ff4..00000000 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/invteTooltip/MTooltipInvite.java +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.mod.features.impl.discord.invteTooltip; - -import kr.syeyoung.dungeonsguide.mod.discord.DiscordIntegrationManager; -import kr.syeyoung.dungeonsguide.mod.discord.JDiscordRelation; -import kr.syeyoung.dungeonsguide.mod.gui.MPanel; -import kr.syeyoung.dungeonsguide.mod.gui.elements.*; -import kr.syeyoung.dungeonsguide.mod.utils.RenderUtils; -import net.minecraft.client.renderer.GlStateManager; - -import java.awt.*; -import java.util.HashSet; -import java.util.Set; - -public class MTooltipInvite extends MModal { - private MScrollablePanel mScrollablePanel; - private MList list; - private MTextField search; - private MButton close; - private Set<Long> invited = new HashSet<>(); - public MTooltipInvite() { - setTitle("Invite Discord Friend"); - mScrollablePanel = new MScrollablePanel(1); - mScrollablePanel.setHideScrollBarWhenNotNecessary(true); - add(mScrollablePanel); - - list = new MList() { - @Override - public void resize(int parentWidth, int parentHeight) { - setSize(new Dimension(parentWidth, 9999)); - realignChildren(); - } - }; - list.setGap(1); - list.setDrawLine(true); - list.setGapLineColor(RenderUtils.blendAlpha(0x141414, 0.13f)); - mScrollablePanel.add(list); - mScrollablePanel.getScrollBarY().setWidth(5); - - search = new MTextField() { - @Override - public void edit(String str) { - super.edit(str); resetListContent(); - } - }; - search.setPlaceHolder("Search..."); - add(search); - - close = new MButton(); - close.setText("X"); - close.setBackground( RenderUtils.blendAlpha(0x141414, 0.20f)); - close.setHover( RenderUtils.blendAlpha(0x141414, 0.25f)); - close.setClicked( RenderUtils.blendAlpha(0x141414, 0.24f)); - close.setOnActionPerformed(this::close); - addSuper(close); - resetListContent(); - } - - @Override - public void onBoundsUpdate() { - super.onBoundsUpdate(); - Dimension effDim = getModalContent().getSize(); - search.setBounds(new Rectangle(5,2,effDim.width-10, 15)); - mScrollablePanel.setBounds(new Rectangle(10,18,effDim.width-20, effDim.height-25)); - close.setBounds(new Rectangle(getModalContent().getBounds().x + effDim.width-15,getModalContent().getBounds().y - 16,15,15)); - } - - @Override - public void render(int absMousex, int absMousey, int relMousex0, int relMousey0, float partialTicks, Rectangle scissor) { - GlStateManager.pushMatrix(); - super.render(absMousex, absMousey, relMousex0, relMousey0, partialTicks, scissor); - GlStateManager.popMatrix(); - - Dimension modalSize = getModalSize(); - Dimension effDim = getEffectiveDimension(); - int x = (effDim.width-modalSize.width)/2; - int y = (effDim.height - modalSize.height)/2; - GlStateManager.translate(x,y, 0); - } - - private void resetListContent() { - for (MPanel childComponent : list.getChildComponents()) { - list.remove(childComponent); - } - - String searchTxt = search.getText().trim().toLowerCase(); - for (JDiscordRelation value : DiscordIntegrationManager.INSTANCE.getRelationMap().values()) { -// if (value.getDiscordActivity().getApplicationId() != 816298079732498473L) continue; - if (value.getRelationType() == JDiscordRelation.DiscordRelationType.Blocked) continue; - if (!searchTxt.isEmpty() && !(value.getDiscordUser().getName().toLowerCase().contains(searchTxt))) continue; - list.add(new MTooltipInviteElement(value, invited.contains(value.getDiscordUser().getId()), this::invite)); - } - setBounds(getBounds()); - } - - public void invite(long id) { - invited.add(id); - DiscordIntegrationManager.INSTANCE.sendInvite(Long.toUnsignedString(id), "Pls join my game"); - } -} diff --git a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/invteTooltip/MTooltipInviteElement.java b/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/invteTooltip/MTooltipInviteElement.java deleted file mode 100644 index e7583728..00000000 --- a/mod/src/main/java/kr/syeyoung/dungeonsguide/mod/features/impl/discord/invteTooltip/MTooltipInviteElement.java +++ /dev/null @@ -1,104 +0,0 @@ -/* - * Dungeons Guide - The most intelligent Hypixel Skyblock Dungeons Mod - * Copyright (C) 2021 cyoung06 - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Affero General Public License as published - * by the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Affero General Public License for more details. - * - * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see <https://www.gnu.org/licenses/>. - */ - -package kr.syeyoung.dungeonsguide.mod.features.impl.discord.invteTooltip; - - -import kr.syeyoung.dungeonsguide.mod.discord.JDiscordRelation; -import kr.syeyoung.dungeonsguide.mod.gui.MPanel; -import kr.syeyoung.dungeonsguide.mod.gui.elements.MButton; -import kr.syeyoung.dungeonsguide.mod.guiv2.elements.image.ImageTexture; -import kr.syeyoung.dungeonsguide.mod.utils.RenderUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.renderer.GlStateManager; - -import java.awt.*; -import java.util.function.Consumer; - -public class MTooltipInviteElement extends MPanel { - private JDiscordRelation relation; - private MButton invite; - private ImageTexture texture; - - public MTooltipInviteElement(JDiscordRelation jDiscordRelation, boolean invited, Consumer<Long> inviteCallback) { - this.relation = jDiscordRelation; - this.invite = new MButton(); - if (!invited) { - invite.setText("Invite"); - invite.setRoundness(2); - invite.setBorder(0xFF02EE67); - invite.setHover(RenderUtils.blendAlpha(0x141414, 0.2f)); - invite.setBackground(RenderUtils.blendAlpha(0x141414, 0.17f)); - invite.setForeground(new Color(0xFF02EE67)); - - invite.setOnActionPerformed(() -> { - if (invite.isEnabled()) - inviteCallback.accept(jDiscordRelation.getDiscordUser().getIdLong()); - - invite.setText("Sent"); - invite.setRoundness(2); - invite.setHover(0); invite.setBorder(0); - invite.setBackground(0); invite.setDisabled(0); invite.setEnabled(false); - invite.setForeground(new Color(0xFF02EE67)); - }); - } else { - invite.setText("Sent"); - invite.setRoundness(2); - invite.setHover(0); - invite.setBackground(0); invite.setDisabled(0); invite.setEnabled(false); - invite.setForeground(new Color(0xFF02EE67)); - } - - if (!jDiscordRelation.getDiscordUser().getEffectiveAvatarUrl().isEmpty()) { - ImageTexture.loadImage(jDiscordRelation.getDiscordUser().getEffectiveAvatarUrl(), (cback) -> { - this.texture = cback; - }); - } - - add(invite); - } - - @Override - public void render(int absMousex, int absMousey, int relMousex0, int relMousey0, float partialTicks, Rectangle scissor) { - if (lastAbsClip.contains(absMousex, absMousey) && getTooltipsOpen() == 0) { - RenderUtils.drawRoundedRectangle(0,0,bounds.width, bounds.height, 3, Math.PI/8, RenderUtils.blendAlpha(0x141414, 0.17f)); - GlStateManager.enableTexture2D(); - } - - FontRenderer fr = Minecraft.getMinecraft().fontRendererObj; - if (texture != null) { - texture.drawFrame( 3,3,bounds.height-6,bounds.height-6); - } else { - Gui.drawRect(3, 3, bounds.height - 6, bounds.height-6, 0xFF4E4E4E); - } - - fr.drawString(relation.getDiscordUser().getName()+"#"+relation.getDiscordUser().getDiscriminator(), bounds.height,(bounds.height-fr.FONT_HEIGHT)/2, -1); - } - - @Override - public Dimension getPreferredSize() { - return new Dimension(100, 20); - } - - @Override - public void onBoundsUpdate() { - invite.setBounds(new Rectangle(bounds.width-53,2,50,bounds.height-4)); - } -} |