diff options
author | syeyoung <cyong06@naver.com> | 2021-05-04 13:13:43 +0900 |
---|---|---|
committer | syeyoung <cyong06@naver.com> | 2021-05-04 13:13:43 +0900 |
commit | eaecce86d73dd6810168f418c36155422f67addc (patch) | |
tree | 4d71113c2ba6834ad1b72cc09f59a2dc014edc87 | |
parent | caf765b632ce859861bce5e2018a31a93ce7695c (diff) | |
download | Skyblock-Dungeons-Guide-eaecce86d73dd6810168f418c36155422f67addc.tar.gz Skyblock-Dungeons-Guide-eaecce86d73dd6810168f418c36155422f67addc.tar.bz2 Skyblock-Dungeons-Guide-eaecce86d73dd6810168f418c36155422f67addc.zip |
deobfuscate
71 files changed, 553 insertions, 890 deletions
@@ -111,7 +111,7 @@ is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that +Component, and (Authenticator) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component @@ -202,7 +202,7 @@ terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. - b) The work must carry prominent notices stating that it is + Authenticator) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". @@ -242,7 +242,7 @@ in one of these ways: Corresponding Source fixed on a durable physical medium customarily used for software interchange. - b) Convey the object code in, or embodied in, a physical product + Authenticator) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product @@ -353,7 +353,7 @@ that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or - b) Requiring preservation of specified reasonable legal notices or + Authenticator) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or @@ -403,7 +403,7 @@ paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright +finally terminates your license, and (Authenticator) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. @@ -516,7 +516,7 @@ to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily +conveyed by you (or copies made from those copies), or (Authenticator) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. diff --git a/gradlew.bat b/gradlew.bat index f9553162..c1a768de 100755 --- a/gradlew.bat +++ b/gradlew.bat @@ -76,7 +76,7 @@ if "%ERRORLEVEL%"=="0" goto mainEnd rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of rem the _cmd.exe /c_ return code! if not "" == "%GRADLE_EXIT_CONSOLE%" exit 1 -exit /b 1 +exit /Authenticator 1 :mainEnd if "%OS%"=="Windows_NT" endlocal diff --git a/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java b/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java new file mode 100755 index 00000000..44e0908c --- /dev/null +++ b/src/main/java/kr/syeyoung/dungeonsguide/Authenticator.java @@ -0,0 +1,295 @@ +/* + * 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; + +import com.google.gson.JsonElement; +import com.google.gson.JsonObject; +import com.google.gson.JsonParser; +import com.mojang.authlib.GameProfile; +import com.mojang.authlib.exceptions.AuthenticationException; +import com.mojang.authlib.minecraft.MinecraftSessionService; +import net.minecraft.client.Minecraft; +import net.minecraft.util.Session; +import net.minecraftforge.fml.common.ProgressManager; +import org.apache.commons.codec.binary.Base64; + +import javax.crypto.*; +import javax.crypto.spec.IvParameterSpec; +import javax.crypto.spec.SecretKeySpec; +import javax.net.ssl.*; +import java.io.*; +import java.math.BigInteger; +import java.net.*; +import java.security.*; +import java.security.cert.CertificateException; +import java.security.spec.InvalidKeySpecException; +import java.security.spec.X509EncodedKeySpec; +import java.util.HashMap; +import java.util.zip.ZipEntry; +import java.util.zip.ZipInputStream; + +public class Authenticator { + private KeyPair rsaKey; + private String token; + private final ProgressManager.ProgressBar progressBar; + + public String getToken() { + return token; + } + + private KeyPair getKeyPair() { + KeyPairGenerator a = null; + try { + a = KeyPairGenerator.getInstance("RSA"); + } catch (NoSuchAlgorithmException b) { } + a.initialize(1024); + this.rsaKey = a.generateKeyPair(); + return this.rsaKey; + } + + private PublicKey dgPublicKey; + private PublicKey getDGPublicKey() throws NoSuchAlgorithmException, InvalidKeySpecException { + if (dgPublicKey != null) return dgPublicKey; + X509EncodedKeySpec spec = new X509EncodedKeySpec(Base64.decodeBase64("MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxO89qtwG67jNucQ9Y44c" + + "IUs/B+5BeJPs7G+RG2gfs4/2+tzF/c1FLDc33M7yKw8aKk99vsBUY9Oo8gxxiEPB" + + "JitP/qfon2THp94oM77ZTpHlmFoqbZMcKGZVI8yfvEL4laTM8Hw+qh5poQwtpEbK" + + "Xo47AkxygxJasUnykER2+aSTZ6kWU2D4xiNtFA6lzqN+/oA+NaYfPS0amAvyVlHR" + + "n/8IuGkxb5RrlqVssQstFnxsJuv88qdGSEqlcKq2tLeg9hb8eCnl2OFzvXmgbVER" + + "0JaV+4Z02fVG1IlR3Xo1mSit7yIU6++3usRCjx2yfXpnGGJUW5pe6YETjNew3ax+" + + "FAZ4GePWCdmS7FvBnbbABKo5pE06ZTfDUTCjQlAJQiUgoF6ntMJvQAXPu48Vr8q/" + + "mTcuZWVnI6CDgyE7nNq3WNoq3397sBzxRohMxuqzl3T19zkfPKF05iV2Ju1HQMW5" + + "I119bYrmVD240aGESZc20Sx/9g1BFpNzQbM5PGUlWJ0dhLjl2ge4ip2hHciY3OEY" + + "p2Qy2k+xEdenpKdL+WMRimCQoO9gWe2Tp4NmP5dppDXZgPjXqjZpnGs0Uxs+fXqW" + + "cwlg3MbX3rFl9so/fhVf4p9oXZK3ve7z5D6XSSDRYECvsKIa08WAxJ/U6n204E/4" + + "xUF+3ZgFPdzZGn2PU7SsnOsCAwEAAQ==")); + return dgPublicKey = KeyFactory.getInstance("RSA").generatePublic(spec); + } + + public Authenticator(ProgressManager.ProgressBar progressBar) { + this.progressBar = progressBar; + progressBar.step("Generating KeyPair"); + getKeyPair(); + } + + public String authenticateAndDownload(String version) throws IOException, AuthenticationException, NoSuchAlgorithmException, CertificateException, KeyStoreException, KeyManagementException, InvalidKeySpecException, SignatureException { + Session session = Minecraft.getMinecraft().getSession(); + String sessionToken = session.getToken(); + + progressBar.step("Authenticating (1/2)"); + String tempToken = requestAuth(session.getProfile()); + MinecraftSessionService yggdrasilMinecraftSessionService = Minecraft.getMinecraft().getSessionService(); + JsonObject d = getJwtPayload(tempToken); + String hash = calculateServerHash(Base64.decodeBase64(d.get("sharedSecret").getAsString()), + Base64.decodeBase64(d.get("publicKey").getAsString())); + yggdrasilMinecraftSessionService.joinServer(session.getProfile(), sessionToken, hash); + progressBar.step("Authenticating (2/2)"); + this.token = verifyAuth(tempToken, this.rsaKey.getPublic()); + try { + progressBar.step("Downloading Jar"); + if (version != null) + downloadSafe(this.token, "https://dungeons.guide/resource/version?v=" + version, true); + progressBar.step("Downloading Rooms"); + downloadSafe(this.token, "https://dungeons.guide/resource/roomdata", false); + } catch (Throwable t) { + t.printStackTrace(); + } + return this.token; + } + + public JsonObject getJwtPayload(String jwt) { + String midPart = jwt.split("\\.")[1].replace("+", "-").replace("/", "_"); + String base64Decode = new String(Base64.decodeBase64(midPart)); // padding + return (JsonObject) new JsonParser().parse(base64Decode); + } + + + + private String requestAuth(GameProfile profile) throws IOException, NoSuchAlgorithmException, CertificateException, KeyStoreException, KeyManagementException { + HttpsURLConnection connection = (HttpsURLConnection) new URL("https://dungeons.guide/auth/requestAuth").openConnection(); + connection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + connection.setRequestProperty("Content-Type", "application/json"); + connection.setRequestMethod("POST"); + connection.setDoInput(true); + connection.setDoOutput(true); + + connection.getOutputStream().write(("{\"uuid\":\""+profile.getId().toString()+"\",\"nickname\":\""+profile.getName()+"\"}").getBytes()); + InputStreamReader inputStreamReader = new InputStreamReader(connection.getInputStream()); + JsonObject json = (JsonObject) new JsonParser().parse(inputStreamReader); + if (!"ok".equals(json.get("status").getAsString())) { + return null; + } + return json.get("data").getAsString(); + } + private String verifyAuth(String tempToken, PublicKey clientKey) throws IOException { + HttpsURLConnection urlConnection = (HttpsURLConnection) new URL("https://dungeons.guide/auth/authenticate").openConnection(); + urlConnection.setRequestMethod("POST"); + urlConnection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + urlConnection.setRequestProperty("Content-Type", "application/json"); + urlConnection.setDoInput(true); + urlConnection.setDoOutput(true); + + urlConnection.getOutputStream().write(("{\"jwt\":\""+tempToken+"\",\"publicKey\":\""+Base64.encodeBase64URLSafeString(clientKey.getEncoded())+"\"}").getBytes()); + urlConnection.getResponseCode(); + InputStreamReader reader = new InputStreamReader(urlConnection.getInputStream()); + JsonObject jsonObject = (JsonObject) new JsonParser().parse(reader); + if (!"ok".equals(jsonObject.get("status").getAsString())) { + return null; + } + return jsonObject.get("data").getAsString(); + } + + private final HashMap<String, byte[]> loadedResources = new HashMap<String, byte[]>(); + + public HashMap<String, byte[]> getResources() { + return loadedResources; + } + + private void downloadSafe(String dgToken, String url, boolean isValidateSignature) throws IOException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, InvalidAlgorithmParameterException, CertificateException, KeyStoreException, KeyManagementException, SignatureException, InvalidKeySpecException { + HttpsURLConnection dgConnection = (HttpsURLConnection) new URL(url).openConnection(); + dgConnection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + dgConnection.setRequestProperty("Content-Type", "application/json"); + dgConnection.setRequestMethod("GET"); + dgConnection.setRequestProperty("Authorization", dgToken); + dgConnection.setDoInput(true); + dgConnection.setDoOutput(true); + + InputStream inputStream = dgConnection.getInputStream(); + byte[] lengthBytes = new byte[4]; + inputStream.read(lengthBytes); + int length = ((lengthBytes[0] & 0xFF) << 24) | + ((lengthBytes[1] & 0xFF) << 16) | + ((lengthBytes[2] & 0xFF) << 8) | + ((lengthBytes[3] & 0xFF)); + while (inputStream.available() < length) ; + byte[] keyPayload = new byte[length]; + inputStream.read(keyPayload); + + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(Cipher.DECRYPT_MODE, this.rsaKey.getPrivate()); + byte[] h = cipher.doFinal(keyPayload); + + cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + SecretKeySpec keySpec = new SecretKeySpec(h, "AES"); + IvParameterSpec ivSpec = new IvParameterSpec(h); + cipher.init(Cipher.DECRYPT_MODE, keySpec, ivSpec); + CipherInputStream cipherInputStream = new CipherInputStream(inputStream, cipher); + + cipherInputStream.read(lengthBytes); + length = ((lengthBytes[0] & 0xFF) << 24) | + ((lengthBytes[1] & 0xFF) << 16) | + ((lengthBytes[2] & 0xFF) << 8) | + ((lengthBytes[3] & 0xFF)); + + int totalLen = length; + ByteArrayOutputStream bos = new ByteArrayOutputStream(); + byte[] buff = new byte[256]; + while (totalLen > 0) { + int len = cipherInputStream.read(buff, 0, Math.min(buff.length, totalLen)); + totalLen -= len; + bos.write(buff, 0, len); + } + byte[] body = bos.toByteArray(); + + byte[] signed = null; + if (isValidateSignature) { + progressBar.step("Validating Signature"); + cipherInputStream.read(lengthBytes,0 , 4); + length = ((lengthBytes[0] & 0xFF) << 24) | + ((lengthBytes[1] & 0xFF) << 16) | + ((lengthBytes[2] & 0xFF) << 8) | + ((lengthBytes[3] & 0xFF)); + + totalLen = length; + bos = new ByteArrayOutputStream(); + while (totalLen > 0) { + int len = cipherInputStream.read(buff, 0, Math.min(buff.length, totalLen)); + totalLen -= len; + bos.write(buff, 0, len); + } + signed = bos.toByteArray(); + + Signature sign = Signature.getInstance("SHA512withRSA"); + sign.initVerify(getDGPublicKey()); + sign.update(body); + boolean truth = sign.verify(signed); + if (!truth) throw new SignatureException("DG SIGNATURE FORGED"); + } + + ZipInputStream zipInputStream = new ZipInputStream(new ByteArrayInputStream(body)); + ZipEntry zipEntry; + while ((zipEntry=zipInputStream.getNextEntry()) != null) { + byte[] buffer = new byte[256]; + ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(); + int p = 0; + while((p = zipInputStream.read(buffer)) > 0) { + byteArrayOutputStream.write(buffer, 0, p); + } + this.loadedResources.put(zipEntry.getName(), byteArrayOutputStream.toByteArray()); + } + dgConnection.disconnect(); + } + + public JsonElement getJsonSecured(String u) throws IOException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, InvalidAlgorithmParameterException, CertificateException, KeyStoreException, KeyManagementException { + HttpsURLConnection httpsURLConnection = (HttpsURLConnection) new URL(u).openConnection(); + httpsURLConnection.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); + httpsURLConnection.setRequestProperty("Content-Type", "application/json"); + httpsURLConnection.setRequestMethod("GET"); + httpsURLConnection.setRequestProperty("Authorization", this.token); + httpsURLConnection.setDoInput(true); + httpsURLConnection.setDoOutput(true); + + InputStream inputStream = httpsURLConnection.getInputStream(); + byte[] lengthPayload = new byte[4]; + inputStream.read(lengthPayload); + int length = ((lengthPayload[0] & 0xFF) << 24) | + ((lengthPayload[1] & 0xFF) << 16) | + ((lengthPayload[2] & 0xFF) << 8) | + ((lengthPayload[3] & 0xFF)); + while (inputStream.available() < length) ; + byte[] keyPayload = new byte[length]; + inputStream.read(keyPayload); + + Cipher cipher = Cipher.getInstance("RSA/ECB/PKCS1Padding"); + cipher.init(Cipher.DECRYPT_MODE, this.rsaKey.getPrivate()); + byte[] AESKey = cipher.doFinal(keyPayload); + + cipher = Cipher.getInstance("AES/CBC/PKCS5Padding"); + SecretKeySpec secretKeySpec = new SecretKeySpec(AESKey, "AES"); + IvParameterSpec ivParameterSpec = new IvParameterSpec(AESKey); + cipher.init(Cipher.DECRYPT_MODE, secretKeySpec, ivParameterSpec); + CipherInputStream cipherInputStream = new CipherInputStream(inputStream, cipher); + cipherInputStream.read(lengthPayload); + length = ((lengthPayload[0] & 0xFF) << 24) | + ((lengthPayload[1] & 0xFF) << 16) | + ((lengthPayload[2] & 0xFF) << 8) | + ((lengthPayload[3] & 0xFF)); + JsonElement l = new JsonParser().parse(new InputStreamReader(cipherInputStream)); + httpsURLConnection.disconnect(); + return l; + } + + public String calculateServerHash(byte[] a, byte[] b) throws NoSuchAlgorithmException { + MessageDigest c = MessageDigest.getInstance("SHA-1"); + c.update("".getBytes()); + c.update(a); + c.update(b); + byte[] d = c.digest(); + return new BigInteger(d).toString(16); + } +} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/c.java b/src/main/java/kr/syeyoung/dungeonsguide/DGInterface.java index ac4c80a5..0529f0a6 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/c.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/DGInterface.java @@ -21,7 +21,7 @@ package kr.syeyoung.dungeonsguide; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; -public interface c { +public interface DGInterface { void init(FMLInitializationEvent event); void pre(FMLPreInitializationEvent event); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/e.java b/src/main/java/kr/syeyoung/dungeonsguide/DungeonsGuide.java index 226195f5..c1d3e4ea 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/e.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/DungeonsGuide.java @@ -37,55 +37,45 @@ import kr.syeyoung.dungeonsguide.utils.AhUtils; import lombok.Getter; import net.minecraft.client.Minecraft; import net.minecraft.client.resources.IResourcePack; -import net.minecraft.command.ICommand; import net.minecraft.launchwrapper.LaunchClassLoader; -import net.minecraft.launchwrapper.LogWrapper; import net.minecraft.util.IChatComponent; import net.minecraftforge.client.ClientCommandHandler; -import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.common.config.Configuration; -import net.minecraftforge.fml.common.FMLLog; -import net.minecraftforge.fml.common.ObfuscationReflectionHelper; import net.minecraftforge.fml.common.ProgressManager; import net.minecraftforge.fml.common.event.FMLInitializationEvent; import net.minecraftforge.fml.common.event.FMLPreInitializationEvent; import net.minecraftforge.fml.relauncher.ReflectionHelper; import org.apache.commons.io.IOUtils; -import org.apache.logging.log4j.LogManager; import javax.crypto.BadPaddingException; import javax.crypto.IllegalBlockSizeException; import javax.crypto.NoSuchPaddingException; import java.io.*; -import java.net.MalformedURLException; import java.net.URI; -import java.net.URISyntaxException; -import java.net.URL; import java.security.InvalidAlgorithmParameterException; import java.security.InvalidKeyException; import java.security.NoSuchAlgorithmException; import java.util.List; -import java.util.Map; import java.util.Set; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; -public class e implements c, CloseListener { +public class DungeonsGuide implements DGInterface, CloseListener { private SkyblockStatus skyblockStatus; - private static e dungeonsGuide; + private static DungeonsGuide dungeonsGuide; @Getter - private final b authenticator; + private final Authenticator authenticator; @Getter private StompInterface stompConnection; - public e(b authenticator) { + public DungeonsGuide(Authenticator authenticator) { this.authenticator = authenticator; } @@ -104,8 +94,8 @@ public class e implements c, CloseListener { try { - Set<String> invalid = ReflectionHelper.getPrivateValue(LaunchClassLoader.class, (LaunchClassLoader) a.class.getClassLoader(), "invalidClasses"); - ((LaunchClassLoader)a.class.getClassLoader()).clearNegativeEntries(Sets.newHashSet("org.slf4j.LoggerFactory")); + Set<String> invalid = ReflectionHelper.getPrivateValue(LaunchClassLoader.class, (LaunchClassLoader) Main.class.getClassLoader(), "invalidClasses"); + ((LaunchClassLoader) Main.class.getClassLoader()).clearNegativeEntries(Sets.newHashSet("org.slf4j.LoggerFactory")); for (String s : invalid) { System.out.println(s+" in invalid"); } @@ -149,7 +139,7 @@ public class e implements c, CloseListener { progressbar.step("Opening connection"); try { - stompConnection = new StompClient(new URI(stompURL), authenticator.c(), this); + stompConnection = new StompClient(new URI(stompURL), authenticator.getToken(), this); MinecraftForge.EVENT_BUS.post(new StompConnectedEvent(stompConnection)); } catch (Exception e) { throw new RuntimeException(e); @@ -201,7 +191,7 @@ public class e implements c, CloseListener { return skyblockStatus; } - public static e getDungeonsGuide() { + public static DungeonsGuide getDungeonsGuide() { return dungeonsGuide; } ScheduledExecutorService ex = Executors.newScheduledThreadPool(2); @@ -216,7 +206,7 @@ public class e implements c, CloseListener { @Override public void run() { try { - stompConnection = new StompClient(new URI(stompURL), authenticator.c(), e.this); + stompConnection = new StompClient(new URI(stompURL), authenticator.getToken(), DungeonsGuide.this); MinecraftForge.EVENT_BUS.post(new StompConnectedEvent(stompConnection)); } catch (Exception e) { e.printStackTrace(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/a.java b/src/main/java/kr/syeyoung/dungeonsguide/Main.java index f0867c9a..10d20b2f 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/a.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/Main.java @@ -19,7 +19,7 @@ package kr.syeyoung.dungeonsguide; import com.mojang.authlib.exceptions.AuthenticationException; -import kr.syeyoung.dungeonsguide.d.c; +import kr.syeyoung.dungeonsguide.url.DGStreamHandlerFactory; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiButton; @@ -42,57 +42,57 @@ import java.security.*; import java.security.cert.CertificateException; import java.security.spec.InvalidKeySpecException; -@Mod(modid = a.b, version = a.c) -public class a +@Mod(modid = Main.MOD_ID, version = Main.VERSION) +public class Main { - public static final String b = "skyblock_dungeons_guide"; - public static final String c = "1.0"; + public static final String MOD_ID = "skyblock_dungeons_guide"; + public static final String VERSION = "1.0"; - private static a a; + private static Main main; - private kr.syeyoung.dungeonsguide.c d; + private DGInterface dgInterface; @EventHandler - public void a(FMLInitializationEvent a) + public void initEvent(FMLInitializationEvent initializationEvent) { - kr.syeyoung.dungeonsguide.a.a = this; - d.init(a); + main = this; + dgInterface.init(initializationEvent); } @EventHandler - public void a(FMLPreInitializationEvent a) { - ProgressManager.ProgressBar f = ProgressManager.push("DungeonsGuide", this.getClass().getResourceAsStream("/kr/syeyoung/dungeonsguide/e.class") == null ? 7 : 6); - b b = new b(f); - String c = null; + public void preInit(FMLPreInitializationEvent preInitializationEvent) { + ProgressManager.ProgressBar progressBar = ProgressManager.push("DungeonsGuide", this.getClass().getResourceAsStream("/kr/syeyoung/dungeonsguide/e.class") == null ? 7 : 6); + Authenticator authenticator = new Authenticator(progressBar); + String token = null; try { - c = b.b(this.getClass().getResourceAsStream("/kr/syeyoung/dungeonsguide/e.class") == null ? System.getProperty("dg.version") == null ? "latest" : System.getProperty("dg.version") : null); - if (c != null) { - kr.syeyoung.dungeonsguide.a.a = this; - URL.setURLStreamHandlerFactory(new c(b)); - LaunchClassLoader d = (LaunchClassLoader) a.class.getClassLoader(); - d.addURL(new URL("z:///")); + token = authenticator.authenticateAndDownload(this.getClass().getResourceAsStream("/kr/syeyoung/dungeonsguide/e.class") == null ? System.getProperty("dg.version") == null ? "latest" : System.getProperty("dg.version") : null); + if (token != null) { + main = this; + URL.setURLStreamHandlerFactory(new DGStreamHandlerFactory(authenticator)); + LaunchClassLoader classLoader = (LaunchClassLoader) Main.class.getClassLoader(); + classLoader.addURL(new URL("z:///")); try { - f.step("Initializing"); - this.d = new e(b); - this.d.pre(a); - ProgressManager.pop(f); + progressBar.step("Initializing"); + this.dgInterface = new DungeonsGuide(authenticator); + this.dgInterface.pre(preInitializationEvent); + ProgressManager.pop(progressBar); } catch (Exception e) { e.printStackTrace(); - a(new String[]{ + throwError(new String[]{ "Couldn't load Dungeons Guide", "Please contact developer if this problem persists after restart" }); } return; } - } catch (IOException | InvalidAlgorithmParameterException | AuthenticationException | NoSuchAlgorithmException | NoSuchPaddingException | InvalidKeyException | IllegalBlockSizeException | BadPaddingException | CertificateException | KeyStoreException | KeyManagementException | InvalidKeySpecException | SignatureException e) { + } catch (IOException | AuthenticationException | NoSuchAlgorithmException | CertificateException | KeyStoreException | KeyManagementException | InvalidKeySpecException | SignatureException e) { e.printStackTrace(); } - a(new String[]{ + throwError(new String[]{ "Can't validate current installation of Dungeons Guide", "Steps to fix", "1. check if other people can't join minecraft servers.", @@ -104,7 +104,7 @@ public class a }); } - public void a(final String[] a) { + public void throwError(final String[] a) { final GuiScreen b = new GuiErrorScreen(null, null) { @Override public void drawScreen(int par1, int par2, float par3) { @@ -139,7 +139,7 @@ public class a }; throw e; } - public static a a() { - return a; + public static Main a() { + return main; } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java b/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java index 149de8eb..411d7dc9 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/RichPresenceManager.java @@ -33,10 +33,6 @@ import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import org.json.JSONObject; -import java.io.*; -import java.net.URL; -import java.time.Instant; - public class RichPresenceManager implements Runnable { public static RichPresenceManager INSTANCE = new RichPresenceManager(); private Thread t = new Thread(this); @@ -60,7 +56,7 @@ public class RichPresenceManager implements Runnable { PartyInviteViewer.INSTANCE.joinRequests.add(partyJoinRequest); }).setJoinGameEventHandler(joinSecret -> { - e.getDungeonsGuide().getStompConnection().send(new StompPayload().method(StompHeader.SEND) + DungeonsGuide.getDungeonsGuide().getStompConnection().send(new StompPayload().method(StompHeader.SEND) .header("destination", "/app/party.askedtojoin") .payload(new JSONObject().put("token", joinSecret).toString())); }).setErroredEventHandler((errorCode, message) -> { @@ -74,7 +70,7 @@ public class RichPresenceManager implements Runnable { }).build(), true); } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); public void updatePresence() { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/b.java b/src/main/java/kr/syeyoung/dungeonsguide/b.java deleted file mode 100755 index 1647bf59..00000000 --- a/src/main/java/kr/syeyoung/dungeonsguide/b.java +++ /dev/null @@ -1,295 +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; - -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; -import com.google.gson.JsonParser; -import com.mojang.authlib.GameProfile; -import com.mojang.authlib.exceptions.AuthenticationException; -import com.mojang.authlib.minecraft.MinecraftSessionService; -import net.minecraft.client.Minecraft; -import net.minecraft.util.Session; -import net.minecraftforge.fml.common.ProgressManager; -import org.apache.commons.codec.binary.Base64; - -import javax.crypto.*; -import javax.crypto.spec.IvParameterSpec; -import javax.crypto.spec.SecretKeySpec; -import javax.net.ssl.*; -import java.io.*; -import java.math.BigInteger; -import java.net.*; -import java.security.*; -import java.security.cert.CertificateException; -import java.security.spec.InvalidKeySpecException; -import java.security.spec.X509EncodedKeySpec; -import java.util.HashMap; -import java.util.zip.ZipEntry; -import java.util.zip.ZipInputStream; - -public class b { - private KeyPair a; - private String b; - private final ProgressManager.ProgressBar p; - - public String c() { - return b; - } - - private KeyPair a() { - KeyPairGenerator a = null; - try { - a = KeyPairGenerator.getInstance("RSA"); - } catch (NoSuchAlgorithmException b) { } - a.initialize(1024); - this.a = a.generateKeyPair(); - return this.a; - } - - private PublicKey d; - private PublicKey e() throws NoSuchAlgorithmException, InvalidKeySpecException { - if (d != null) return d; - X509EncodedKeySpec spec = new X509EncodedKeySpec(Base64.decodeBase64("MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxO89qtwG67jNucQ9Y44c" + - "IUs/B+5BeJPs7G+RG2gfs4/2+tzF/c1FLDc33M7yKw8aKk99vsBUY9Oo8gxxiEPB" + - "JitP/qfon2THp94oM77ZTpHlmFoqbZMcKGZVI8yfvEL4laTM8Hw+qh5poQwtpEbK" + - "Xo47AkxygxJasUnykER2+aSTZ6kWU2D4xiNtFA6lzqN+/oA+NaYfPS0amAvyVlHR" + - "n/8IuGkxb5RrlqVssQstFnxsJuv88qdGSEqlcKq2tLeg9hb8eCnl2OFzvXmgbVER" + - "0JaV+4Z02fVG1IlR3Xo1mSit7yIU6++3usRCjx2yfXpnGGJUW5pe6YETjNew3ax+" + - "FAZ4GePWCdmS7FvBnbbABKo5pE06ZTfDUTCjQlAJQiUgoF6ntMJvQAXPu48Vr8q/" + - "mTcuZWVnI6CDgyE7nNq3WNoq3397sBzxRohMxuqzl3T19zkfPKF05iV2Ju1HQMW5" + - "I119bYrmVD240aGESZc20Sx/9g1BFpNzQbM5PGUlWJ0dhLjl2ge4ip2hHciY3OEY" + - "p2Qy2k+xEdenpKdL+WMRimCQoO9gWe2Tp4NmP5dppDXZgPjXqjZpnGs0Uxs+fXqW" + - "cwlg3MbX3rFl9so/fhVf4p9oXZK3ve7z5D6XSSDRYECvsKIa08WAxJ/U6n204E/4" + - "xUF+3ZgFPdzZGn2PU7SsnOsCAwEAAQ==")); - return d = KeyFactory.getInstance("RSA").generatePublic(spec); - } - - public b(ProgressManager.ProgressBar p) { - this.p = p; - p.step("Generating KeyPair"); - a(); - } - - public String b(String e) throws IOException, AuthenticationException, NoSuchAlgorithmException, IllegalBlockSizeException, InvalidKeyException, BadPaddingException, InvalidAlgorithmParameterException, NoSuchPaddingException, CertificateException, KeyStoreException, KeyManagementException, InvalidKeySpecException, SignatureException { - Session a = Minecraft.getMinecraft().getSession(); - String b = a.getToken(); - - p.step("Authenticating (1/2)"); - String c = a(a.getProfile()); - MinecraftSessionService yggdrasilMinecraftSessionService = Minecraft.getMinecraft().getSessionService(); - JsonObject d = a(c); - String hash = a(Base64.decodeBase64(d.get("sharedSecret").getAsString()), - Base64.decodeBase64(d.get("publicKey").getAsString())); - yggdrasilMinecraftSessionService.joinServer(a.getProfile(), b, hash); - p.step("Authenticating (2/2)"); - this.b = a(c, this.a.getPublic()); - try { - p.step("Downloading Jar"); - if (e != null) - b(this.b, "https://dungeons.guide/resource/version?v=" + e, true); - p.step("Downloading Rooms"); - b(this.b, "https://dungeons.guide/resource/roomdata", false); - } catch (Throwable t) { - t.printStackTrace(); - } - return this.b; - } - - public JsonObject a(String c) { - String a = c.split("\\.")[1].replace("+", "-").replace("/", "_"); - String b = new String(Base64.decodeBase64(a)); // padding - return (JsonObject) new JsonParser().parse(b); - } - - - - private String a(GameProfile d) throws IOException, NoSuchAlgorithmException, CertificateException, KeyStoreException, KeyManagementException { - HttpsURLConnection a = (HttpsURLConnection) new URL("https://dungeons.guide/auth/requestAuth").openConnection(); - a.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); - a.setRequestProperty("Content-Type", "application/json"); - a.setRequestMethod("POST"); - a.setDoInput(true); - a.setDoOutput(true); - - a.getOutputStream().write(("{\"uuid\":\""+d.getId().toString()+"\",\"nickname\":\""+d.getName()+"\"}").getBytes()); - InputStreamReader b = new InputStreamReader(a.getInputStream()); - JsonObject c = (JsonObject) new JsonParser().parse(b); - if (!"ok".equals(c.get("status").getAsString())) { - return null; - } - return c.get("data").getAsString(); - } - private String a(String a, PublicKey b) throws IOException, NoSuchAlgorithmException, CertificateException, KeyStoreException, KeyManagementException { - HttpsURLConnection c = (HttpsURLConnection) new URL("https://dungeons.guide/auth/authenticate").openConnection(); - c.setRequestMethod("POST"); - c.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); - c.setRequestProperty("Content-Type", "application/json"); - c.setDoInput(true); - c.setDoOutput(true); - - c.getOutputStream().write(("{\"jwt\":\""+a+"\",\"publicKey\":\""+Base64.encodeBase64URLSafeString(b.getEncoded())+"\"}").getBytes()); - c.getResponseCode(); - InputStreamReader d = new InputStreamReader(c.getInputStream()); - JsonObject e = (JsonObject) new JsonParser().parse(d); - if (!"ok".equals(e.get("status").getAsString())) { - return null; - } - return e.get("data").getAsString(); - } - - private final HashMap<String, byte[]> c = new HashMap<String, byte[]>(); - - public HashMap<String, byte[]> d() { - return c; - } - - private void b(String a, String u, boolean v) throws IOException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, InvalidAlgorithmParameterException, CertificateException, KeyStoreException, KeyManagementException, SignatureException, InvalidKeySpecException { - HttpsURLConnection b = (HttpsURLConnection) new URL(u).openConnection(); - b.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); - b.setRequestProperty("Content-Type", "application/json"); - b.setRequestMethod("GET"); - b.setRequestProperty("Authorization", a); - b.setDoInput(true); - b.setDoOutput(true); - - InputStream c = b.getInputStream(); - byte[] d = new byte[4]; - c.read(d); - int f = ((d[0] & 0xFF) << 24) | - ((d[1] & 0xFF) << 16) | - ((d[2] & 0xFF) << 8) | - ((d[3] & 0xFF)); - while (c.available() < f) ; - byte[] e = new byte[f]; - c.read(e); - - Cipher g = Cipher.getInstance("RSA/ECB/PKCS1Padding"); - g.init(Cipher.DECRYPT_MODE, this.a.getPrivate()); - byte[] h = g.doFinal(e); - - g = Cipher.getInstance("AES/CBC/PKCS5Padding"); - SecretKeySpec i = new SecretKeySpec(h, "AES"); - IvParameterSpec j = new IvParameterSpec(h); - g.init(Cipher.DECRYPT_MODE, i, j); - CipherInputStream k = new CipherInputStream(c, g); - - k.read(d); - f = ((d[0] & 0xFF) << 24) | - ((d[1] & 0xFF) << 16) | - ((d[2] & 0xFF) << 8) | - ((d[3] & 0xFF)); - - int totalLen = f; - ByteArrayOutputStream bos = new ByteArrayOutputStream(); - byte[] buff = new byte[256]; - while (totalLen > 0) { - int len = k.read(buff, 0, Math.min(buff.length, totalLen)); - totalLen -= len; - bos.write(buff, 0, len); - } - byte[] payload = bos.toByteArray(); - - byte[] signed = null; - if (v) { - p.step("Validating Signature"); - k.read(d,0 , 4); - f = ((d[0] & 0xFF) << 24) | - ((d[1] & 0xFF) << 16) | - ((d[2] & 0xFF) << 8) | - ((d[3] & 0xFF)); - - totalLen = f; - bos = new ByteArrayOutputStream(); - while (totalLen > 0) { - int len = k.read(buff, 0, Math.min(buff.length, totalLen)); - totalLen -= len; - bos.write(buff, 0, len); - } - signed = bos.toByteArray(); - - Signature sign = Signature.getInstance("SHA512withRSA"); - sign.initVerify(e()); - sign.update(payload); - boolean truth = sign.verify(signed); - if (!truth) throw new SignatureException("DG SIGNATURE FORGED"); - } - - ZipInputStream l = new ZipInputStream(new ByteArrayInputStream(payload)); - ZipEntry m; - while ((m=l.getNextEntry()) != null) { - byte[] n = new byte[256]; - ByteArrayOutputStream o = new ByteArrayOutputStream(); - int p = 0; - while((p = l.read(n)) > 0) { - o.write(n, 0, p); - } - this.c.put(m.getName(), o.toByteArray()); - } - b.disconnect(); - } - - public JsonElement d(String u) throws IOException, NoSuchPaddingException, NoSuchAlgorithmException, InvalidKeyException, BadPaddingException, IllegalBlockSizeException, InvalidAlgorithmParameterException, CertificateException, KeyStoreException, KeyManagementException { - HttpsURLConnection b = (HttpsURLConnection) new URL(u).openConnection(); - b.setRequestProperty("User-Agent", "DungeonsGuide/1.0"); - b.setRequestProperty("Content-Type", "application/json"); - b.setRequestMethod("GET"); - b.setRequestProperty("Authorization", this.b); - b.setDoInput(true); - b.setDoOutput(true); - - InputStream c = b.getInputStream(); - byte[] d = new byte[4]; - c.read(d); - int f = ((d[0] & 0xFF) << 24) | - ((d[1] & 0xFF) << 16) | - ((d[2] & 0xFF) << 8) | - ((d[3] & 0xFF)); - while (c.available() < f) ; - byte[] e = new byte[f]; - c.read(e); - - Cipher g = Cipher.getInstance("RSA/ECB/PKCS1Padding"); - g.init(Cipher.DECRYPT_MODE, this.a.getPrivate()); - byte[] h = g.doFinal(e); - - g = Cipher.getInstance("AES/CBC/PKCS5Padding"); - SecretKeySpec i = new SecretKeySpec(h, "AES"); - IvParameterSpec j = new IvParameterSpec(h); - g.init(Cipher.DECRYPT_MODE, i, j); - CipherInputStream k = new CipherInputStream(c, g); - k.read(d); - f = ((d[0] & 0xFF) << 24) | - ((d[1] & 0xFF) << 16) | - ((d[2] & 0xFF) << 8) | - ((d[3] & 0xFF)); - JsonElement l = new JsonParser().parse(new InputStreamReader(k)); - b.disconnect(); - return l; - } - - public String a(byte[] a, byte[] b) throws NoSuchAlgorithmException { - MessageDigest c = MessageDigest.getInstance("SHA-1"); - c.update("".getBytes()); - c.update(a); - c.update(b); - byte[] d = c.digest(); - return new BigInteger(d).toString(16); - } -} diff --git a/src/main/java/kr/syeyoung/dungeonsguide/commands/CommandDungeonsGuide.java b/src/main/java/kr/syeyoung/dungeonsguide/commands/CommandDungeonsGuide.java index 8e70f191..ff86b083 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/commands/CommandDungeonsGuide.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/commands/CommandDungeonsGuide.java @@ -19,6 +19,7 @@ package kr.syeyoung.dungeonsguide.commands; import com.google.gson.JsonObject; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.config.guiconfig.GuiConfig; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.data.DungeonRoomInfo; @@ -27,7 +28,6 @@ import kr.syeyoung.dungeonsguide.dungeon.events.DungeonEventHolder; import kr.syeyoung.dungeonsguide.dungeon.mechanics.*; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoomInfoRegistry; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.DungeonLeftEvent; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.features.impl.party.playerpreview.FeatureViewPlayerOnJoin; @@ -74,11 +74,11 @@ public class CommandDungeonsGuide extends CommandBase { if (args.length == 0) { openConfig = true; } else if (args[0].equalsIgnoreCase("saverooms")) { - DungeonRoomInfoRegistry.saveAll(e.getDungeonsGuide().getConfigDir()); + DungeonRoomInfoRegistry.saveAll(DungeonsGuide.getDungeonsGuide().getConfigDir()); sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fSuccessfully saved user generated roomdata")); } else if (args[0].equalsIgnoreCase("loadrooms")) { try { - DungeonRoomInfoRegistry.loadAll(e.getDungeonsGuide().getConfigDir()); + DungeonRoomInfoRegistry.loadAll(DungeonsGuide.getDungeonsGuide().getConfigDir()); sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fSuccessfully loaded roomdatas")); return; } catch (BadPaddingException e) { @@ -124,11 +124,11 @@ public class CommandDungeonsGuide extends CommandBase { String serverBrand = Minecraft.getMinecraft().thePlayer.getClientBrand(); sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §e" + serverBrand)); } else if (args[0].equalsIgnoreCase("reparty")) { - e.getDungeonsGuide().getCommandReparty().requestReparty(); + DungeonsGuide.getDungeonsGuide().getCommandReparty().requestReparty(); } else if (args[0].equalsIgnoreCase("gui")) { openConfig = true; } else if (args[0].equalsIgnoreCase("info")) { - JsonObject obj = e.getDungeonsGuide().getAuthenticator().a(e.getDungeonsGuide().getAuthenticator().c()); + JsonObject obj = DungeonsGuide.getDungeonsGuide().getAuthenticator().getJwtPayload(DungeonsGuide.getDungeonsGuide().getAuthenticator().getToken()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fCurrent Plan§7: §e" + obj.get("plan").getAsString())); @@ -137,7 +137,7 @@ public class CommandDungeonsGuide extends CommandBase { sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fSession Expire§7: §e" + sdf.format(new Date(obj.get("exp").getAsLong() * 1000)))); } else if (args[0].equalsIgnoreCase("pathfind")) { try { - DungeonContext context = e.getDungeonsGuide().getSkyblockStatus().getContext(); + DungeonContext context = DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getContext(); EntityPlayerSP thePlayer = Minecraft.getMinecraft().thePlayer; if (thePlayer == null) return; if (context.getBossfightProcessor() != null) context.getBossfightProcessor().tick(); @@ -150,7 +150,7 @@ public class CommandDungeonsGuide extends CommandBase { t.printStackTrace(); } } else if (args[0].equals("process") && Minecraft.getMinecraft().getSession().getPlayerID().replace("-", "").equals("e686fe0aab804a71ac7011dc8c2b534c")) { - File root = e.getDungeonsGuide().getConfigDir(); + File root = DungeonsGuide.getDungeonsGuide().getConfigDir(); File dir = new File(root, "processorinput"); File outpuzzle = new File(root, "processoroutpuzzle"); File outsecret = new File(root, "processoroutsecret"); @@ -182,7 +182,7 @@ public class CommandDungeonsGuide extends CommandBase { } } } else if (args[0].equals("check") && Minecraft.getMinecraft().getSession().getPlayerID().replace("-", "").equals("e686fe0aab804a71ac7011dc8c2b534c")) { - File root = e.getDungeonsGuide().getConfigDir(); + File root = DungeonsGuide.getDungeonsGuide().getConfigDir(); for (File f : root.listFiles()) { if (!f.getName().endsWith(".roomdata")) continue; try { @@ -243,7 +243,7 @@ public class CommandDungeonsGuide extends CommandBase { } else if (args[0].equals("reloaddungeon") && Minecraft.getMinecraft().getSession().getPlayerID().replace("-", "").equals("e686fe0aab804a71ac7011dc8c2b534c")){ try { MinecraftForge.EVENT_BUS.post(new DungeonLeftEvent()); - e.getDungeonsGuide().getSkyblockStatus().setContext(null); + DungeonsGuide.getDungeonsGuide().getSkyblockStatus().setContext(null); MapUtils.clearMap(); } catch (Throwable t) { t.printStackTrace(); @@ -316,16 +316,16 @@ public class CommandDungeonsGuide extends CommandBase { } else if (args[0].equals("partyid")) { sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fInternal Party id: "+PartyManager.INSTANCE.getPartyID())); } else if (args[0].equalsIgnoreCase("loc")) { - sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fYou're in "+e.getDungeonsGuide().getSkyblockStatus().getDungeonName())); + sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §fYou're in "+ DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName())); } else if (args[0].equalsIgnoreCase("saverun")) { try { - File f = e.getDungeonsGuide().getConfigDir(); + File f = DungeonsGuide.getDungeonsGuide().getConfigDir(); File runDir = new File(f, "dungeonruns"); runDir.mkdirs(); File runFile = new File(runDir, UUID.randomUUID() +".dgrun"); - DungeonContext dungeonContext = e.getDungeonsGuide().getSkyblockStatus().getContext(); + DungeonContext dungeonContext = DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getContext(); if (dungeonContext == null) { sender.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §cCouldn't find dungeon to save!")); return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java index d293c3af..026be921 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/DungeonContext.java @@ -18,12 +18,11 @@ package kr.syeyoung.dungeonsguide.dungeon; -import kr.syeyoung.dungeonsguide.SkyblockStatus; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonSpecificDataProvider; import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonSpecificDataProviderRegistry; import kr.syeyoung.dungeonsguide.dungeon.events.*; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.BossroomEnterEvent; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.features.impl.dungeon.FeatureDungeonMap; @@ -108,9 +107,9 @@ public class DungeonContext { this.world = world; createEvent(new DungeonNodataEvent("DUNGEON_CONTEXT_CREATION")); mapProcessor = new MapProcessor(this); - DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); if (doorFinder != null) - trapRoomGen = doorFinder.isTrapSpawn(e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + trapRoomGen = doorFinder.isTrapSpawn(DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); else mapProcessor.setBugged(true); init = System.currentTimeMillis(); } @@ -130,11 +129,11 @@ public class DungeonContext { bossroomSpawnPos = Minecraft.getMinecraft().thePlayer.getPosition(); MinecraftForge.EVENT_BUS.post(new BossroomEnterEvent()); createEvent(new DungeonNodataEvent("BOSSROOM_ENTER")); - DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); if (doorFinder != null) { - bossfightProcessor = doorFinder.createBossfightProcessor(world, e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + bossfightProcessor = doorFinder.createBossfightProcessor(world, DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); } else { - e.sendDebugChat(new ChatComponentText("Error:: Null Data Providier")); + DungeonsGuide.sendDebugChat(new ChatComponentText("Error:: Null Data Providier")); } } List<NetworkPlayerInfo> list = FeatureDungeonMap.field_175252_a.sortedCopy(Minecraft.getMinecraft().thePlayer.sendQueue.getPlayerInfoMap()); @@ -176,7 +175,7 @@ public class DungeonContext { int z = Integer.parseInt(coords.split("/")[1]); int secrets2 = Integer.parseInt(secrets); Point roomPt = mapProcessor.worldPointToRoomPoint(new BlockPos(x,70,z)); - e.sendDebugChat(new ChatComponentText("Message from Other dungeons guide :: "+roomPt.x+" / " + roomPt.y + " total secrets "+secrets2)); + DungeonsGuide.sendDebugChat(new ChatComponentText("Message from Other dungeons guide :: "+roomPt.x+" / " + roomPt.y + " total secrets "+secrets2)); DungeonRoom dr = roomMapper.get(roomPt); if (dr != null) { dr.setTotalSecrets(secrets2); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java index d6a37d7d..a86a5326 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/MapProcessor.java @@ -19,14 +19,12 @@ package kr.syeyoung.dungeonsguide.dungeon; import com.google.common.collect.BiMap; -import com.google.common.collect.EnumHashBiMap; import com.google.common.collect.HashBiMap; import com.google.common.collect.Sets; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.dungeon.events.DungeonMapUpdateEvent; import kr.syeyoung.dungeonsguide.dungeon.events.DungeonNodataEvent; import kr.syeyoung.dungeonsguide.dungeon.events.DungeonRoomDiscoverEvent; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonSpecificDataProviderRegistry; import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonSpecificDataProvider; @@ -145,26 +143,26 @@ public class MapProcessor { } // determine door location based on npc, and determine map min from there { - DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + DungeonSpecificDataProvider doorFinder = DungeonSpecificDataProviderRegistry.getDoorFinder(DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); if (doorFinder == null) { - Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §cCouldn't find door processor for "+e.getDungeonsGuide().getSkyblockStatus().getDungeonName())); + Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §cCouldn't find door processor for "+ DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName())); bugged = true; return; } - BlockPos door = doorFinder.findDoor(context.getWorld(), e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + BlockPos door = doorFinder.findDoor(context.getWorld(), DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); if (door == null) { Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("§eDungeons Guide §7:: §cCouldn't determine door of the room, disabling mod for this dungeon run")); bugged = true; return; } - e.sendDebugChat(new ChatComponentText("door Pos:"+door)); + DungeonsGuide.sendDebugChat(new ChatComponentText("door Pos:"+door)); Point unitPoint = mapPointToRoomPoint(startroom); unitPoint.translate(unitPoint.x + 1, unitPoint.y + 1); unitPoint.translate((int)doorDir.x, (int)doorDir.y); - Vector2d offset = doorFinder.findDoorOffset(context.getWorld(), e.getDungeonsGuide().getSkyblockStatus().getDungeonName()); + Vector2d offset = doorFinder.findDoorOffset(context.getWorld(), DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName()); axisMatch = doorDir.equals(offset); int worldX = unitPoint.x * 16; @@ -174,12 +172,12 @@ public class MapProcessor { } - e.sendDebugChat(new ChatComponentText("Found Green room:"+startroom)); - e.sendDebugChat(new ChatComponentText("Axis match:"+axisMatch)); - e.sendDebugChat(new ChatComponentText("World Min:"+context.getDungeonMin())); - e.sendDebugChat(new ChatComponentText("Dimension:"+unitRoomDimension)); - e.sendDebugChat(new ChatComponentText("top Left:"+topLeftMapPoint)); - e.sendDebugChat(new ChatComponentText("door dimension:"+doorDimension)); + DungeonsGuide.sendDebugChat(new ChatComponentText("Found Green room:"+startroom)); + DungeonsGuide.sendDebugChat(new ChatComponentText("Axis match:"+axisMatch)); + DungeonsGuide.sendDebugChat(new ChatComponentText("World Min:"+context.getDungeonMin())); + DungeonsGuide.sendDebugChat(new ChatComponentText("Dimension:"+unitRoomDimension)); + DungeonsGuide.sendDebugChat(new ChatComponentText("top Left:"+topLeftMapPoint)); + DungeonsGuide.sendDebugChat(new ChatComponentText("door dimension:"+doorDimension)); context.createEvent(new DungeonNodataEvent("MAP_PROCESSOR_INIT")); initialized = true; MinecraftForge.EVENT_BUS.post(new DungeonContextInitializationEvent()); @@ -253,8 +251,8 @@ public class MapProcessor { DungeonRoom rooms = buildRoom(mapData, new Point(x,y)); if (rooms == null) continue; context.createEvent(new DungeonRoomDiscoverEvent(rooms.getUnitPoints().get(0), rooms.getRoomMatcher().getRotation(), rooms.getMin(), rooms.getShape(),rooms.getColor(), rooms.getDungeonRoomInfo().getUuid(), rooms.getDungeonRoomInfo().getName(), rooms.getDungeonRoomInfo().getProcessorId())); - e.sendDebugChat(new ChatComponentText("New Map discovered! shape: "+rooms.getShape()+ " color: "+rooms.getColor()+" unitPos: "+x+","+y)); - e.sendDebugChat(new ChatComponentText("New Map discovered! mapMin: "+rooms.getMin() + " mapMx: "+rooms.getMax())); + DungeonsGuide.sendDebugChat(new ChatComponentText("New Map discovered! shape: "+rooms.getShape()+ " color: "+rooms.getColor()+" unitPos: "+x+","+y)); + DungeonsGuide.sendDebugChat(new ChatComponentText("New Map discovered! mapMin: "+rooms.getMin() + " mapMx: "+rooms.getMax())); StringBuilder builder = new StringBuilder(); for (int dy =0;dy<4;dy++) { builder.append("\n"); @@ -263,7 +261,7 @@ public class MapProcessor { builder.append(isSet ? "O" : "X"); } } - e.sendDebugChat(new ChatComponentText("Shape visual: "+ builder)); + DungeonsGuide.sendDebugChat(new ChatComponentText("Shape visual: "+ builder)); context.getDungeonRoomList().add(rooms); for (Point p:rooms.getUnitPoints()) { @@ -318,7 +316,7 @@ public class MapProcessor { try{ return new DungeonRoom(ayConnected, shape, unit1, roomPointToWorldPoint(new Point(minX, minY)), roomPointToWorldPoint(new Point(maxX+1, maxY+1)).add(-1, 0, -1), context); } catch (IllegalStateException ex) { - e.sendDebugChat(new ChatComponentText("Failed to load room, retrying later :: "+ex.getLocalizedMessage())); + DungeonsGuide.sendDebugChat(new ChatComponentText("Failed to load room, retrying later :: "+ex.getLocalizedMessage())); return null; } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java index 952e041f..79277c98 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombDataProvider.java @@ -20,7 +20,7 @@ package kr.syeyoung.dungeonsguide.dungeon.doorfinder; import com.google.common.base.Predicate; import com.google.common.collect.Sets; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.*; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.init.Blocks; @@ -92,7 +92,7 @@ public class CatacombDataProvider implements DungeonSpecificDataProvider { @Override public BossfightProcessor createBossfightProcessor(World w, String dungeonName) { String floor = dungeonName.substring(14).trim(); - e.sendDebugChat(new ChatComponentText("Floor: "+floor+ " Building bossfight processor")); + DungeonsGuide.sendDebugChat(new ChatComponentText("Floor: "+floor+ " Building bossfight processor")); if (floor.equals("F1")) { return new BossfightProcessorBonzo(); } else if (floor.equals("F2")) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombMasterDataProvider.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombMasterDataProvider.java index 6ea8d6ce..54c8f3dd 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombMasterDataProvider.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/doorfinder/CatacombMasterDataProvider.java @@ -20,7 +20,7 @@ package kr.syeyoung.dungeonsguide.dungeon.doorfinder; import com.google.common.base.Predicate; import com.google.common.collect.Sets; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.*; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.init.Blocks; @@ -92,7 +92,7 @@ public class CatacombMasterDataProvider implements DungeonSpecificDataProvider { @Override public BossfightProcessor createBossfightProcessor(World w, String dungeonName) { String floor = dungeonName.substring(14).trim(); - e.sendDebugChat(new ChatComponentText("Floor: Master mode "+floor+ " Building bossfight processor")); + DungeonsGuide.sendDebugChat(new ChatComponentText("Floor: Master mode "+floor+ " Building bossfight processor")); return null; } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java index 78765bd9..2bdc4206 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/dungeon/roomfinder/DungeonRoomInfoRegistry.java @@ -19,7 +19,6 @@ package kr.syeyoung.dungeonsguide.dungeon.roomfinder; import com.google.common.io.Files; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.dungeon.data.DungeonRoomInfo; import net.minecraft.client.Minecraft; import org.apache.commons.io.IOUtils; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/DungeonListener.java b/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/DungeonListener.java index 438d58aa..90d3f537 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/DungeonListener.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/DungeonListener.java @@ -19,6 +19,7 @@ package kr.syeyoung.dungeonsguide.eventlistener; import com.google.gson.JsonObject; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.config.Config; import kr.syeyoung.dungeonsguide.Keybinds; import kr.syeyoung.dungeonsguide.SkyblockStatus; @@ -26,7 +27,6 @@ import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.DungeonActionManager; import kr.syeyoung.dungeonsguide.dungeon.doorfinder.DungeonDoor; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.*; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.roomedit.EditingContext; @@ -85,7 +85,7 @@ public class DungeonListener { @SubscribeEvent public void onPostDraw(GuiScreenEvent.DrawScreenEvent.Post e) { try { - SkyblockStatus skyblockStatus = kr.syeyoung.dungeonsguide.e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; @@ -107,7 +107,7 @@ public class DungeonListener { @SubscribeEvent public void onEntityUpdate(LivingEvent.LivingUpdateEvent e) { try { - SkyblockStatus skyblockStatus = kr.syeyoung.dungeonsguide.e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; @@ -133,7 +133,7 @@ public class DungeonListener { if (ev.phase == TickEvent.Phase.START) { - JsonObject obj = e.getDungeonsGuide().getAuthenticator().a(e.getDungeonsGuide().getAuthenticator().c()); + JsonObject obj = DungeonsGuide.getDungeonsGuide().getAuthenticator().getJwtPayload(DungeonsGuide.getDungeonsGuide().getAuthenticator().getToken()); if (!obj.get("uuid").getAsString().equals(Minecraft.getMinecraft().getSession().getProfile().getId().toString())) { if (Minecraft.getMinecraft().currentScreen instanceof GuiErrorScreen) return; @@ -168,7 +168,7 @@ public class DungeonListener { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); { boolean isOnDungeon = skyblockStatus.isOnDungeon(); boolean isOnSkyblock = skyblockStatus.isOnSkyblock(); @@ -227,7 +227,7 @@ public class DungeonListener { try { if (postRender.type != RenderGameOverlayEvent.ElementType.TEXT) return; - JsonObject obj = e.getDungeonsGuide().getAuthenticator().a(e.getDungeonsGuide().getAuthenticator().c()); + JsonObject obj = DungeonsGuide.getDungeonsGuide().getAuthenticator().getJwtPayload(DungeonsGuide.getDungeonsGuide().getAuthenticator().getToken()); FontRenderer fr = Minecraft.getMinecraft().fontRendererObj; if (obj.get("plan").getAsString().equalsIgnoreCase("TRIAL")) { fr.drawString("Using trial Version of Dungeons Guide", 0,0, 0xFFFFFFFF); @@ -235,7 +235,7 @@ public class DungeonListener { } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; if (skyblockStatus.getContext() != null) { @@ -261,7 +261,7 @@ public class DungeonListener { @SubscribeEvent(receiveCanceled = true, priority = EventPriority.HIGHEST) public void onChatReceived(ClientChatReceivedEvent clientChatReceivedEvent) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; if (clientChatReceivedEvent.type != 2 && clientChatReceivedEvent.message.getFormattedText().contains("§6> §e§lEXTRA STATS §6<")) { @@ -322,7 +322,7 @@ public class DungeonListener { @SubscribeEvent public void onWorldRender(RenderWorldLastEvent renderWorldLastEvent) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; DungeonContext context = skyblockStatus.getContext(); @@ -378,7 +378,7 @@ public class DungeonListener { @SubscribeEvent() public void onKey2(InputEvent.KeyInputEvent keyInputEvent) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; DungeonContext context = skyblockStatus.getContext(); @@ -409,7 +409,7 @@ public class DungeonListener { @SubscribeEvent() public void onInteract(PlayerInteractEntityEvent interact) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; DungeonContext context = skyblockStatus.getContext(); @@ -443,7 +443,7 @@ public class DungeonListener { if (FeatureRegistry.DEBUG.isEnabled() && FeatureRegistry.ADVANCED_ROOMEDIT.isEnabled() && Keybinds.editingSession.isKeyDown() ){ EditingContext ec = EditingContext.getEditingContext(); if (ec == null) { - DungeonContext context = e.getDungeonsGuide().getSkyblockStatus().getContext(); + DungeonContext context = DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getContext(); if (context == null) { Minecraft.getMinecraft().thePlayer.addChatMessage(new ChatComponentText("Not in dungeons")); return; @@ -470,7 +470,7 @@ public class DungeonListener { @SubscribeEvent public void onInteract(PlayerInteractEvent keyInputEvent) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; DungeonContext context = skyblockStatus.getContext(); @@ -513,7 +513,7 @@ public class DungeonListener { DungeonActionManager.getKilleds().add(deathEvent.entity.getEntityId()); try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnDungeon()) return; DungeonContext context = skyblockStatus.getContext(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/FeatureListener.java b/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/FeatureListener.java index f5aa70c8..971d7ca9 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/FeatureListener.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/FeatureListener.java @@ -18,40 +18,22 @@ package kr.syeyoung.dungeonsguide.eventlistener; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.guiconfig.GuiGuiLocationConfig; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.*; import kr.syeyoung.dungeonsguide.features.*; import kr.syeyoung.dungeonsguide.features.AbstractFeature; import kr.syeyoung.dungeonsguide.features.listener.*; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; -import net.minecraft.block.Block; -import net.minecraft.block.material.Material; -import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.WorldRenderer; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.entity.Entity; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; -import net.minecraft.init.Items; -import net.minecraft.util.*; import net.minecraftforge.client.event.*; import net.minecraftforge.client.event.sound.PlaySoundEvent; import net.minecraftforge.event.entity.player.ItemTooltipEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; -import net.minecraftforge.fml.common.gameevent.InputEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; -import org.lwjgl.opengl.GL11; - -import java.awt.*; -import java.util.ArrayList; -import java.util.List; public class FeatureListener { @SubscribeEvent @@ -60,7 +42,7 @@ public class FeatureListener { boolean isLocConfig = Minecraft.getMinecraft().currentScreen instanceof GuiGuiLocationConfig; if (postRender.type != RenderGameOverlayEvent.ElementType.ALL) return; - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -88,7 +70,7 @@ public class FeatureListener { @SubscribeEvent public void onRender(RenderLivingEvent.Pre preRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -104,7 +86,7 @@ public class FeatureListener { @SubscribeEvent public void onSound(PlaySoundEvent soundEvent) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -120,7 +102,7 @@ public class FeatureListener { @SubscribeEvent public void onRender(RenderLivingEvent.Post preRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -135,7 +117,7 @@ public class FeatureListener { @SubscribeEvent public void onRender(TitleEvent titleEvent) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -150,7 +132,7 @@ public class FeatureListener { @SubscribeEvent public void onRender(RenderPlayerEvent.Pre preRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -165,7 +147,7 @@ public class FeatureListener { @SubscribeEvent public void onRender(RenderPlayerEvent.Post preRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -182,7 +164,7 @@ public class FeatureListener { @SubscribeEvent public void onRenderWorld(RenderWorldLastEvent postRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -197,7 +179,7 @@ public class FeatureListener { @SubscribeEvent public void onInteract(PlayerInteractEvent postRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -214,7 +196,7 @@ public class FeatureListener { @SubscribeEvent public void onRenderWorld(ClientChatReceivedEvent postRender) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -243,7 +225,7 @@ public class FeatureListener { @SubscribeEvent public void dungeonTooltip(ItemTooltipEvent event) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -260,7 +242,7 @@ public class FeatureListener { public void onTick(TickEvent.ClientTickEvent tick) { if (tick.phase == TickEvent.Phase.END && tick.type == TickEvent.Type.CLIENT ) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -276,7 +258,7 @@ public class FeatureListener { @SubscribeEvent public void onGuiOpen(GuiOpenEvent tick) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -291,7 +273,7 @@ public class FeatureListener { @SubscribeEvent public void onGuiRender(GuiScreenEvent.DrawScreenEvent.Post render) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -307,7 +289,7 @@ public class FeatureListener { @SubscribeEvent public void onGuiRender(GuiScreenEvent.DrawScreenEvent.Pre render) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -323,7 +305,7 @@ public class FeatureListener { @SubscribeEvent public void onGuiRender(GuiScreenEvent.BackgroundDrawnEvent render) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { @@ -340,7 +322,7 @@ public class FeatureListener { @SubscribeEvent(receiveCanceled = true, priority = EventPriority.HIGH) public void onGuiEvent(GuiScreenEvent.MouseInputEvent.Pre input) { try { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); if (!skyblockStatus.isOnSkyblock()) return; for (AbstractFeature abstractFeature : FeatureRegistry.getFeatureList()) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/PacketListener.java b/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/PacketListener.java index 554e0a46..a05cedce 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/PacketListener.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/eventlistener/PacketListener.java @@ -23,7 +23,7 @@ import io.netty.channel.ChannelHandler; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.ChannelPromise; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.events.PlayerInteractEntityEvent; import kr.syeyoung.dungeonsguide.events.TitleEvent; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; @@ -33,15 +33,12 @@ import net.minecraft.network.play.client.C02PacketUseEntity; import net.minecraft.network.play.server.S04PacketEntityEquipment; import net.minecraft.network.play.server.S45PacketTitle; import net.minecraftforge.common.MinecraftForge; -import net.minecraftforge.fml.common.eventhandler.EventBus; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.network.FMLNetworkEvent; -import java.lang.reflect.Field; - @ChannelHandler.Sharable public class PacketListener extends ChannelDuplexHandler { - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureDebuggableMap.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureDebuggableMap.java index 48751c3c..d474f62c 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureDebuggableMap.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureDebuggableMap.java @@ -18,25 +18,19 @@ package kr.syeyoung.dungeonsguide.features.impl.advanced; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.utils.MapUtils; import kr.syeyoung.dungeonsguide.utils.RenderUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.util.ResourceLocation; -import org.apache.commons.lang3.StringUtils; import org.lwjgl.opengl.GL11; import java.awt.*; @@ -51,7 +45,7 @@ public class FeatureDebuggableMap extends GuiFeature { DynamicTexture dynamicTexture = new DynamicTexture(128, 128); ResourceLocation location = Minecraft.getMinecraft().renderEngine.getDynamicTextureLocation("dungeons/map/", dynamicTexture); - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void drawHUD(float partialTicks) { if (!skyblockStatus.isOnDungeon()) return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomCoordDisplay.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomCoordDisplay.java index 95cabd87..307927aa 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomCoordDisplay.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomCoordDisplay.java @@ -22,17 +22,14 @@ import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.features.GuiFeature; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.util.BlockPos; -import net.minecraft.util.MathHelper; -import org.apache.commons.lang3.StringUtils; import java.awt.*; @@ -43,7 +40,7 @@ public class FeatureRoomCoordDisplay extends GuiFeature { parameters.put("color", new FeatureParameter<Color>("color", "Color", "Color of text", Color.yellow, "color")); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final String[] facing = {"Z+", "X-", "Z-", "X+"}; @Override public void drawHUD(float partialTicks) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomDebugInfo.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomDebugInfo.java index d107cf32..df5a0f51 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomDebugInfo.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/advanced/FeatureRoomDebugInfo.java @@ -21,23 +21,16 @@ package kr.syeyoung.dungeonsguide.features.impl.advanced; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.ChatListener; -import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.FontRenderer; -import net.minecraft.util.ChatComponentText; -import net.minecraftforge.client.event.ClientChatReceivedEvent; import org.apache.commons.lang3.StringUtils; import java.awt.*; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; public class FeatureRoomDebugInfo extends GuiFeature { public FeatureRoomDebugInfo() { @@ -46,7 +39,7 @@ public class FeatureRoomDebugInfo extends GuiFeature { parameters.put("color", new FeatureParameter<Color>("color", "Color", "Color of text", Color.white, "color")); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void drawHUD(float partialTicks) { if (!skyblockStatus.isOnDungeon()) return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureAutoReparty.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureAutoReparty.java index 3321c6c4..992802c2 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureAutoReparty.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureAutoReparty.java @@ -18,24 +18,9 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.SimpleFeature; -import kr.syeyoung.dungeonsguide.features.listener.DungeonEndListener; import kr.syeyoung.dungeonsguide.features.listener.DungeonQuitListener; -import kr.syeyoung.dungeonsguide.features.listener.GuiBackgroundRenderListener; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.inventory.GuiChest; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.inventory.ContainerChest; -import net.minecraft.inventory.IInventory; -import net.minecraft.item.ItemStack; -import net.minecraft.nbt.NBTTagCompound; -import net.minecraft.nbt.NBTTagList; -import net.minecraftforge.client.event.GuiScreenEvent; -import org.lwjgl.opengl.GL11; public class FeatureAutoReparty extends SimpleFeature implements DungeonQuitListener { public FeatureAutoReparty() { @@ -44,6 +29,6 @@ public class FeatureAutoReparty extends SimpleFeature implements DungeonQuitList @Override public void onDungeonQuit() { - if (isEnabled()) e.getDungeonsGuide().getCommandReparty().requestReparty(); + if (isEnabled()) DungeonsGuide.getDungeonsGuide().getCommandReparty().requestReparty(); } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBossHealth.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBossHealth.java index 35d9d129..f8cd2257 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBossHealth.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBossHealth.java @@ -18,31 +18,19 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.ChatListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorThorn; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.HealthData; import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.util.ChatComponentText; -import net.minecraftforge.client.event.ClientChatReceivedEvent; -import java.awt.*; -import java.awt.font.TextHitInfo; import java.util.ArrayList; import java.util.Arrays; -import java.util.Map; -import java.util.regex.Matcher; import java.util.List; -import java.util.regex.Pattern; public class FeatureBossHealth extends TextHUDFeature { public FeatureBossHealth() { @@ -59,7 +47,7 @@ public class FeatureBossHealth extends TextHUDFeature { getStyles().add(new TextStyle("maxHealth", new AColor(0x55, 0x55,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBoxRealLivid.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBoxRealLivid.java index 7bb306e9..51d649eb 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBoxRealLivid.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureBoxRealLivid.java @@ -18,24 +18,16 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; -import com.google.common.base.Predicate; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorLivid; import kr.syeyoung.dungeonsguide.utils.RenderUtils; -import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityOtherPlayerMP; -import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.util.AxisAlignedBB; -import net.minecraft.util.BlockPos; -import org.jetbrains.annotations.Nullable; - -import java.awt.*; -import java.util.List; public class FeatureBoxRealLivid extends SimpleFeature implements WorldRenderListener { @@ -45,7 +37,7 @@ public class FeatureBoxRealLivid extends SimpleFeature implements WorldRenderLis } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void drawWorld(float partialTicks) { if (!isEnabled()) return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureChestPrice.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureChestPrice.java index 9fef5a6c..f6c61608 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureChestPrice.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureChestPrice.java @@ -18,11 +18,10 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.GuiBackgroundRenderListener; import kr.syeyoung.dungeonsguide.utils.AhUtils; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; @@ -49,7 +48,7 @@ public class FeatureChestPrice extends SimpleFeature implements GuiBackgroundRen public void onGuiBGRender(GuiScreenEvent.BackgroundDrawnEvent rendered) { if (!isEnabled()) return; if (!(rendered.gui instanceof GuiChest)) return; - if (!e.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; + if (!DungeonsGuide.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; GlStateManager.disableLighting(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureCurrentPhase.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureCurrentPhase.java index 56ec8285..502229fe 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureCurrentPhase.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureCurrentPhase.java @@ -20,12 +20,10 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessor; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorThorn; import java.util.ArrayList; import java.util.Arrays; @@ -40,7 +38,7 @@ public class FeatureCurrentPhase extends TextHUDFeature { getStyles().add(new TextStyle("phase", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final List<StyledText> dummyText= new ArrayList<StyledText>(); static { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureHideAnimals.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureHideAnimals.java index c1f2fad9..4bd2d4e8 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureHideAnimals.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureHideAnimals.java @@ -18,20 +18,13 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.EntityLivingRenderListener; -import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorLivid; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorThorn; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; -import net.minecraft.client.entity.EntityOtherPlayerMP; -import net.minecraft.entity.Entity; import net.minecraft.entity.passive.*; -import net.minecraft.util.AxisAlignedBB; import net.minecraftforge.client.event.RenderLivingEvent; @@ -46,7 +39,7 @@ public class FeatureHideAnimals extends SimpleFeature implements EntityLivingRen } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void onEntityRenderPre(RenderLivingEvent.Pre renderPlayerEvent) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureTerracotaTimer.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureTerracotaTimer.java index d7404448..6a705499 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureTerracotaTimer.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureTerracotaTimer.java @@ -20,12 +20,11 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorSadan; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorThorn; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.entity.boss.BossStatus; @@ -42,7 +41,7 @@ public class FeatureTerracotaTimer extends TextHUDFeature { getStyles().add(new TextStyle("time", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final List<StyledText> dummyText= new ArrayList<StyledText>(); static { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornBearPercentage.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornBearPercentage.java index 16d78188..c7365386 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornBearPercentage.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornBearPercentage.java @@ -20,19 +20,12 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorThorn; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.HealthData; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.client.gui.FontRenderer; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -47,7 +40,7 @@ public class FeatureThornBearPercentage extends TextHUDFeature { getStyles().add(new TextStyle("unit", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final java.util.List<StyledText> dummyText= new ArrayList<StyledText>(); static { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornSpiritBowTimer.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornSpiritBowTimer.java index 6f2d5987..4c9bfd2b 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornSpiritBowTimer.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureThornSpiritBowTimer.java @@ -18,9 +18,9 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; import kr.syeyoung.dungeonsguide.features.listener.TitleListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; @@ -43,7 +43,7 @@ public class FeatureThornSpiritBowTimer extends TextHUDFeature implements ChatLi getStyles().add(new TextStyle("time", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final List<StyledText> dummyText= new ArrayList<StyledText>(); static { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureWarningOnPortal.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureWarningOnPortal.java index cf30dbe8..0242cfc6 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureWarningOnPortal.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/FeatureWarningOnPortal.java @@ -19,13 +19,13 @@ package kr.syeyoung.dungeonsguide.features.impl.boss; import com.google.common.base.Supplier; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.guiconfig.ConfigPanelCreator; import kr.syeyoung.dungeonsguide.config.guiconfig.GuiConfig; import kr.syeyoung.dungeonsguide.config.guiconfig.PanelDefaultParameterConfig; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.features.SimpleFeature; @@ -97,7 +97,7 @@ public class FeatureWarningOnPortal extends SimpleFeature implements StyledTextP return dummyText; } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public List<StyledText> getText() { ArrayList<StyledText> texts = new ArrayList<StyledText>(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java index 1366b55f..74f6d948 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/boss/terminal/FeatureSimonSaysSolver.java @@ -18,9 +18,9 @@ package kr.syeyoung.dungeonsguide.features.impl.boss.terminal; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.InteractListener; import kr.syeyoung.dungeonsguide.features.listener.TickListener; @@ -42,7 +42,7 @@ public class FeatureSimonSaysSolver extends SimpleFeature implements WorldRender super("Bossfight","Simon Says Solver","Solver for Simon says puzzle", "bossfight.simonsays2"); } - private final SkyblockStatus ss = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus ss = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private final List<BlockPos> orderbuild = new ArrayList<BlockPos>(); private final LinkedList<BlockPos> orderclick = new LinkedList<BlockPos>(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxBats.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxBats.java index 517b1d51..a7c58ea4 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxBats.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxBats.java @@ -19,16 +19,14 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import com.google.common.base.Predicate; -import com.google.common.base.Predicates; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; import kr.syeyoung.dungeonsguide.utils.RenderUtils; import net.minecraft.client.Minecraft; -import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.entity.passive.EntityBat; import net.minecraft.util.BlockPos; import org.jetbrains.annotations.Nullable; @@ -44,7 +42,7 @@ public class FeatureBoxBats extends SimpleFeature implements WorldRenderListener } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void drawWorld(float partialTicks) { if (!isEnabled()) return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxSkelemaster.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxSkelemaster.java index e8192e57..5020edc6 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxSkelemaster.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxSkelemaster.java @@ -21,18 +21,16 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import com.google.common.base.Predicate; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; import kr.syeyoung.dungeonsguide.utils.RenderUtils; import net.minecraft.client.Minecraft; import net.minecraft.entity.item.EntityArmorStand; -import net.minecraft.entity.monster.EntitySkeleton; import net.minecraft.util.BlockPos; import org.jetbrains.annotations.Nullable; -import java.awt.*; import java.util.List; @@ -44,7 +42,7 @@ public class FeatureBoxSkelemaster extends SimpleFeature implements WorldRenderL } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void drawWorld(float partialTicks) { if (!isEnabled()) return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxStarMobs.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxStarMobs.java index 4efbdae9..992051bb 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxStarMobs.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureBoxStarMobs.java @@ -19,9 +19,9 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import com.google.common.base.Predicate; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; @@ -31,7 +31,6 @@ import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.util.BlockPos; import org.jetbrains.annotations.Nullable; -import java.awt.*; import java.util.List; @@ -43,7 +42,7 @@ public class FeatureBoxStarMobs extends SimpleFeature implements WorldRenderList } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void drawWorld(float partialTicks) { if (!isEnabled()) return; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java index 16d29af6..df6553e4 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonCurrentRoomSecrets.java @@ -20,21 +20,13 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.util.BlockPos; import net.minecraftforge.client.event.ClientChatReceivedEvent; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -50,7 +42,7 @@ public class FeatureDungeonCurrentRoomSecrets extends TextHUDFeature implements getStyles().add(new TextStyle("totalSecrets", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final List<StyledText> dummyText= new ArrayList<StyledText>(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonDeaths.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonDeaths.java index be7dad61..58f6e83a 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonDeaths.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonDeaths.java @@ -18,31 +18,22 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.events.DungeonDeathEvent; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; -import kr.syeyoung.dungeonsguide.features.listener.TickListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.scoreboard.Score; -import net.minecraft.scoreboard.ScoreObjective; import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.scoreboard.Scoreboard; import net.minecraft.util.ChatComponentText; import net.minecraftforge.client.event.ClientChatReceivedEvent; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.*; import java.util.List; import java.util.regex.Matcher; @@ -59,7 +50,7 @@ public class FeatureDungeonDeaths extends TextHUDFeature implements ChatListener getStyles().add(new TextStyle("totalDeaths", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public boolean isHUDViewable() { if (!skyblockStatus.isOnDungeon()) return false; @@ -162,7 +153,7 @@ public class FeatureDungeonDeaths extends TextHUDFeature implements ChatListener int deaths = context.getDeaths().getOrDefault(nickname, 0); context.getDeaths().put(nickname, deaths + 1); context.createEvent(new DungeonDeathEvent(nickname, txt, deaths)); - e.sendDebugChat(new ChatComponentText("Death verified :: "+nickname+" / "+(deaths + 1))); + DungeonsGuide.sendDebugChat(new ChatComponentText("Death verified :: "+nickname+" / "+(deaths + 1))); } Matcher m2 = meDeathPattern.matcher(txt); if (m2.matches()) { @@ -170,7 +161,7 @@ public class FeatureDungeonDeaths extends TextHUDFeature implements ChatListener int deaths = context.getDeaths().getOrDefault(nickname, 0); context.getDeaths().put(nickname, deaths + 1); context.createEvent(new DungeonDeathEvent(Minecraft.getMinecraft().thePlayer.getName(), txt, deaths)); - e.sendDebugChat(new ChatComponentText("Death verified :: me / "+(deaths + 1))); + DungeonsGuide.sendDebugChat(new ChatComponentText("Death verified :: me / "+(deaths + 1))); } } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMap.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMap.java index e08c38f9..7a0aafb5 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMap.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMap.java @@ -20,13 +20,12 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import com.google.common.collect.ComparisonChain; import com.google.common.collect.Ordering; -import com.mojang.authlib.GameProfile; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.MapProcessor; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.features.listener.*; @@ -36,25 +35,20 @@ import net.minecraft.block.material.MapColor; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiPlayerTabOverlay; -import net.minecraft.client.gui.MapItemRenderer; import net.minecraft.client.network.NetworkPlayerInfo; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.Tessellator; import net.minecraft.client.renderer.WorldRenderer; import net.minecraft.client.renderer.texture.DynamicTexture; import net.minecraft.client.renderer.vertex.DefaultVertexFormats; -import net.minecraft.entity.Entity; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.EnumPlayerModelParts; import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.util.ChatComponentText; import net.minecraft.util.MathHelper; import net.minecraft.util.ResourceLocation; import net.minecraft.util.Vec4b; import net.minecraft.world.WorldSettings; import net.minecraft.world.storage.MapData; -import net.minecraftforge.client.event.ClientChatReceivedEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.lwjgl.opengl.GL11; @@ -62,9 +56,6 @@ import org.lwjgl.opengl.GL11; import java.awt.*; import java.util.List; import java.util.Comparator; -import java.util.Map; -import java.util.regex.Matcher; -import java.util.regex.Pattern; public class FeatureDungeonMap extends GuiFeature implements DungeonEndListener, DungeonStartListener, BossroomEnterListener { public FeatureDungeonMap() { @@ -85,7 +76,7 @@ public class FeatureDungeonMap extends GuiFeature implements DungeonEndListener, parameters.put("player_color", new FeatureParameter<AColor>("player_color", "Color of the player border", "Same as name", new AColor(255,255,255,0), "acolor")); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); public static final Ordering<NetworkPlayerInfo> field_175252_a = Ordering.from(new PlayerComparator()); private boolean on = false; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMilestone.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMilestone.java index dfa602c8..dd3a8a50 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMilestone.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonMilestone.java @@ -21,26 +21,19 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; -import kr.syeyoung.dungeonsguide.features.listener.TickListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.scoreboard.ScorePlayerTeam; import net.minecraft.util.ChatComponentText; import net.minecraftforge.client.event.ClientChatReceivedEvent; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -55,7 +48,7 @@ public class FeatureDungeonMilestone extends TextHUDFeature implements ChatListe getStyles().add(new TextStyle("number", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private static final List<StyledText> dummyText= new ArrayList<StyledText>(); static { @@ -110,7 +103,7 @@ public class FeatureDungeonMilestone extends TextHUDFeature implements ChatListe TextUtils.formatTime(FeatureRegistry.DUNGEON_REALTIME.getTimeElapsed()), TextUtils.formatTime(FeatureRegistry.DUNGEON_SBTIME.getTimeElapsed()) }); - e.sendDebugChat(new ChatComponentText("Reached Milestone At " + TextUtils.formatTime(FeatureRegistry.DUNGEON_REALTIME.getTimeElapsed()) + " / "+TextUtils.formatTime(FeatureRegistry.DUNGEON_SBTIME.getTimeElapsed()))); + DungeonsGuide.sendDebugChat(new ChatComponentText("Reached Milestone At " + TextUtils.formatTime(FeatureRegistry.DUNGEON_REALTIME.getTimeElapsed()) + " / "+TextUtils.formatTime(FeatureRegistry.DUNGEON_SBTIME.getTimeElapsed()))); } } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonRealTime.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonRealTime.java index f074f060..0718ab0f 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonRealTime.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonRealTime.java @@ -18,29 +18,14 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; -import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.ChatListener; import kr.syeyoung.dungeonsguide.features.listener.DungeonEndListener; import kr.syeyoung.dungeonsguide.features.listener.DungeonStartListener; -import kr.syeyoung.dungeonsguide.features.listener.TickListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.utils.TextUtils; -import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraftforge.client.event.ClientChatReceivedEvent; -import org.lwjgl.opengl.GL11; -import java.awt.*; -import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.List; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSBTime.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSBTime.java index b01cdc24..baef5de6 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSBTime.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSBTime.java @@ -18,28 +18,19 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.events.DungeonEndedEvent; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.*; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.scoreboard.Score; import net.minecraft.scoreboard.ScoreObjective; import net.minecraft.scoreboard.ScorePlayerTeam; import net.minecraft.scoreboard.Scoreboard; -import net.minecraftforge.client.event.ClientChatReceivedEvent; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; @@ -47,7 +38,7 @@ import java.util.List; public class FeatureDungeonSBTime extends TextHUDFeature { - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); public FeatureDungeonSBTime() { super("Dungeon", "Display Ingame Dungeon Time", "Display how much time skyblock thinks has passed since dungeon run started", "dungeon.stats.igtime", true, getFontRenderer().getStringWidth("Time(IG): 1h 59m 59s"), getFontRenderer().FONT_HEIGHT); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonScore.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonScore.java index 2490b13c..35371d96 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonScore.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonScore.java @@ -18,15 +18,14 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.StompConnectedEvent; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.features.listener.StompConnectedListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; @@ -39,15 +38,10 @@ import kr.syeyoung.dungeonsguide.utils.TextUtils; import lombok.AllArgsConstructor; import lombok.Data; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.util.ChatComponentText; import net.minecraft.util.MathHelper; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -69,7 +63,7 @@ public class FeatureDungeonScore extends TextHUDFeature implements StompConnecte getStyles().add(new TextStyle("required", new AColor(0xAA,0xAA,0xAA,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public boolean isHUDViewable() { return skyblockStatus.isOnDungeon(); @@ -297,7 +291,7 @@ public class FeatureDungeonScore extends TextHUDFeature implements StompConnecte { double timeModifier; int timeModifierModifier = - e.getDungeonsGuide().getSkyblockStatus().getDungeonName().substring(14).trim().equals("F2") ? -120 : 0; + DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getDungeonName().substring(14).trim().equals("F2") ? -120 : 0; if (context.getBossRoomEnterSeconds() != -1) { timeModifier = Math.max(0, context.getBossRoomEnterSeconds() - timeModifierModifier); } else { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSecrets.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSecrets.java index 5023f6ad..4c4ac44f 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSecrets.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonSecrets.java @@ -22,30 +22,18 @@ import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.ChatListener; -import kr.syeyoung.dungeonsguide.features.listener.TickListener; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.util.ChatComponentText; -import net.minecraftforge.client.event.ClientChatReceivedEvent; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; -import java.util.regex.Pattern; public class FeatureDungeonSecrets extends TextHUDFeature { public FeatureDungeonSecrets() { @@ -59,7 +47,7 @@ public class FeatureDungeonSecrets extends TextHUDFeature { getStyles().add(new TextStyle("unknown", new AColor(0xFF, 0xFF,0x55,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); public int getSecretsFound() { for (NetworkPlayerInfo networkPlayerInfoIn : Minecraft.getMinecraft().thePlayer.sendQueue.getPlayerInfoMap()) { String name = networkPlayerInfoIn.getDisplayName() != null ? networkPlayerInfoIn.getDisplayName().getFormattedText() : ScorePlayerTeam.formatPlayerName(networkPlayerInfoIn.getPlayerTeam(), networkPlayerInfoIn.getGameProfile().getName()); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonTombs.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonTombs.java index 3e9510f1..cc0c0ea6 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonTombs.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureDungeonTombs.java @@ -20,21 +20,15 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.client.renderer.GlStateManager; import net.minecraft.scoreboard.ScorePlayerTeam; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -48,7 +42,7 @@ public class FeatureDungeonTombs extends TextHUDFeature { getStyles().add(new TextStyle("number", new AColor(0x55, 0xFF,0xFF,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); public int getTombsFound() { for (NetworkPlayerInfo networkPlayerInfoIn : Minecraft.getMinecraft().thePlayer.sendQueue.getPlayerInfoMap()) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureHideNameTags.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureHideNameTags.java index 8c64a6a4..130f3448 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureHideNameTags.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureHideNameTags.java @@ -18,14 +18,11 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.EntityLivingRenderListener; -import kr.syeyoung.dungeonsguide.roomprocessor.bossfight.BossfightProcessorThorn; import net.minecraft.entity.item.EntityArmorStand; -import net.minecraft.entity.passive.*; import net.minecraftforge.client.event.RenderLivingEvent; @@ -35,7 +32,7 @@ public class FeatureHideNameTags extends SimpleFeature implements EntityLivingRe } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void onEntityRenderPre(RenderLivingEvent.Pre renderPlayerEvent) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java index adb97fe9..16652d9e 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePlayerESP.java @@ -18,35 +18,19 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; -import com.google.common.base.Predicate; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.PlayerRenderListener; -import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; -import net.minecraft.client.Minecraft; import net.minecraft.client.entity.AbstractClientPlayer; -import net.minecraft.client.entity.EntityOtherPlayerMP; -import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.WorldRenderer; -import net.minecraft.entity.Entity; -import net.minecraft.entity.passive.EntityBat; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; -import net.minecraft.item.Item; import net.minecraft.item.ItemStack; -import net.minecraft.util.BlockPos; import net.minecraftforge.client.event.RenderPlayerEvent; -import org.jetbrains.annotations.Nullable; import org.lwjgl.opengl.GL11; -import java.util.List; - public class FeaturePlayerESP extends SimpleFeature implements PlayerRenderListener { public FeaturePlayerESP() { @@ -55,7 +39,7 @@ public class FeaturePlayerESP extends SimpleFeature implements PlayerRenderListe } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private boolean preCalled = false; @Override diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePressAnyKeyToCloseChest.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePressAnyKeyToCloseChest.java index 7aa385ff..c2113120 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePressAnyKeyToCloseChest.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeaturePressAnyKeyToCloseChest.java @@ -18,7 +18,7 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.impl.boss.FeatureChestPrice; @@ -30,7 +30,6 @@ import net.minecraft.client.gui.inventory.GuiChest; import net.minecraft.inventory.ContainerChest; import net.minecraft.inventory.IInventory; import net.minecraftforge.client.event.GuiScreenEvent; -import net.minecraftforge.fml.common.gameevent.InputEvent; public class FeaturePressAnyKeyToCloseChest extends SimpleFeature implements KeyInputListener, GuiClickListener { public FeaturePressAnyKeyToCloseChest() { @@ -42,7 +41,7 @@ public class FeaturePressAnyKeyToCloseChest extends SimpleFeature implements Key public void onKeyInput(GuiScreenEvent.KeyboardInputEvent keyboardInputEvent) { GuiScreen screen = Minecraft.getMinecraft().currentScreen; if (!isEnabled()) return; - if (!e.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; + if (!DungeonsGuide.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; if (screen instanceof GuiChest){ ContainerChest ch = (ContainerChest) ((GuiChest)screen).inventorySlots; @@ -66,7 +65,7 @@ public class FeaturePressAnyKeyToCloseChest extends SimpleFeature implements Key public void onMouseInput(GuiScreenEvent.MouseInputEvent.Pre mouseInputEvent) { GuiScreen screen = Minecraft.getMinecraft().currentScreen; if (!isEnabled()) return; - if (!e.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; + if (!DungeonsGuide.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; if (screen instanceof GuiChest){ ContainerChest ch = (ContainerChest) ((GuiChest)screen).inventorySlots; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWarnLowHealth.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWarnLowHealth.java index 574935c9..47de8d18 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWarnLowHealth.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWarnLowHealth.java @@ -18,32 +18,20 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; -import com.google.common.base.Predicate; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.SimpleFeature; -import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.scoreboard.Score; import net.minecraft.scoreboard.ScoreObjective; import net.minecraft.scoreboard.ScorePlayerTeam; import net.minecraft.scoreboard.Scoreboard; -import net.minecraft.util.BlockPos; -import org.jetbrains.annotations.Nullable; -import org.lwjgl.opengl.GL11; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -61,7 +49,7 @@ public class FeatureWarnLowHealth extends TextHUDFeature { } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java index 5d942b2f..2fa1b763 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/dungeon/FeatureWatcherWarning.java @@ -21,22 +21,15 @@ package kr.syeyoung.dungeonsguide.features.impl.dungeon; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonFairySoul; -import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonMechanic; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; import kr.syeyoung.dungeonsguide.features.listener.DungeonEndListener; -import kr.syeyoung.dungeonsguide.features.listener.TickListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; import net.minecraftforge.client.event.ClientChatReceivedEvent; -import java.awt.*; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -50,7 +43,7 @@ public class FeatureWatcherWarning extends TextHUDFeature implements ChatListene setEnabled(false); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public boolean isHUDViewable() { return warning > System.currentTimeMillis(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureAutoAcceptReparty.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureAutoAcceptReparty.java index 523b7701..14a49951 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureAutoAcceptReparty.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureAutoAcceptReparty.java @@ -19,30 +19,19 @@ package kr.syeyoung.dungeonsguide.features.impl.etc; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; -import kr.syeyoung.dungeonsguide.features.listener.DungeonQuitListener; -import kr.syeyoung.dungeonsguide.features.listener.GuiOpenListener; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.client.Minecraft; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.inventory.GuiChest; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.inventory.ContainerChest; import net.minecraftforge.client.event.ClientChatReceivedEvent; -import net.minecraftforge.client.event.GuiOpenEvent; - -import java.awt.*; public class FeatureAutoAcceptReparty extends SimpleFeature implements ChatListener { public FeatureAutoAcceptReparty() { super("ETC", "Auto accept reparty", "Automatically accept reparty", "qol.autoacceptreparty", true); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private String lastDisband; @Override diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureCooldownCounter.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureCooldownCounter.java index 5c5e81a5..f42b724f 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureCooldownCounter.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureCooldownCounter.java @@ -18,20 +18,18 @@ package kr.syeyoung.dungeonsguide.features.impl.etc; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.features.listener.DungeonQuitListener; import kr.syeyoung.dungeonsguide.features.listener.GuiOpenListener; -import kr.syeyoung.dungeonsguide.features.listener.TickListener; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.inventory.GuiChest; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.inventory.ContainerChest; import net.minecraftforge.client.event.GuiOpenEvent; -import org.lwjgl.opengl.GL11; import java.awt.*; @@ -60,7 +58,7 @@ public class FeatureCooldownCounter extends GuiFeature implements DungeonQuitLis fr.drawString("Cooldown: 20s", 0,0,this.<Color>getParameter("color").getValue().getRGB()); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void onDungeonQuit() { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDecreaseExplosionSound.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDecreaseExplosionSound.java index 53cc786b..11bf89ab 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDecreaseExplosionSound.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDecreaseExplosionSound.java @@ -19,7 +19,7 @@ package kr.syeyoung.dungeonsguide.features.impl.etc; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.SoundListener; @@ -32,7 +32,7 @@ public class FeatureDecreaseExplosionSound extends SimpleFeature implements Soun parameters.put("sound", new FeatureParameter<Float>("sound", "Sound Multiplier %", "The volume of explosion effect will be multiplied by this value. 0~100", 10.0f, "float")); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void onSound(PlaySoundEvent soundEvent) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java index 7ec59e5e..6092eb88 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureDisableMessage.java @@ -18,8 +18,8 @@ package kr.syeyoung.dungeonsguide.features.impl.etc; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; @@ -61,7 +61,7 @@ public class FeatureDisableMessage extends SimpleFeature implements ChatListener } } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public void onChat(ClientChatReceivedEvent clientChatReceivedEvent) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeaturePenguins.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeaturePenguins.java index 39c8dbdd..102a53fa 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeaturePenguins.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeaturePenguins.java @@ -18,27 +18,23 @@ package kr.syeyoung.dungeonsguide.features.impl.etc; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.PlayerRenderListener; import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.AbstractClientPlayer; import net.minecraft.client.gui.Gui; -import net.minecraft.client.model.ModelBiped; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.block.model.ItemCameraTransforms; import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.entity.player.InventoryPlayer; import net.minecraft.init.Items; import net.minecraft.item.Item; import net.minecraft.item.ItemBlock; import net.minecraft.item.ItemStack; import net.minecraft.util.ResourceLocation; import net.minecraftforge.client.event.RenderPlayerEvent; -import org.lwjgl.opengl.GL11; public class FeaturePenguins extends SimpleFeature implements PlayerRenderListener { @@ -47,7 +43,7 @@ public class FeaturePenguins extends SimpleFeature implements PlayerRenderListen } - private final SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + private final SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private final ResourceLocation penguin = new ResourceLocation("dungeonsguide:penguin.png"); @Override diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureUpdateAlarm.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureUpdateAlarm.java index 6686a3f9..bd517b43 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureUpdateAlarm.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/FeatureUpdateAlarm.java @@ -18,7 +18,6 @@ package kr.syeyoung.dungeonsguide.features.impl.etc; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.StompConnectedEvent; import kr.syeyoung.dungeonsguide.features.SimpleFeature; import kr.syeyoung.dungeonsguide.features.listener.StompConnectedListener; @@ -30,9 +29,6 @@ import kr.syeyoung.dungeonsguide.stomp.StompSubscription; import net.minecraft.client.Minecraft; import net.minecraft.util.ChatComponentText; -import java.util.Queue; -import java.util.concurrent.ConcurrentLinkedQueue; - public class FeatureUpdateAlarm extends SimpleFeature implements StompConnectedListener, StompMessageHandler, TickListener { public FeatureUpdateAlarm() { super("ETC", "Update Alarm","Show a warning on chat when new update has bnee released.", "etc.updatealarm", true); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/ability/FeatureAbilityCooldown.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/ability/FeatureAbilityCooldown.java index 3d41a76d..066c0b66 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/ability/FeatureAbilityCooldown.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/etc/ability/FeatureAbilityCooldown.java @@ -18,9 +18,9 @@ package kr.syeyoung.dungeonsguide.features.impl.etc.ability; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.listener.ChatListener; import kr.syeyoung.dungeonsguide.features.listener.TickListener; @@ -40,7 +40,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; public class FeatureAbilityCooldown extends TextHUDFeature implements ChatListener, TickListener { - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); public FeatureAbilityCooldown() { super("ETC", "View Ability Cooldowns", "A handy hud for viewing cooldown abilities", "etc.abilitycd2", false, 100, getFontRenderer().FONT_HEIGHT * 5); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureActions.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureActions.java index 0fa8cd30..35606731 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureActions.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureActions.java @@ -24,21 +24,13 @@ import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.actions.Action; import kr.syeyoung.dungeonsguide.dungeon.actions.tree.ActionRoute; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.FeatureRegistry; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor; -import kr.syeyoung.dungeonsguide.utils.TextUtils; -import lombok.AllArgsConstructor; -import lombok.Data; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.network.NetworkPlayerInfo; -import net.minecraft.scoreboard.ScorePlayerTeam; -import net.minecraft.util.MathHelper; import java.awt.*; import java.util.ArrayList; @@ -60,7 +52,7 @@ public class FeatureActions extends TextHUDFeature { getStyles().add(new TextStyle("afterline", new AColor(0xAA, 0xAA,0xAA,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public boolean doesScaleWithHeight() { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureFreezePathfind.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureFreezePathfind.java index e4485218..f9016b15 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureFreezePathfind.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureFreezePathfind.java @@ -18,30 +18,14 @@ package kr.syeyoung.dungeonsguide.features.impl.secret; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.config.types.AColor; -import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.dungeon.actions.Action; -import kr.syeyoung.dungeonsguide.dungeon.actions.tree.ActionRoute; -import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.SimpleFeature; -import kr.syeyoung.dungeonsguide.features.text.StyledText; -import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; -import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor; -import net.minecraft.client.Minecraft; -import net.minecraft.client.entity.EntityPlayerSP; - -import java.awt.*; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; public class FeatureFreezePathfind extends SimpleFeature { public FeatureFreezePathfind() { super("Secret", "Freeze Pathfind", "Freeze Pathfind, meaning the pathfind lines won't change when you move", "secret.freezepathfind", false); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureMechanicBrowse.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureMechanicBrowse.java index 84053952..864f6ce4 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureMechanicBrowse.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureMechanicBrowse.java @@ -19,6 +19,7 @@ package kr.syeyoung.dungeonsguide.features.impl.secret; import com.google.common.collect.Lists; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; import kr.syeyoung.dungeonsguide.config.guiconfig.GuiConfig; import kr.syeyoung.dungeonsguide.config.guiconfig.GuiGuiLocationConfig; @@ -26,7 +27,6 @@ import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.actions.tree.ActionRoute; import kr.syeyoung.dungeonsguide.dungeon.mechanics.*; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.features.FeatureParameter; import kr.syeyoung.dungeonsguide.features.GuiFeature; import kr.syeyoung.dungeonsguide.features.listener.GuiClickListener; @@ -37,7 +37,6 @@ import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonParameterEdit; import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonRoomEdit; import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonValueEdit; import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; import net.minecraft.client.gui.*; @@ -73,7 +72,7 @@ public class FeatureMechanicBrowse extends GuiFeature implements GuiPreRenderLis return this.<Integer>getParameter("refreshrate").getValue(); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); private UUID lastRoomUID = null; @Override public void drawHUD(float partialTicks) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureSoulRoomWarning.java b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureSoulRoomWarning.java index f5824e17..43a97a01 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureSoulRoomWarning.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/features/impl/secret/FeatureSoulRoomWarning.java @@ -18,42 +18,19 @@ package kr.syeyoung.dungeonsguide.features.impl.secret; -import com.google.common.collect.Lists; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.config.guiconfig.GuiConfig; -import kr.syeyoung.dungeonsguide.config.guiconfig.GuiGuiLocationConfig; import kr.syeyoung.dungeonsguide.config.types.AColor; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; -import kr.syeyoung.dungeonsguide.dungeon.actions.tree.ActionRoute; import kr.syeyoung.dungeonsguide.dungeon.mechanics.*; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.FeatureParameter; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.GuiClickListener; -import kr.syeyoung.dungeonsguide.features.listener.GuiPreRenderListener; import kr.syeyoung.dungeonsguide.features.listener.TickListener; -import kr.syeyoung.dungeonsguide.features.listener.WorldRenderListener; import kr.syeyoung.dungeonsguide.features.text.StyledText; import kr.syeyoung.dungeonsguide.features.text.TextHUDFeature; import kr.syeyoung.dungeonsguide.features.text.TextStyle; -import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonAddSet; -import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonParameterEdit; -import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonRoomEdit; -import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonValueEdit; import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor; import net.minecraft.client.Minecraft; import net.minecraft.client.entity.EntityPlayerSP; -import net.minecraft.client.gui.FontRenderer; -import net.minecraft.client.gui.Gui; -import net.minecraft.client.gui.GuiIngameMenu; -import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.gui.inventory.GuiContainer; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.util.MathHelper; -import net.minecraftforge.client.event.GuiScreenEvent; -import org.lwjgl.input.Mouse; -import org.lwjgl.opengl.GL11; import java.awt.*; import java.util.*; @@ -66,7 +43,7 @@ public class FeatureSoulRoomWarning extends TextHUDFeature implements TickListen getStyles().add(new TextStyle("warning", new AColor(0xFF, 0x69,0x17,255), new AColor(0, 0,0,0), false)); } - SkyblockStatus skyblockStatus = e.getDungeonsGuide().getSkyblockStatus(); + SkyblockStatus skyblockStatus = DungeonsGuide.getDungeonsGuide().getSkyblockStatus(); @Override public boolean isHUDViewable() { return warning > System.currentTimeMillis(); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/party/PartyInviteViewer.java b/src/main/java/kr/syeyoung/dungeonsguide/party/PartyInviteViewer.java index 61d53687..299e4b48 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/party/PartyInviteViewer.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/party/PartyInviteViewer.java @@ -18,14 +18,7 @@ package kr.syeyoung.dungeonsguide.party; -import kr.syeyoung.dungeonsguide.SkyblockStatus; -import kr.syeyoung.dungeonsguide.config.guiconfig.GuiGuiLocationConfig; -import kr.syeyoung.dungeonsguide.e; -import kr.syeyoung.dungeonsguide.features.AbstractFeature; -import kr.syeyoung.dungeonsguide.features.FeatureRegistry; -import kr.syeyoung.dungeonsguide.features.GuiFeature; -import kr.syeyoung.dungeonsguide.features.listener.ScreenRenderListener; -import kr.syeyoung.dungeonsguide.utils.RenderUtils; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.arikia.dev.drpc.DiscordRPC; import net.minecraft.client.Minecraft; @@ -34,18 +27,15 @@ import net.minecraft.client.gui.Gui; import net.minecraft.client.gui.ScaledResolution; import net.minecraft.client.renderer.GlStateManager; import net.minecraft.client.renderer.OpenGlHelper; -import net.minecraft.client.renderer.RenderHelper; import net.minecraft.client.renderer.texture.TextureManager; import net.minecraftforge.client.event.GuiScreenEvent; import net.minecraftforge.client.event.RenderGameOverlayEvent; -import net.minecraftforge.common.MinecraftForge; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.TickEvent; import org.lwjgl.input.Mouse; import javax.imageio.ImageIO; -import java.awt.*; import java.awt.image.BufferedImage; import java.net.HttpURLConnection; import java.net.URL; @@ -77,7 +67,7 @@ public class PartyInviteViewer { try { if (clientTickEvent.phase != TickEvent.Phase.START) return; List<PartyJoinRequest> partyJoinRequestList = new ArrayList<>(); - boolean isOnHypixel = e.getDungeonsGuide().getSkyblockStatus().isOnHypixel(); + boolean isOnHypixel = DungeonsGuide.getDungeonsGuide().getSkyblockStatus().isOnHypixel(); for (PartyJoinRequest joinRequest:joinRequests) { if (joinRequest.getTtl() != -1) { joinRequest.setTtl(joinRequest.getTtl() - 1); diff --git a/src/main/java/kr/syeyoung/dungeonsguide/party/PartyManager.java b/src/main/java/kr/syeyoung/dungeonsguide/party/PartyManager.java index aa5f2b70..f756eb08 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/party/PartyManager.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/party/PartyManager.java @@ -19,10 +19,8 @@ package kr.syeyoung.dungeonsguide.party; import kr.syeyoung.dungeonsguide.RichPresenceManager; -import kr.syeyoung.dungeonsguide.commands.CommandReparty; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.events.HypixelJoinedEvent; -import kr.syeyoung.dungeonsguide.events.SkyblockJoinedEvent; import kr.syeyoung.dungeonsguide.events.StompConnectedEvent; import kr.syeyoung.dungeonsguide.stomp.StompInterface; import kr.syeyoung.dungeonsguide.stomp.StompMessageHandler; @@ -84,7 +82,7 @@ public class PartyManager implements StompMessageHandler { if (this.partyID != null && partyID == null) { JSONObject object = new JSONObject(); object.put("members", new JSONArray()); - StompInterface stompInterface = e.getDungeonsGuide().getStompConnection(); + StompInterface stompInterface = DungeonsGuide.getDungeonsGuide().getStompConnection(); stompInterface.send(new StompPayload().payload(object.toString()).header("destination", "/app/party.join")); } @@ -109,7 +107,7 @@ public class PartyManager implements StompMessageHandler { if (partyID == null) { JSONObject object = new JSONObject(); object.put("members", new JSONArray()); - StompInterface stompInterface = e.getDungeonsGuide().getStompConnection(); + StompInterface stompInterface = DungeonsGuide.getDungeonsGuide().getStompConnection(); stompInterface.send(new StompPayload().payload(object.toString()).header("destination", "/app/party.join")); } @@ -119,7 +117,7 @@ public class PartyManager implements StompMessageHandler { } this.askToJoinSecret = secretBuilder.toString(); - StompInterface stompInterface = e.getDungeonsGuide().getStompConnection(); + StompInterface stompInterface = DungeonsGuide.getDungeonsGuide().getStompConnection(); stompInterface.send(new StompPayload().payload(new JSONObject().put("secret", askToJoinSecret).toString()).header("destination", "/app/party.setjoinsecret")); RichPresenceManager.INSTANCE.updatePresence(); } @@ -171,7 +169,7 @@ public class PartyManager implements StompMessageHandler { } JSONObject object = new JSONObject(); object.put("members", jsonArray); - StompInterface stompInterface = e.getDungeonsGuide().getStompConnection(); + StompInterface stompInterface = DungeonsGuide.getDungeonsGuide().getStompConnection(); stompInterface.send(new StompPayload().payload(object.toString()).header("destination", "/app/party.join")); } if (checkPlayer == 3) { @@ -179,9 +177,9 @@ public class PartyManager implements StompMessageHandler { String playerName = theObject.getString("player"); String token = theObject.getString("token"); if (!members.contains(playerName)) { - e.getDungeonsGuide().getStompConnection().send(new StompPayload().payload(new JSONObject().put("status", "failure").put("token", token).toString()).header("destination", "/app/party.check.resp")); + DungeonsGuide.getDungeonsGuide().getStompConnection().send(new StompPayload().payload(new JSONObject().put("status", "failure").put("token", token).toString()).header("destination", "/app/party.check.resp")); } else { - e.getDungeonsGuide().getStompConnection().send(new StompPayload().payload(new JSONObject().put("status", "success").put("token", token).toString()).header("destination", "/app/party.check.resp")); + DungeonsGuide.getDungeonsGuide().getStompConnection().send(new StompPayload().payload(new JSONObject().put("status", "success").put("token", token).toString()).header("destination", "/app/party.check.resp")); } } if (invitedDash == 1 || invitedDash == 3) { @@ -362,7 +360,7 @@ public class PartyManager implements StompMessageHandler { } } } catch (Exception ex) {ex.printStackTrace(); - e.sendDebugChat(new ChatComponentText("ERRORRR!! on chat "+ ex));} + DungeonsGuide.sendDebugChat(new ChatComponentText("ERRORRR!! on chat "+ ex));} } @SubscribeEvent public void onTick(TickEvent.ClientTickEvent clientTickEvent) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/resources/DGTexturePack.java b/src/main/java/kr/syeyoung/dungeonsguide/resources/DGTexturePack.java index 10224ec8..b9646993 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/resources/DGTexturePack.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/resources/DGTexturePack.java @@ -18,9 +18,7 @@ package kr.syeyoung.dungeonsguide.resources; -import kr.syeyoung.dungeonsguide.a; -import kr.syeyoung.dungeonsguide.b; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.Authenticator; import lombok.AllArgsConstructor; import net.minecraft.client.resources.IResourcePack; import net.minecraft.client.resources.data.IMetadataSection; @@ -31,25 +29,24 @@ import java.awt.image.BufferedImage; import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; -import java.net.URL; import java.util.Collections; import java.util.Set; @AllArgsConstructor public class DGTexturePack implements IResourcePack { - private final b authenticator; + private final Authenticator authenticator; @Override public InputStream getInputStream(ResourceLocation location) throws IOException { InputStream inputStream = this.getClass().getResourceAsStream("/assets/dg/"+location.getResourcePath()); if (inputStream != null) return inputStream; - return new ByteArrayInputStream(authenticator.d().get("assets/dg/"+location.getResourcePath())); + return new ByteArrayInputStream(authenticator.getResources().get("assets/dg/"+location.getResourcePath())); } @Override public boolean resourceExists(ResourceLocation location) { - return authenticator.d().containsKey("assets/dg/"+location.getResourcePath()) + return authenticator.getResources().containsKey("assets/dg/"+location.getResourcePath()) || this.getClass().getResourceAsStream("/assets/dg/"+location.getResourcePath()) != null; } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/panes/GeneralEditPane.java b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/panes/GeneralEditPane.java index dcb924a0..1133a8a9 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomedit/panes/GeneralEditPane.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomedit/panes/GeneralEditPane.java @@ -18,9 +18,9 @@ package kr.syeyoung.dungeonsguide.roomedit.panes; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoomInfoRegistry; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.roomedit.EditingContext; import kr.syeyoung.dungeonsguide.gui.MPanel; import kr.syeyoung.dungeonsguide.gui.elements.*; @@ -28,7 +28,6 @@ import kr.syeyoung.dungeonsguide.roomprocessor.ProcessorFactory; import net.minecraft.block.Block; import net.minecraft.block.state.IBlockState; import net.minecraft.client.Minecraft; -import net.minecraft.nbt.CompressedStreamTools; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.tileentity.TileEntity; @@ -151,7 +150,7 @@ public class GeneralEditPane extends MPanel { try { NBTTagCompound nbtTagCompound2 = createNBT(); - File f=new File(e.getDungeonsGuide().getConfigDir(), "schematics/"+ + File f=new File(DungeonsGuide.getDungeonsGuide().getConfigDir(), "schematics/"+ dungeonRoom.getDungeonRoomInfo().getName()+"-"+dungeonRoom.getDungeonRoomInfo().getUuid().toString()+"-"+ UUID.randomUUID()+".schematic"); Method method = null; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java index 81c86cc1..d775aca4 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/GeneralRoomProcessor.java @@ -18,6 +18,7 @@ package kr.syeyoung.dungeonsguide.roomprocessor; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.Keybinds; import kr.syeyoung.dungeonsguide.dungeon.DungeonContext; import kr.syeyoung.dungeonsguide.dungeon.DungeonActionManager; @@ -27,7 +28,6 @@ import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonMechanic; import kr.syeyoung.dungeonsguide.dungeon.mechanics.DungeonSecret; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.events.PlayerInteractEntityEvent; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.roomedit.EditingContext; @@ -35,33 +35,23 @@ import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonAddSet; import kr.syeyoung.dungeonsguide.roomedit.gui.GuiDungeonRoomEdit; import lombok.Getter; import lombok.Setter; -import net.minecraft.block.Block; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.FontRenderer; import net.minecraft.client.gui.GuiScreen; import net.minecraft.client.gui.ScaledResolution; -import net.minecraft.client.renderer.GlStateManager; -import net.minecraft.client.renderer.Tessellator; -import net.minecraft.client.renderer.WorldRenderer; -import net.minecraft.client.renderer.vertex.DefaultVertexFormats; import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.entity.passive.EntityBat; -import net.minecraft.entity.player.EntityPlayer; -import net.minecraft.init.Blocks; import net.minecraft.init.Items; import net.minecraft.util.*; import net.minecraftforge.client.event.GuiScreenEvent; -import net.minecraftforge.client.event.RenderLivingEvent; import net.minecraftforge.event.entity.living.LivingDeathEvent; import net.minecraftforge.event.entity.living.LivingEvent; import net.minecraftforge.event.entity.player.PlayerInteractEvent; import net.minecraftforge.fml.common.gameevent.InputEvent; -import org.lwjgl.opengl.GL11; import java.awt.*; import java.util.*; -import java.util.List; public class GeneralRoomProcessor implements RoomProcessor { @@ -171,13 +161,13 @@ public class GeneralRoomProcessor implements RoomProcessor { private long secrets2 = 0; @Override public void actionbarReceived(IChatComponent chat) { - if (!e.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; + if (!DungeonsGuide.getDungeonsGuide().getSkyblockStatus().isOnDungeon()) return; if (dungeonRoom.getTotalSecrets() == -1) { - e.sendDebugChat(new ChatComponentText(chat.getFormattedText().replace('§', '&') + " - received")); + DungeonsGuide.sendDebugChat(new ChatComponentText(chat.getFormattedText().replace('§', '&') + " - received")); } if (!chat.getFormattedText().contains("/")) return; BlockPos pos = Minecraft.getMinecraft().thePlayer.getPosition(); - DungeonContext context = e.getDungeonsGuide().getSkyblockStatus().getContext(); + DungeonContext context = DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getContext(); Point pt1 = context.getMapProcessor().worldPointToRoomPoint(pos.add(2, 0, 2)); Point pt2 = context.getMapProcessor().worldPointToRoomPoint(pos.add(-2, 0, -2)); if (!pt1.equals(pt2)) { diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/RoomProcessorBombDefuseSolver.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/RoomProcessorBombDefuseSolver.java index 763f72c9..0623174e 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/RoomProcessorBombDefuseSolver.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/RoomProcessorBombDefuseSolver.java @@ -21,7 +21,7 @@ package kr.syeyoung.dungeonsguide.roomprocessor.bombdefuse; import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPoint; import kr.syeyoung.dungeonsguide.dungeon.data.OffsetPointSet; import kr.syeyoung.dungeonsguide.dungeon.roomfinder.DungeonRoom; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.events.PlayerInteractEntityEvent; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.roomprocessor.GeneralRoomProcessor; @@ -176,7 +176,7 @@ public class RoomProcessorBombDefuseSolver extends GeneralRoomProcessor { } } catch (IOException e2) { e2.printStackTrace(); - e.sendDebugChat(new ChatComponentText("Failed to send Bomb Defuse Chat")); + DungeonsGuide.sendDebugChat(new ChatComponentText("Failed to send Bomb Defuse Chat")); } } @@ -206,7 +206,7 @@ public class RoomProcessorBombDefuseSolver extends GeneralRoomProcessor { } } catch (Throwable t) { t.printStackTrace(); - e.sendDebugChat(new ChatComponentText("Failed to analyze Bomb Defuse Chat")); + DungeonsGuide.sendDebugChat(new ChatComponentText("Failed to analyze Bomb Defuse Chat")); } } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/chambers/color/ColorRightProcessor.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/chambers/color/ColorRightProcessor.java index e7d5a230..2350c38b 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/chambers/color/ColorRightProcessor.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bombdefuse/chambers/color/ColorRightProcessor.java @@ -21,24 +21,18 @@ package kr.syeyoung.dungeonsguide.roomprocessor.bombdefuse.chambers.color; import com.google.common.collect.BiMap; import com.google.common.collect.HashBiMap; import kr.syeyoung.dungeonsguide.Keybinds; -import kr.syeyoung.dungeonsguide.e; import kr.syeyoung.dungeonsguide.roomprocessor.bombdefuse.RoomProcessorBombDefuseSolver; import kr.syeyoung.dungeonsguide.roomprocessor.bombdefuse.chambers.BDChamber; import kr.syeyoung.dungeonsguide.roomprocessor.bombdefuse.chambers.GeneralDefuseChamberProcessor; import kr.syeyoung.dungeonsguide.utils.RenderUtils; import net.minecraft.block.Block; -import net.minecraft.entity.Entity; import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NBTTagCompound; import net.minecraft.nbt.NBTTagList; import net.minecraft.util.BlockPos; -import net.minecraft.util.ChatComponentText; -import net.minecraftforge.event.entity.living.LivingEvent; import org.lwjgl.input.Keyboard; -import java.awt.*; -import java.util.ArrayList; import java.util.HashMap; import java.util.Map; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorThorn.java b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorThorn.java index 5c4a0723..80b6ede5 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorThorn.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/roomprocessor/bossfight/BossfightProcessorThorn.java @@ -18,18 +18,14 @@ package kr.syeyoung.dungeonsguide.roomprocessor.bossfight; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import kr.syeyoung.dungeonsguide.features.FeatureRegistry; import kr.syeyoung.dungeonsguide.utils.RenderUtils; -import kr.syeyoung.dungeonsguide.utils.TextUtils; import net.minecraft.block.Block; -import net.minecraft.client.Minecraft; import net.minecraft.entity.boss.BossStatus; -import net.minecraft.entity.item.EntityArmorStand; import net.minecraft.init.Blocks; import net.minecraft.util.BlockPos; import net.minecraft.world.World; -import net.minecraftforge.event.entity.living.LivingEvent; import java.awt.*; import java.util.ArrayList; @@ -45,7 +41,7 @@ public class BossfightProcessorThorn extends GeneralBossfightProcessor { .phase("fight").build() ); - w= e.getDungeonsGuide().getSkyblockStatus().getContext().getWorld(); + w= DungeonsGuide.getDungeonsGuide().getSkyblockStatus().getContext().getWorld(); } private final Set<BlockPos> progressBar = new HashSet<BlockPos>(); private final World w; diff --git a/src/main/java/kr/syeyoung/dungeonsguide/d/a.java b/src/main/java/kr/syeyoung/dungeonsguide/url/DGConnection.java index 1e9e5c42..2fb35638 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/d/a.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/url/DGConnection.java @@ -16,20 +16,20 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package kr.syeyoung.dungeonsguide.d; +package kr.syeyoung.dungeonsguide.url; -import kr.syeyoung.dungeonsguide.b; +import kr.syeyoung.dungeonsguide.Authenticator; import java.io.*; import java.net.URL; import java.net.URLConnection; -public class a extends URLConnection { - private final b a; - protected a(URL b, b a) { - super(b); +public class DGConnection extends URLConnection { + private final Authenticator authenticator; + protected DGConnection(URL url, Authenticator a) { + super(url); connected = false; - this.a = a; + this.authenticator = a; } @Override @@ -37,12 +37,12 @@ public class a extends URLConnection { } @Override public InputStream getInputStream() throws IOException { - if (a != null) { + if (authenticator != null) { String path = url.getPath().substring(1); - if (!a.d().containsKey(path)) throw new FileNotFoundException(); - return new ByteArrayInputStream(a.d().get(path)); + if (!authenticator.getResources().containsKey(path)) throw new FileNotFoundException(); + return new ByteArrayInputStream(authenticator.getResources().get(path)); } else if (url.getPath().contains("roomdata")){ - return a.class.getResourceAsStream(url.getPath()); + return DGConnection.class.getResourceAsStream(url.getPath()); } throw new FileNotFoundException(); } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/d/b.java b/src/main/java/kr/syeyoung/dungeonsguide/url/DGStreamHandler.java index f851a72d..bc6fa10d 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/d/b.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/url/DGStreamHandler.java @@ -16,8 +16,9 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package kr.syeyoung.dungeonsguide.d; +package kr.syeyoung.dungeonsguide.url; +import kr.syeyoung.dungeonsguide.Authenticator; import lombok.AllArgsConstructor; import java.io.IOException; @@ -26,10 +27,10 @@ import java.net.URLConnection; import java.net.URLStreamHandler; @AllArgsConstructor -public class b extends URLStreamHandler { - private final kr.syeyoung.dungeonsguide.b a; +public class DGStreamHandler extends URLStreamHandler { + private final Authenticator auth; @Override - protected URLConnection openConnection(URL a) throws IOException { - return new a(a, this.a); + protected URLConnection openConnection(URL url) throws IOException { + return new DGConnection(url, this.auth); } } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/d/c.java b/src/main/java/kr/syeyoung/dungeonsguide/url/DGStreamHandlerFactory.java index 2b16bfa2..9f574a86 100755 --- a/src/main/java/kr/syeyoung/dungeonsguide/d/c.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/url/DGStreamHandlerFactory.java @@ -16,20 +16,21 @@ * along with this program. If not, see <https://www.gnu.org/licenses/>. */ -package kr.syeyoung.dungeonsguide.d; +package kr.syeyoung.dungeonsguide.url; +import kr.syeyoung.dungeonsguide.Authenticator; import lombok.AllArgsConstructor; import java.net.URLStreamHandler; import java.net.URLStreamHandlerFactory; @AllArgsConstructor -public class c implements URLStreamHandlerFactory { - private final kr.syeyoung.dungeonsguide.b a; +public class DGStreamHandlerFactory implements URLStreamHandlerFactory { + private final Authenticator auth; @Override - public URLStreamHandler createURLStreamHandler(String a) { - if ("z".equals(a)) { - return new b(this.a); + public URLStreamHandler createURLStreamHandler(String protocol) { + if ("z".equals(protocol)) { + return new DGStreamHandler(this.auth); } return null; } diff --git a/src/main/java/kr/syeyoung/dungeonsguide/utils/AhUtils.java b/src/main/java/kr/syeyoung/dungeonsguide/utils/AhUtils.java index 6bc57c2a..049f8a0d 100644 --- a/src/main/java/kr/syeyoung/dungeonsguide/utils/AhUtils.java +++ b/src/main/java/kr/syeyoung/dungeonsguide/utils/AhUtils.java @@ -18,7 +18,6 @@ package kr.syeyoung.dungeonsguide.utils; -import java.io.IOException; import java.security.*; import java.security.cert.CertificateException; import java.util.HashMap; @@ -26,7 +25,7 @@ import java.util.Map; import com.google.gson.JsonElement; import com.google.gson.JsonObject; -import kr.syeyoung.dungeonsguide.e; +import kr.syeyoung.dungeonsguide.DungeonsGuide; import javax.crypto.BadPaddingException; import javax.crypto.IllegalBlockSizeException; @@ -57,7 +56,7 @@ public class AhUtils { try { Map<String, AuctionData> semi_auctions = new HashMap<String, AuctionData>(); - JsonElement object = e.getDungeonsGuide().getAuthenticator().d("https://dungeons.guide/resource/keys"); + JsonElement object = DungeonsGuide.getDungeonsGuide().getAuthenticator().getJsonSecured("https://dungeons.guide/resource/keys"); for (JsonElement element : object.getAsJsonArray()) { JsonObject object1 = element.getAsJsonObject(); AuctionData auctionData = new AuctionData(object1.get("id").getAsString()); |