aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/de
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/de')
-rw-r--r--src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java4
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java8
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/skyblock/item/MuseumItemCache.java38
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/ApiUtils.java14
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Http.java6
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/Utils.java2
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java10
-rw-r--r--src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java2
15 files changed, 54 insertions, 54 deletions
diff --git a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
index 145f7ec4..2475d0d3 100644
--- a/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
+++ b/src/main/java/de/hysky/skyblocker/compatibility/MixinPlugin.java
@@ -30,14 +30,14 @@ public class MixinPlugin implements IMixinConfigPlugin {
public boolean shouldApplyMixin(String targetClassName, String mixinClassName) {
//OptiFabric Compatibility
if (mixinClassName.endsWith("WorldRendererMixin") && OPTIFABRIC_LOADED) return false;
-
+
//YACL#103 Patch
if (mixinClassName.endsWith("DoubleFieldControllerMixin") || mixinClassName.endsWith("FloatFieldControllerMixin") || mixinClassName.endsWith("IntegerFieldControllerMixin") || mixinClassName.endsWith("LongFieldControllerMixin") || mixinClassName.endsWith("NumberFieldControllerMixin")) {
if (YACL_VERSION.equals("3.2.1+1.20.2")) {
LOGGER.info("[Skyblocker] Applying patch for " + targetClassName + " from " + mixinClassName);
} else {
LOGGER.info("[Skyblocker] Skipping patch on " + targetClassName + " due to an Unknown YACL version being found! Version: {}", YACL_VERSION);
-
+
return false;
}
}
diff --git a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
index 8119fcab..b5cf2905 100644
--- a/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
+++ b/src/main/java/de/hysky/skyblocker/config/SkyblockerConfig.java
@@ -623,7 +623,7 @@ public class SkyblockerConfig {
@SerialEntry
public boolean enableAotvWaypoints = true;
-
+
@SerialEntry
public boolean enablePearlWaypoints = true;
@@ -734,7 +734,7 @@ public class SkyblockerConfig {
@SerialEntry
public boolean enigmaSoulWaypoints = false;
-
+
@SerialEntry
public boolean highlightFoundEnigmaSouls = true;
diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java
index d67993c2..3a82c92a 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/yacl/FloatFieldControllerMixin.java
@@ -15,7 +15,7 @@ import net.minecraft.text.Text;
public abstract class FloatFieldControllerMixin extends NumberFieldController<Float> {
private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance();
-
+
public FloatFieldControllerMixin(Option<Float> option, Function<Float, Text> displayFormatter) {
super(option, displayFormatter);
}
diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java
index b95cbef7..51dd4890 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/yacl/IntegerFieldControllerMixin.java
@@ -14,16 +14,16 @@ import net.minecraft.text.Text;
@Mixin(value = IntegerFieldController.class, remap = false)
public abstract class IntegerFieldControllerMixin extends NumberFieldController<Integer> {
private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance();
-
+
public IntegerFieldControllerMixin(Option<Integer> option, Function<Integer, Text> displayFormatter) {
super(option, displayFormatter);
}
-
+
@Overwrite
public String getString() {
return NUMBER_FORMAT.format(option().pendingValue());
}
-
+
@Overwrite
public boolean isInputValid(String input) {
return super.isInputValid(input);
diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java
index 99871e2e..f744c310 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/yacl/LongFieldControllerMixin.java
@@ -14,16 +14,16 @@ import net.minecraft.text.Text;
@Mixin(value = LongFieldController.class, remap = false)
public abstract class LongFieldControllerMixin extends NumberFieldController<Long> {
private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance();
-
+
public LongFieldControllerMixin(Option<Long> option, Function<Long, Text> displayFormatter) {
super(option, displayFormatter);
}
-
+
@Overwrite
public String getString() {
return NUMBER_FORMAT.format(option().pendingValue());
}
-
+
@Overwrite
public boolean isInputValid(String input) {
return super.isInputValid(input);
diff --git a/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java b/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java
index 17a99cfd..010f9a26 100644
--- a/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java
+++ b/src/main/java/de/hysky/skyblocker/mixin/yacl/NumberFieldControllerMixin.java
@@ -17,7 +17,7 @@ import net.minecraft.util.math.MathHelper;
public abstract class NumberFieldControllerMixin<T extends Number> implements ISliderController<T> {
private static final NumberFormat NUMBER_FORMAT = NumberFormat.getInstance();
private static final DecimalFormatSymbols DECIMAL_FORMAT_SYMBOLS = DecimalFormatSymbols.getInstance();
-
+
@Overwrite
public void setFromString(String value) {
try {
@@ -26,16 +26,16 @@ public abstract class NumberFieldControllerMixin<T extends Number> implements IS
YACLConstants.LOGGER.warn("Failed to parse number: {}", value);
}
}
-
+
@Overwrite
public boolean isInputValid(String input) {
input = input.replace(DECIMAL_FORMAT_SYMBOLS.getGroupingSeparator() + "", "");
ParsePosition parsePosition = new ParsePosition(0);
NUMBER_FORMAT.parse(input, parsePosition);
-
+
return parsePosition.getIndex() == input.length();
}
-
+
@Overwrite
protected String cleanupNumberString(String number) {
throw new UnsupportedOperationException("This method should no longer be called.");
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
index c198238b..02b08254 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dungeon/DungeonMapConfigScreen.java
@@ -57,7 +57,7 @@ public class DungeonMapConfigScreen extends Screen {
SkyblockerConfigManager.get().locations.dungeons.mapX = hudX;
SkyblockerConfigManager.get().locations.dungeons.mapY = hudY;
SkyblockerConfigManager.save();
-
+
this.client.setScreen(parent);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
index 09cb03be..6f281ba9 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/dwarven/DwarvenHudConfigScreen.java
@@ -62,7 +62,7 @@ public class DwarvenHudConfigScreen extends Screen {
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.x = hudX;
SkyblockerConfigManager.get().locations.dwarvenMines.dwarvenHud.y = hudY;
SkyblockerConfigManager.save();
-
+
client.setScreen(parent);
}
}
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java
index cec84b38..3434f026 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/CustomArmorTrims.java
@@ -145,7 +145,7 @@ public class CustomArmorTrims {
Identifier.CODEC.fieldOf("material").forGetter(ArmorTrimId::material),
Identifier.CODEC.fieldOf("pattern").forGetter(ArmorTrimId::pattern))
.apply(instance, ArmorTrimId::new));
-
+
@Override
public Identifier left() {
return material();
diff --git a/src/main/java/de/hysky/skyblocker/skyblock/item/MuseumItemCache.java b/src/main/java/de/hysky/skyblocker/skyblock/item/MuseumItemCache.java
index ac9b1bf0..5873ee28 100644
--- a/src/main/java/de/hysky/skyblocker/skyblock/item/MuseumItemCache.java
+++ b/src/main/java/de/hysky/skyblocker/skyblock/item/MuseumItemCache.java
@@ -40,18 +40,18 @@ public class MuseumItemCache {
private static final Path CACHE_FILE = SkyblockerMod.CONFIG_DIR.resolve("museum_item_cache.json");
private static final Object2ObjectOpenHashMap<String, Object2ObjectOpenHashMap<String, ProfileMuseumData>> MUSEUM_ITEM_CACHE = new Object2ObjectOpenHashMap<>();
private static final Type MAP_TYPE = new TypeToken<Object2ObjectOpenHashMap<String, Object2ObjectOpenHashMap<String, ProfileMuseumData>>>() {}.getType();
-
+
private static CompletableFuture<Void> loaded;
public static void init() {
ClientLifecycleEvents.CLIENT_STARTED.register(MuseumItemCache::load);
}
-
+
private static void load(MinecraftClient client) {
loaded = CompletableFuture.runAsync(() -> {
try (BufferedReader reader = Files.newBufferedReader(CACHE_FILE)) {
Object2ObjectOpenHashMap<String, Object2ObjectOpenHashMap<String, ProfileMuseumData>> cachedData = SkyblockerMod.GSON.fromJson(reader, MAP_TYPE);
-
+
MUSEUM_ITEM_CACHE.putAll(cachedData);
LOGGER.info("[Skyblocker] Loaded museum items cache");
} catch (NoSuchFileException ignored) {
@@ -60,7 +60,7 @@ public class MuseumItemCache {
}
});
}
-
+
private static void save() {
CompletableFuture.runAsync(() -> {
try (BufferedWriter writer = Files.newBufferedWriter(CACHE_FILE)) {
@@ -70,7 +70,7 @@ public class MuseumItemCache {
}
});
}
-
+
private static void updateData4ProfileMember(String uuid, String profileId) {
CompletableFuture.runAsync(() -> {
try (ApiResponse response = Http.sendHypixelRequest("skyblock/museum", "?profile=" + profileId)) {
@@ -78,32 +78,32 @@ public class MuseumItemCache {
if (response.ok()) {
JsonObject profileData = JsonParser.parseString(response.content()).getAsJsonObject();
JsonObject memberData = profileData.get("members").getAsJsonObject().get(uuid).getAsJsonObject();
-
+
//We call them sets because it could either be a singular item or an entire armour set
Map<String, JsonElement> donatedSets = memberData.get("items").getAsJsonObject().asMap();
-
+
//Set of all found item ids on profile
ObjectOpenHashSet<String> itemIds = new ObjectOpenHashSet<>();
-
+
for (Map.Entry<String, JsonElement> donatedSet : donatedSets.entrySet()) {
//Item is plural here because the nbt is a list
String itemsData = donatedSet.getValue().getAsJsonObject().get("items").getAsJsonObject().get("data").getAsString();
NbtList items = NbtIo.readCompressed(new ByteArrayInputStream(Base64.getDecoder().decode(itemsData))).getList("i", NbtElement.COMPOUND_TYPE);
-
+
for (int i = 0; i < items.size(); i++) {
NbtCompound tag = items.getCompound(i).getCompound("tag");
-
+
if (tag.contains("ExtraAttributes")) {
NbtCompound extraAttributes = tag.getCompound("ExtraAttributes");
-
+
if (extraAttributes.contains("id")) itemIds.add(extraAttributes.getString("id"));
}
}
}
-
+
MUSEUM_ITEM_CACHE.get(uuid).put(profileId, new ProfileMuseumData(System.currentTimeMillis(), itemIds));
save();
-
+
LOGGER.info("[Skyblocker] Successfully updated museum item cache for profile {}", profileId);
}
} catch (Exception e) {
@@ -111,7 +111,7 @@ public class MuseumItemCache {
}
});
}
-
+
/**
* The cache is ticked upon switching skyblock servers
*/
@@ -121,22 +121,22 @@ public class MuseumItemCache {
Object2ObjectOpenHashMap<String, ProfileMuseumData> playerData = MUSEUM_ITEM_CACHE.computeIfAbsent(uuid, uuid1 -> Util.make(new Object2ObjectOpenHashMap<>(), map -> {
map.put(profileId, ProfileMuseumData.EMPTY);
}));
-
+
if (playerData.get(profileId).stale()) updateData4ProfileMember(uuid, profileId);
}
}
-
+
public static boolean hasItemInMuseum(String id) {
String uuid = UndashedUuid.toString(MinecraftClient.getInstance().getSession().getUuidOrNull());
ObjectOpenHashSet<String> collectedItemIds = MUSEUM_ITEM_CACHE.get(uuid).get(Utils.getProfileId()).collectedItemIds();
-
+
return collectedItemIds != null && collectedItemIds.contains(id);
}
-
+
private record ProfileMuseumData(long lastUpdated, ObjectOpenHashSet<String> collectedItemIds) {
private static final ProfileMuseumData EMPTY = new ProfileMuseumData(0L, null);
private static final long MAX_AGE = 86_400_000;
-
+
private boolean stale() {
return System.currentTimeMillis() > lastUpdated + MAX_AGE;
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java b/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java
index c0648eba..0121f8ad 100644
--- a/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/ApiUtils.java
@@ -21,33 +21,33 @@ public class ApiUtils {
* Do not iterate over this map, it will be accessed and modified by multiple threads.
*/
private static final Object2ObjectOpenHashMap<String, String> NAME_2_UUID_CACHE = new Object2ObjectOpenHashMap<>();
-
+
public static void init() {
//Clear cache every 20 minutes
Scheduler.INSTANCE.scheduleCyclic(NAME_2_UUID_CACHE::clear, 24_000, true);
}
-
+
/**
* Multithreading is to be handled by the method caller
*/
public static String name2Uuid(String name) {
Session session = MinecraftClient.getInstance().getSession();
-
+
if (session.getUsername().equals(name)) return UndashedUuid.toString(session.getUuidOrNull());
if (NAME_2_UUID_CACHE.containsKey(name)) return NAME_2_UUID_CACHE.get(name);
-
+
try (ApiResponse response = Http.sendName2UuidRequest(name)) {
if (response.ok()) {
String uuid = JsonParser.parseString(response.content()).getAsJsonObject().get("id").getAsString();
-
+
NAME_2_UUID_CACHE.put(name, uuid);
-
+
return uuid;
}
} catch (Exception e) {
LOGGER.error("[Skyblocker] Name to uuid lookup failed! Name: {}", name, e);
}
-
+
return "";
}
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/Http.java b/src/main/java/de/hysky/skyblocker/utils/Http.java
index 4c8a3ada..82ab6c5e 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Http.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Http.java
@@ -36,7 +36,7 @@ public class Http {
public static String sendGetRequest(String url) throws IOException, InterruptedException {
return sendCacheableGetRequest(url).content();
}
-
+
private static ApiResponse sendCacheableGetRequest(String url) throws IOException, InterruptedException {
HttpRequest request = HttpRequest.newBuilder()
.GET()
@@ -80,10 +80,10 @@ public class Http {
public static ApiResponse sendHypixelRequest(String endpoint, @NotNull String query) throws IOException, InterruptedException {
return sendCacheableGetRequest(HYPIXEL_PROXY + endpoint + query);
}
-
+
private static InputStream getDecodedInputStream(HttpResponse<InputStream> response) {
String encoding = getContentEncoding(response.headers());
-
+
try {
switch (encoding) {
case "":
diff --git a/src/main/java/de/hysky/skyblocker/utils/Utils.java b/src/main/java/de/hysky/skyblocker/utils/Utils.java
index 71e08865..02b1637b 100644
--- a/src/main/java/de/hysky/skyblocker/utils/Utils.java
+++ b/src/main/java/de/hysky/skyblocker/utils/Utils.java
@@ -363,7 +363,7 @@ public class Utils {
if (isOnSkyblock && message.startsWith("Profile ID: ")) {
profileId = message.replace("Profile ID: ", "");
-
+
MuseumItemCache.tick(profileId);
}
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java
index 064b564c..e4cfea1b 100644
--- a/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/RenderHelper.java
@@ -42,16 +42,16 @@ public class RenderHelper {
renderFilled(context, Vec3d.of(pos), ONE, colorComponents, alpha, false);
}
}
-
+
private static void renderFilled(WorldRenderContext context, Vec3d pos, Vec3d dimensions, float[] colorComponents, float alpha, boolean throughWalls) {
MatrixStack matrices = context.matrixStack();
Vec3d camera = context.camera().getPos();
Tessellator tessellator = RenderSystem.renderThreadTesselator();
BufferBuilder buffer = tessellator.getBuffer();
-
+
matrices.push();
matrices.translate(-camera.x, -camera.y, -camera.z);
-
+
RenderSystem.setShader(GameRenderer::getPositionColorProgram);
RenderSystem.setShaderColor(1f, 1f, 1f, 1f);
RenderSystem.polygonOffset(-1f, -10f);
@@ -61,11 +61,11 @@ public class RenderHelper {
RenderSystem.enableDepthTest();
RenderSystem.depthFunc(throughWalls ? GL11.GL_ALWAYS : GL11.GL_LEQUAL);
RenderSystem.disableCull();
-
+
buffer.begin(DrawMode.TRIANGLE_STRIP, VertexFormats.POSITION_COLOR);
WorldRenderer.renderFilledBox(matrices, buffer, pos.x, pos.y, pos.z, pos.x + dimensions.x, pos.y + dimensions.y, pos.z + dimensions.z, colorComponents[0], colorComponents[1], colorComponents[2], alpha);
tessellator.draw();
-
+
matrices.pop();
RenderSystem.polygonOffset(0f, 0f);
RenderSystem.disablePolygonOffset();
diff --git a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
index cab18a50..cc80f74c 100644
--- a/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
+++ b/src/main/java/de/hysky/skyblocker/utils/render/title/TitleContainerConfigScreen.java
@@ -184,7 +184,7 @@ public class TitleContainerConfigScreen extends Screen {
// Refresh the value in the config with the bound value
if (changedScale) scaleOpt.forgetPendingValue();
}
-
+
SkyblockerConfigManager.save();
this.client.setScreen(parent);
}