- Skip to content
- Why GitHub?
- Enterprise
- Explore
- Marketplace
- Pricing
- Sign in
- Sign up
- Watch
- 22
- Star
- 121
- Fork
- 72
- HyperiumClient/Hyperium
- Code
- Issues 14
- Pull requests 2
- Projects 0
- Wiki
- Security
- Insights
- Dismiss
- Join GitHub today
- GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
- Sign up
- Branch: master
- Hyperium/src/main/java/cc/hyperium/mods/discord/DiscordPresence.java
- Find file
- Copy path
- asbyth rewrite discord rp (#639)
- f893304 on Feb 11
- 1 contributor
- 147 lines (135 sloc) 5.95 KB
- Raw
- Blame
- History
- /*
- * Copyright (C) 2018 Hyperium <https://hyperium.cc/>
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser 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 Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- package cc.hyperium.mods.discord;
- import cc.hyperium.Hyperium;
- import cc.hyperium.config.Settings;
- import cc.hyperium.event.EventBus;
- import cc.hyperium.event.GuiOpenEvent;
- import cc.hyperium.event.InvokeEvent;
- import cc.hyperium.event.JoinMinigameEvent;
- import cc.hyperium.event.ServerJoinEvent;
- import cc.hyperium.event.SingleplayerJoinEvent;
- import cc.hyperium.gui.GuiHyperiumScreenMainMenu;
- import net.arikia.dev.drpc.DiscordEventHandlers;
- import net.arikia.dev.drpc.DiscordRPC;
- import net.arikia.dev.drpc.DiscordRichPresence;
- import net.minecraft.client.Minecraft;
- import net.minecraft.client.gui.GuiMultiplayer;
- import net.minecraft.client.gui.GuiSelectWorld;
- public class DiscordPresence {
- private long startTime;
- public void load() {
- if (Settings.DISCORD_RP) {
- EventBus.INSTANCE.register(this);
- startTime = System.currentTimeMillis();
- DiscordRPC.discordInitialize("412963310867054602L", new DiscordEventHandlers(), true);
- new Thread(() -> {
- while (true) {
- DiscordRPC.discordRunCallbacks();
- try {
- Thread.sleep(2000);
- } catch (InterruptedException e) {
- e.printStackTrace();
- }
- }
- }).start();
- }
- }
- public void shutdown() {
- DiscordRPC.discordClearPresence();
- DiscordRPC.discordShutdown();
- }
- @InvokeEvent
- private void onDisplayGui(GuiOpenEvent event) {
- if (event.getGui() instanceof GuiHyperiumScreenMainMenu) {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("On the Main Menu")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Hyperium")
- .setBigImage("hyperium", "Hyperium Client")
- .build()
- );
- } else if (event.getGui() instanceof GuiMultiplayer) {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("Browsing Servers")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Hyperium")
- .setBigImage("hyperium", "Hyperium Client")
- .build()
- );
- } else if (event.getGui() instanceof GuiSelectWorld) {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("Selecting a World")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Hyperium")
- .setBigImage("hyperium", "Hyperium Client")
- .build()
- );
- }
- }
- @InvokeEvent
- private void onServerJoin(ServerJoinEvent event) {
- if (Settings.DISCORD_RP_SERVER) {
- if (Hyperium.INSTANCE.getHandlers().getHypixelDetector().isHypixel()) {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("Playing on Hypixel")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Hypixel Network")
- .setBigImage("16", "Hypixel Network")
- .build()
- );
- } else {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("On a Server")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Hyperium")
- .setBigImage("hyperium", "Hyperium Client")
- .build()
- );
- }
- }
- }
- @InvokeEvent
- public void onMinigameJoin(JoinMinigameEvent event) {
- if (Settings.DISCORD_RP_SERVER) {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("Playing " + event.getMinigame().getScoreName() + " on Hypixel")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Minigames")
- .setBigImage(String.valueOf(event.getMinigame().getId()), event.getMinigame().getScoreName())
- .build()
- );
- }
- }
- @InvokeEvent
- public void singleplayer(SingleplayerJoinEvent event) {
- DiscordRPC.discordUpdatePresence(
- new DiscordRichPresence.Builder("Playing Singleplayer")
- .setDetails("IGN: " + Minecraft.getMinecraft().getSession().getUsername())
- .setStartTimestamps(startTime)
- .setSmallImage("compass", "Singleplayer")
- .setBigImage("hyperium", "Hyperium Client")
- .build()
- );
- }
- }
- © 2019 GitHub, Inc.
- Terms
- Privacy
- Security
- Status
- Help
- Contact GitHub
- Pricing
- API
- Training
- Blog
- About