From 94eb9fd516ba4eef2326ce60d83e834c674b56c6 Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Fri, 2 Sep 2022 10:33:40 -0400 Subject: [PATCH 01/15] Added reload command --- .../com/cabbagegod/cabbagescape/commands/Commands.java | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java b/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java index fb58f97..39bead8 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java +++ b/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java @@ -1,6 +1,8 @@ package com.cabbagegod.cabbagescape.commands; import com.cabbagegod.cabbagescape.client.CabbageScapeClient; +import com.cabbagegod.cabbagescape.client.blockoutline.PersistentOutlineRenderer; +import com.cabbagegod.cabbagescape.client.grounditems.GroundItemsManager; import com.mojang.brigadier.arguments.FloatArgumentType; import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager; import net.minecraft.client.MinecraftClient; @@ -49,6 +51,12 @@ public static void register(){ return 1; }))) + .then(ClientCommandManager.literal("reload") + .executes(context -> { + PersistentOutlineRenderer.getInstance().clear(); + + return 1; + })) .then(ClientCommandManager.literal("contains") .then(ClientCommandManager.literal("add") .then(ClientCommandManager.argument("item", ClientMessageArgumentType.message()) From 16e3cc1a68ec8b0e1d0cbe3f4fa4e6d8e7e24ce8 Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Fri, 2 Sep 2022 11:03:35 -0400 Subject: [PATCH 02/15] Fixed a bug that caused empty contains list to trigger all armor stands --- .../com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java index 35f9fd0..d5cfa9b 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java @@ -139,6 +139,11 @@ void setupOptions(){ this.containsKeysTextField.setMaxLength(Integer.MAX_VALUE); this.containsKeysTextField.setText(parsedTags.toString()); this.containsKeysTextField.setChangedListener(parsedKeys -> { + if(parsedKeys.isEmpty()){ + settings.containsTags = new ArrayList(); + return; + } + String[] keys = parsedKeys.split(","); settings.containsTags = new ArrayList(Arrays.asList(keys)); }); From 95e48dd137b3351d6f0f56fb464f521b6ee70aa9 Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Mon, 19 Dec 2022 15:17:25 -0500 Subject: [PATCH 03/15] Removed unnecessary import --- .../cabbagegod/cabbagescape/mixin/PlayerEntityRendererMixin.java | 1 - 1 file changed, 1 deletion(-) diff --git a/src/main/java/com/cabbagegod/cabbagescape/mixin/PlayerEntityRendererMixin.java b/src/main/java/com/cabbagegod/cabbagescape/mixin/PlayerEntityRendererMixin.java index f193754..11bd65d 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/mixin/PlayerEntityRendererMixin.java +++ b/src/main/java/com/cabbagegod/cabbagescape/mixin/PlayerEntityRendererMixin.java @@ -1,6 +1,5 @@ package com.cabbagegod.cabbagescape.mixin; -import net.minecraft.block.DoorBlock; import net.minecraft.client.render.entity.PlayerEntityRenderer; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; From 7a9ca4298f347d3c7de2e1159ac31cad6267f20a Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Thu, 12 Jan 2023 17:23:34 -0500 Subject: [PATCH 04/15] Removed unneeded imports --- .../client/CabbageScapeClient.java | 18 +----------------- .../cabbagescape/client/LevelUpManager.java | 5 ----- .../cabbagescape/client/VersionChecker.java | 5 ----- .../client/barrows/BarrowsHelper.java | 3 --- .../blockoutline/BlockOutlineManager.java | 1 - .../client/cluetracker/ClueStep.java | 1 - .../client/cluetracker/ClueTracker.java | 3 --- .../potiontimers/PotionTimerManager.java | 4 ---- .../commands/ClientMessageArgumentType.java | 2 -- .../cabbagescape/commands/Commands.java | 1 - .../cabbagescape/data/DataHandler.java | 3 --- .../cabbagescape/data/GroundItemSettings.java | 3 --- .../cabbagegod/cabbagescape/data/Settings.java | 3 --- .../cabbagescape/data/itemdata/ItemName.java | 2 -- .../cabbagescape/events/DoorUseCallback.java | 1 - .../cabbagescape/mixin/GameMenuMixin.java | 2 -- .../cabbagescape/mixin/InGameHudMixin.java | 4 ---- .../notifications/NotificationManager.java | 2 -- .../cabbagescape/ui/ClueHintScreen.java | 1 - .../cabbagescape/ui/GroundItemsScreen.java | 9 --------- .../cabbagescape/ui/SettingsScreen.java | 13 ------------- .../cabbagescape/ui/UpdateScreen.java | 2 -- 22 files changed, 1 insertion(+), 87 deletions(-) diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java b/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java index 93ececd..b5b078d 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java @@ -4,7 +4,6 @@ import com.cabbagegod.cabbagescape.client.blockoutline.BlockOutlineManager; import com.cabbagegod.cabbagescape.client.blockoutline.PersistentOutlineRenderer; import com.cabbagegod.cabbagescape.client.grounditems.GroundItemsManager; -import com.cabbagegod.cabbagescape.client.potiontimers.PotionTimerManager; import com.cabbagegod.cabbagescape.commands.Commands; import com.cabbagegod.cabbagescape.data.DataHandler; import com.cabbagegod.cabbagescape.data.DelayedScreenshot; @@ -13,32 +12,17 @@ import com.cabbagegod.cabbagescape.ui.UpdateScreen; import com.cabbagegod.cabbagescape.util.FileUtil; import com.cabbagegod.cabbagescape.util.ScreenshotUtil; -import com.cabbagegod.cabbagescape.util.ThreadingUtil; import com.google.gson.Gson; -import jdk.jshell.spi.ExecutionControl; import net.fabricmc.api.ClientModInitializer; -import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientEntityEvents; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; import net.fabricmc.fabric.api.client.networking.v1.ClientPlayConnectionEvents; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gl.Framebuffer; -import net.minecraft.client.gl.SimpleFramebuffer; import net.minecraft.client.option.KeyBinding; import net.minecraft.client.texture.NativeImage; import net.minecraft.client.util.ScreenshotRecorder; -import net.minecraft.client.world.ClientWorld; -import net.minecraft.entity.Entity; -import net.minecraft.entity.EntityType; -import net.minecraft.sound.SoundEvents; -import net.minecraft.text.LiteralText; -import org.lwjgl.glfw.GLFW; - -import java.io.DataOutputStream; + import java.io.File; import java.io.IOException; -import java.text.DateFormat; -import java.text.SimpleDateFormat; -import java.time.LocalDate; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.*; diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/LevelUpManager.java b/src/main/java/com/cabbagegod/cabbagescape/client/LevelUpManager.java index 2481f70..07b2bf6 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/LevelUpManager.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/LevelUpManager.java @@ -1,11 +1,6 @@ package com.cabbagegod.cabbagescape.client; -import com.cabbagegod.cabbagescape.data.DataHandler; import com.cabbagegod.cabbagescape.data.Skill; -import com.cabbagegod.cabbagescape.util.ScreenshotUtil; -import com.cabbagegod.cabbagescape.util.ThreadingUtil; -import net.minecraft.client.MinecraftClient; -import net.minecraft.text.LiteralText; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/VersionChecker.java b/src/main/java/com/cabbagegod/cabbagescape/client/VersionChecker.java index 21a0dc9..41d57be 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/VersionChecker.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/VersionChecker.java @@ -1,19 +1,14 @@ package com.cabbagegod.cabbagescape.client; -import com.cabbagegod.cabbagescape.data.Settings; import com.cabbagegod.cabbagescape.github.Release; -import com.google.common.reflect.TypeToken; import com.google.gson.Gson; import java.io.IOException; -import java.lang.reflect.Type; import java.net.URI; import java.net.URISyntaxException; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; -import java.util.ArrayList; -import java.util.List; public class VersionChecker { private static boolean showUpdate = false; diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/barrows/BarrowsHelper.java b/src/main/java/com/cabbagegod/cabbagescape/client/barrows/BarrowsHelper.java index 6a72c71..1aeaf0b 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/barrows/BarrowsHelper.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/barrows/BarrowsHelper.java @@ -3,9 +3,7 @@ import com.cabbagegod.cabbagescape.client.blockoutline.PersistentOutlineRenderer; import com.cabbagegod.cabbagescape.events.DoorUseCallback; import net.fabricmc.fabric.api.client.event.lifecycle.v1.ClientTickEvents; -import net.minecraft.block.Material; import net.minecraft.client.MinecraftClient; -import net.minecraft.enchantment.Enchantment; import net.minecraft.enchantment.Enchantments; import net.minecraft.entity.Entity; import net.minecraft.entity.EquipmentSlot; @@ -13,7 +11,6 @@ import net.minecraft.entity.player.PlayerEntity; import net.minecraft.item.*; import net.minecraft.screen.ScreenHandler; -import net.minecraft.text.LiteralText; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Vec3d; diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/blockoutline/BlockOutlineManager.java b/src/main/java/com/cabbagegod/cabbagescape/client/blockoutline/BlockOutlineManager.java index 4a794d0..9fe32f9 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/blockoutline/BlockOutlineManager.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/blockoutline/BlockOutlineManager.java @@ -1,6 +1,5 @@ package com.cabbagegod.cabbagescape.client.blockoutline; -import com.cabbagegod.cabbagescape.client.CabbageScapeClient; import net.minecraft.client.MinecraftClient; import net.minecraft.client.render.Camera; import net.minecraft.client.util.math.MatrixStack; diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueStep.java b/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueStep.java index fe341f4..3211c9e 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueStep.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueStep.java @@ -1,6 +1,5 @@ package com.cabbagegod.cabbagescape.client.cluetracker; -import net.fabricmc.loader.impl.lib.sat4j.core.Vec; import net.minecraft.client.util.math.Vector3d; public class ClueStep { diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueTracker.java b/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueTracker.java index a2ffa9a..ed989f4 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueTracker.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/cluetracker/ClueTracker.java @@ -3,19 +3,16 @@ import java.util.ArrayList; import java.util.List; import com.cabbagegod.cabbagescape.client.cluetracker.ClueStep.Difficulty; -import com.cabbagegod.cabbagescape.data.DataHandler; import com.cabbagegod.cabbagescape.data.itemdata.ItemDisplay; import com.cabbagegod.cabbagescape.data.itemdata.ItemExtra; import com.cabbagegod.cabbagescape.data.itemdata.ItemExtra__1; import com.cabbagegod.cabbagescape.data.itemdata.ItemLore; import com.cabbagegod.cabbagescape.ui.ClueHintScreen; -import com.cabbagegod.cabbagescape.ui.UpdateScreen; import com.google.gson.Gson; import net.fabricmc.fabric.api.event.player.UseItemCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.item.ItemStack; import net.minecraft.nbt.NbtElement; -import net.minecraft.text.LiteralText; import net.minecraft.util.Formatting; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/potiontimers/PotionTimerManager.java b/src/main/java/com/cabbagegod/cabbagescape/client/potiontimers/PotionTimerManager.java index 3d17771..5ed1ae0 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/potiontimers/PotionTimerManager.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/potiontimers/PotionTimerManager.java @@ -1,20 +1,16 @@ package com.cabbagegod.cabbagescape.client.potiontimers; import com.cabbagegod.cabbagescape.client.CabbageScapeClient; -import com.cabbagegod.cabbagescape.notifications.NotificationManager; -import com.cabbagegod.cabbagescape.notifications.TrayNotification; import com.cabbagegod.cabbagescape.util.ThreadingUtil; import net.fabricmc.fabric.api.client.item.v1.ItemTooltipCallback; import net.fabricmc.fabric.api.event.player.UseItemCallback; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.item.ItemStack; -import net.minecraft.text.LiteralText; import net.minecraft.util.Formatting; import net.minecraft.util.Hand; import net.minecraft.util.TypedActionResult; -import java.awt.*; import java.util.ArrayList; import java.util.HashMap; import java.util.List; diff --git a/src/main/java/com/cabbagegod/cabbagescape/commands/ClientMessageArgumentType.java b/src/main/java/com/cabbagegod/cabbagescape/commands/ClientMessageArgumentType.java index 141a5ab..bb22e9a 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/commands/ClientMessageArgumentType.java +++ b/src/main/java/com/cabbagegod/cabbagescape/commands/ClientMessageArgumentType.java @@ -18,11 +18,9 @@ import net.fabricmc.fabric.api.client.command.v1.FabricClientCommandSource; import net.minecraft.command.EntitySelector; import net.minecraft.command.EntitySelectorReader; -import net.minecraft.server.command.ServerCommandSource; import net.minecraft.text.LiteralText; import net.minecraft.text.MutableText; import net.minecraft.text.Text; -import org.jetbrains.annotations.Nullable; public class ClientMessageArgumentType implements ArgumentType diff --git a/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java b/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java index 39bead8..2d3f3a3 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java +++ b/src/main/java/com/cabbagegod/cabbagescape/commands/Commands.java @@ -2,7 +2,6 @@ import com.cabbagegod.cabbagescape.client.CabbageScapeClient; import com.cabbagegod.cabbagescape.client.blockoutline.PersistentOutlineRenderer; -import com.cabbagegod.cabbagescape.client.grounditems.GroundItemsManager; import com.mojang.brigadier.arguments.FloatArgumentType; import net.fabricmc.fabric.api.client.command.v1.ClientCommandManager; import net.minecraft.client.MinecraftClient; diff --git a/src/main/java/com/cabbagegod/cabbagescape/data/DataHandler.java b/src/main/java/com/cabbagegod/cabbagescape/data/DataHandler.java index f5f64ab..10ed2bf 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/data/DataHandler.java +++ b/src/main/java/com/cabbagegod/cabbagescape/data/DataHandler.java @@ -4,11 +4,8 @@ import java.io.FileWriter; import java.io.IOException; -import java.io.File; -import java.io.FileNotFoundException; import java.nio.file.Files; import java.nio.file.Paths; -import java.util.Scanner; public class DataHandler { public static void WriteStringToFile(String data, String fileName){ diff --git a/src/main/java/com/cabbagegod/cabbagescape/data/GroundItemSettings.java b/src/main/java/com/cabbagegod/cabbagescape/data/GroundItemSettings.java index aaa6c6e..dc53cca 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/data/GroundItemSettings.java +++ b/src/main/java/com/cabbagegod/cabbagescape/data/GroundItemSettings.java @@ -1,8 +1,5 @@ package com.cabbagegod.cabbagescape.data; -import org.checkerframework.checker.units.qual.C; - -import java.awt.*; import java.util.ArrayList; import java.util.List; diff --git a/src/main/java/com/cabbagegod/cabbagescape/data/Settings.java b/src/main/java/com/cabbagegod/cabbagescape/data/Settings.java index 2c8ef29..3380904 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/data/Settings.java +++ b/src/main/java/com/cabbagegod/cabbagescape/data/Settings.java @@ -2,9 +2,6 @@ import com.cabbagegod.cabbagescape.client.CabbageScapeClient; -import java.util.ArrayList; -import java.util.List; - public class Settings { public String lastVersion = CabbageScapeClient.version; public GroundItemSettings groundItemSettings = new GroundItemSettings(); diff --git a/src/main/java/com/cabbagegod/cabbagescape/data/itemdata/ItemName.java b/src/main/java/com/cabbagegod/cabbagescape/data/itemdata/ItemName.java index 52f65d1..b298aa7 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/data/itemdata/ItemName.java +++ b/src/main/java/com/cabbagegod/cabbagescape/data/itemdata/ItemName.java @@ -1,7 +1,5 @@ package com.cabbagegod.cabbagescape.data.itemdata; -import java.util.List; - //Class used to read raw JSON from NBT data public class ItemName { public String text; diff --git a/src/main/java/com/cabbagegod/cabbagescape/events/DoorUseCallback.java b/src/main/java/com/cabbagegod/cabbagescape/events/DoorUseCallback.java index 7b5f35f..5180ff0 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/events/DoorUseCallback.java +++ b/src/main/java/com/cabbagegod/cabbagescape/events/DoorUseCallback.java @@ -3,7 +3,6 @@ import net.fabricmc.fabric.api.event.Event; import net.fabricmc.fabric.api.event.EventFactory; import net.minecraft.entity.player.PlayerEntity; -import net.minecraft.util.ActionResult; import net.minecraft.util.math.BlockPos; public interface DoorUseCallback { diff --git a/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java b/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java index f42e6dc..73dcfc2 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java +++ b/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java @@ -7,8 +7,6 @@ import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.text.LiteralText; import net.minecraft.text.Text; -import net.minecraft.text.TextColor; -import net.minecraft.text.TranslatableText; import org.spongepowered.asm.mixin.Mixin; import org.spongepowered.asm.mixin.injection.At; import org.spongepowered.asm.mixin.injection.Inject; diff --git a/src/main/java/com/cabbagegod/cabbagescape/mixin/InGameHudMixin.java b/src/main/java/com/cabbagegod/cabbagescape/mixin/InGameHudMixin.java index 6e2a9e4..98730da 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/mixin/InGameHudMixin.java +++ b/src/main/java/com/cabbagegod/cabbagescape/mixin/InGameHudMixin.java @@ -1,18 +1,14 @@ package com.cabbagegod.cabbagescape.mixin; -import com.cabbagegod.cabbagescape.client.CabbageScapeClient; import com.cabbagegod.cabbagescape.client.potiontimers.PotionInstance; import com.cabbagegod.cabbagescape.client.potiontimers.PotionTimerManager; -import com.cabbagegod.cabbagescape.data.NotificationSettings; import com.cabbagegod.cabbagescape.notifications.NotificationManager; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.font.TextRenderer; import net.minecraft.client.gui.DrawableHelper; import net.minecraft.client.gui.hud.InGameHud; import net.minecraft.client.render.GameRenderer; import net.minecraft.client.util.math.MatrixStack; -import net.minecraft.datafixer.fix.OminousBannerBlockEntityRenameFix; import net.minecraft.text.LiteralText; import net.minecraft.util.Identifier; import org.spongepowered.asm.mixin.Mixin; diff --git a/src/main/java/com/cabbagegod/cabbagescape/notifications/NotificationManager.java b/src/main/java/com/cabbagegod/cabbagescape/notifications/NotificationManager.java index 56ecede..09be0b8 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/notifications/NotificationManager.java +++ b/src/main/java/com/cabbagegod/cabbagescape/notifications/NotificationManager.java @@ -1,12 +1,10 @@ package com.cabbagegod.cabbagescape.notifications; import com.cabbagegod.cabbagescape.data.NotificationSettings; -import com.cabbagegod.cabbagescape.mixin.InGameHudMixin; import com.cabbagegod.cabbagescape.util.ThreadingUtil; import net.minecraft.client.MinecraftClient; import net.minecraft.client.network.ClientPlayerEntity; import net.minecraft.sound.SoundEvents; -import net.minecraft.text.LiteralText; public class NotificationManager { public static boolean showFlash = false; diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/ClueHintScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/ClueHintScreen.java index e2bb6bc..8329e7f 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/ui/ClueHintScreen.java +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/ClueHintScreen.java @@ -1,6 +1,5 @@ package com.cabbagegod.cabbagescape.ui; -import com.cabbagegod.cabbagescape.client.VersionChecker; import com.cabbagegod.cabbagescape.client.cluetracker.ClueStep; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java index d5cfa9b..32ff733 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java @@ -1,12 +1,9 @@ package com.cabbagegod.cabbagescape.ui; import com.cabbagegod.cabbagescape.client.CabbageScapeClient; -import com.cabbagegod.cabbagescape.client.VersionChecker; import com.cabbagegod.cabbagescape.data.GroundItemSettings; import com.cabbagegod.cabbagescape.data.Settings; -import com.mojang.blaze3d.platform.GlStateManager; import com.mojang.blaze3d.systems.RenderSystem; -import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.Screen; import net.minecraft.client.gui.screen.option.GameOptionsScreen; import net.minecraft.client.gui.widget.ButtonListWidget; @@ -17,19 +14,13 @@ import net.minecraft.client.option.GameOptions; import net.minecraft.client.option.Option; import net.minecraft.client.render.GameRenderer; -import net.minecraft.client.texture.Sprite; -import net.minecraft.client.util.InputUtil; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.LiteralText; -import net.minecraft.text.Text; -import net.minecraft.text.TranslatableText; import net.minecraft.util.Identifier; import org.apache.commons.lang3.StringUtils; -import java.awt.*; import java.util.ArrayList; import java.util.Arrays; -import java.util.stream.Stream; public class GroundItemsScreen extends GameOptionsScreen { private static Option[] OPTIONS; diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/SettingsScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/SettingsScreen.java index 57f7782..1e5e319 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/ui/SettingsScreen.java +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/SettingsScreen.java @@ -1,29 +1,16 @@ package com.cabbagegod.cabbagescape.ui; import com.cabbagegod.cabbagescape.client.CabbageScapeClient; -import com.cabbagegod.cabbagescape.client.VersionChecker; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.fabricmc.loader.language.LanguageAdapter; import net.minecraft.client.MinecraftClient; -import net.minecraft.client.gui.Element; import net.minecraft.client.gui.screen.GameMenuScreen; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.option.OptionsScreen; -import net.minecraft.client.gui.widget.ButtonListWidget; import net.minecraft.client.gui.widget.ButtonWidget; -import net.minecraft.client.option.DoubleOption; -import net.minecraft.client.option.Option; -import net.minecraft.client.util.InputUtil; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.LiteralText; -import net.minecraft.text.Text; import net.minecraft.text.TranslatableText; -import java.util.Arrays; -import java.util.Optional; -import java.util.stream.Stream; - @Environment(EnvType.CLIENT) public class SettingsScreen extends Screen { diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/UpdateScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/UpdateScreen.java index e97aca9..af1faee 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/ui/UpdateScreen.java +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/UpdateScreen.java @@ -4,11 +4,9 @@ import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.screen.Screen; -import net.minecraft.client.gui.screen.option.SkinOptionsScreen; import net.minecraft.client.gui.widget.ButtonWidget; import net.minecraft.client.util.math.MatrixStack; import net.minecraft.text.LiteralText; -import net.minecraft.text.Text; import net.minecraft.text.TranslatableText; @Environment(EnvType.CLIENT) From 8108b4f4782053c6244093bdd590419733cade29 Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Fri, 13 Jan 2023 11:52:27 -0500 Subject: [PATCH 05/15] Removed debug button function --- .../cabbagescape/client/CabbageScapeClient.java | 12 +----------- 1 file changed, 1 insertion(+), 11 deletions(-) diff --git a/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java b/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java index b5b078d..0c21ee7 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java +++ b/src/main/java/com/cabbagegod/cabbagescape/client/CabbageScapeClient.java @@ -100,17 +100,7 @@ private void checkKeyPress(MinecraftClient client){ assert client.player != null; if(debugKey.wasPressed()){ - NativeImage image = ScreenshotRecorder.takeScreenshot(client.getFramebuffer()); - try { - DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("yyyy-MM-dd_HH.mm.ss");; - String currentDate = dateFormat.format(LocalDateTime.now()); - - String screenshotDir = FileUtil.directoryPath + "screenshots/"; - FileUtil.CreateNewDirecotryIfNotExists(screenshotDir); - image.writeTo(new File(screenshotDir + currentDate + ".png")); - } catch (IOException exception) { - exception.printStackTrace(); - } + //test something } } From 7a388f74e7672f83e76f7f332d0a7e4b76a4b623 Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Fri, 13 Jan 2023 11:52:48 -0500 Subject: [PATCH 06/15] Added a new option for a basic button --- .../cabbagescape/ui/ButtonOption.java | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/main/java/com/cabbagegod/cabbagescape/ui/ButtonOption.java diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/ButtonOption.java b/src/main/java/com/cabbagegod/cabbagescape/ui/ButtonOption.java new file mode 100644 index 0000000..6fc4637 --- /dev/null +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/ButtonOption.java @@ -0,0 +1,29 @@ +package com.cabbagegod.cabbagescape.ui; + +import com.cabbagegod.cabbagescape.client.CabbageScapeClient; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.widget.ButtonWidget; +import net.minecraft.client.gui.widget.ClickableWidget; +import net.minecraft.client.option.GameOptions; +import net.minecraft.client.option.Option; +import net.minecraft.text.LiteralText; + +import java.util.function.Function; + +public class ButtonOption extends Option { + private ButtonWidget.PressAction action; + + public ButtonOption(String key, ButtonWidget.PressAction action) { + super(key); + + this.key = key; + this.action = action; + } + + String key; + + @Override + public ClickableWidget createButton(GameOptions options, int x, int y, int width) { + return new ButtonWidget(x,y,width,20,new LiteralText(key), action); + } +} From c070918a3824f4ff4521793ab64467b2ed12ae3a Mon Sep 17 00:00:00 2001 From: CabbageGod Date: Fri, 13 Jan 2023 11:53:11 -0500 Subject: [PATCH 07/15] Refactored + added new dynamic plugins menu --- .../cabbagescape/data/MinescapePlugins.java | 14 ++++ .../cabbagescape/mixin/GameMenuMixin.java | 2 +- .../ui/{ => settings}/GroundItemsScreen.java | 8 +-- .../ui/settings/PluginsScreen.java | 64 +++++++++++++++++++ .../ui/{ => settings}/SettingsScreen.java | 8 +-- 5 files changed, 86 insertions(+), 10 deletions(-) create mode 100644 src/main/java/com/cabbagegod/cabbagescape/data/MinescapePlugins.java rename src/main/java/com/cabbagegod/cabbagescape/ui/{ => settings}/GroundItemsScreen.java (96%) create mode 100644 src/main/java/com/cabbagegod/cabbagescape/ui/settings/PluginsScreen.java rename src/main/java/com/cabbagegod/cabbagescape/ui/{ => settings}/SettingsScreen.java (77%) diff --git a/src/main/java/com/cabbagegod/cabbagescape/data/MinescapePlugins.java b/src/main/java/com/cabbagegod/cabbagescape/data/MinescapePlugins.java new file mode 100644 index 0000000..3033ef4 --- /dev/null +++ b/src/main/java/com/cabbagegod/cabbagescape/data/MinescapePlugins.java @@ -0,0 +1,14 @@ +package com.cabbagegod.cabbagescape.data; + +import com.cabbagegod.cabbagescape.ui.settings.GroundItemsScreen; + +public enum MinescapePlugins { + GROUNDITEMS("Ground Items", GroundItemsScreen.class); + + public String name; + public Class screen; + MinescapePlugins(String name, Class settingsScreen){ + this.name = name; + screen = settingsScreen; + } +} diff --git a/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java b/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java index 73dcfc2..8b02d80 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java +++ b/src/main/java/com/cabbagegod/cabbagescape/mixin/GameMenuMixin.java @@ -1,6 +1,6 @@ package com.cabbagegod.cabbagescape.mixin; -import com.cabbagegod.cabbagescape.ui.SettingsScreen; +import com.cabbagegod.cabbagescape.ui.settings.SettingsScreen; import net.minecraft.client.MinecraftClient; import net.minecraft.client.gui.screen.GameMenuScreen; import net.minecraft.client.gui.screen.Screen; diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/settings/GroundItemsScreen.java similarity index 96% rename from src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java rename to src/main/java/com/cabbagegod/cabbagescape/ui/settings/GroundItemsScreen.java index 32ff733..136c9db 100644 --- a/src/main/java/com/cabbagegod/cabbagescape/ui/GroundItemsScreen.java +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/settings/GroundItemsScreen.java @@ -1,4 +1,4 @@ -package com.cabbagegod.cabbagescape.ui; +package com.cabbagegod.cabbagescape.ui.settings; import com.cabbagegod.cabbagescape.client.CabbageScapeClient; import com.cabbagegod.cabbagescape.data.GroundItemSettings; @@ -29,10 +29,10 @@ public class GroundItemsScreen extends GameOptionsScreen { private TextFieldWidget groundItemsListTextField; private TextFieldWidget containsKeysTextField; - public GroundItemsScreen(Screen parent, GameOptions gameOptions, Settings settings) { - super(parent, gameOptions, new LiteralText("Ground Items Options")); + public GroundItemsScreen() { + super(null, null, new LiteralText("Ground Items Options")); - this.settings = settings; + this.settings = CabbageScapeClient.settings; } protected void init(){ diff --git a/src/main/java/com/cabbagegod/cabbagescape/ui/settings/PluginsScreen.java b/src/main/java/com/cabbagegod/cabbagescape/ui/settings/PluginsScreen.java new file mode 100644 index 0000000..933894b --- /dev/null +++ b/src/main/java/com/cabbagegod/cabbagescape/ui/settings/PluginsScreen.java @@ -0,0 +1,64 @@ +package com.cabbagegod.cabbagescape.ui.settings; + +import com.cabbagegod.cabbagescape.data.Settings; +import com.cabbagegod.cabbagescape.ui.ButtonOption; +import com.cabbagegod.cabbagescape.data.MinescapePlugins; +import net.minecraft.client.MinecraftClient; +import net.minecraft.client.gui.screen.Screen; +import net.minecraft.client.gui.screen.option.GameOptionsScreen; +import net.minecraft.client.gui.widget.ButtonListWidget; +import net.minecraft.client.option.GameOptions; +import net.minecraft.client.option.Option; +import net.minecraft.client.util.math.MatrixStack; +import net.minecraft.text.LiteralText; + +import java.lang.reflect.InvocationTargetException; +import java.util.ArrayList; +import java.util.List; + +public class PluginsScreen extends GameOptionsScreen { + private static Option[] OPTIONS; + private ButtonListWidget buttonList; + private final Settings settings; + + public PluginsScreen(Screen parent, GameOptions gameOptions, Settings settings) { + super(parent, gameOptions, new LiteralText("Plugins Settings")); + + this.settings = settings; + } + + protected void init(){ + try { + setup(); + } catch (NoSuchMethodException | InvocationTargetException | InstantiationException | IllegalAccessException e) { + e.printStackTrace(); + } + + this.buttonList = new ButtonListWidget(this.client, this.width, this.height, 32, this.height - 32, 25); + this.buttonList.addAll(OPTIONS); + + addSelectableChild(this.buttonList); + } + + public void render(MatrixStack matrices, int mouseX, int mouseY, float delta) { + renderBackground(matrices); + buttonList.render(matrices, mouseX, mouseY, delta); + + super.render(matrices, mouseX, mouseY, delta); + } + + private void setup() throws NoSuchMethodException, InvocationTargetException, InstantiationException, IllegalAccessException { + List