From bc3f389c52aef41f6fb4351e8d0a5a8fed8336ef Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Sat, 24 Jul 2021 01:54:57 -0400 Subject: Add crystal hollows waypoints With support for SBE crystal hollows waypoints --- .../commands/CrystalHollowWaypointCommand.java | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java (limited to 'src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java') diff --git a/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java b/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java new file mode 100644 index 0000000..c545447 --- /dev/null +++ b/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java @@ -0,0 +1,50 @@ +package me.Danker.commands; + +import me.Danker.DankersSkyblockMod; +import me.Danker.features.CrystalHollowWaypoints; +import net.minecraft.command.CommandBase; +import net.minecraft.command.CommandException; +import net.minecraft.command.ICommandSender; +import net.minecraft.entity.player.EntityPlayer; +import net.minecraft.util.BlockPos; +import net.minecraft.util.ChatComponentText; + +public class CrystalHollowWaypointCommand extends CommandBase { + + @Override + public String getCommandName() { + return "dsmaddcrystalhollowwaypoints"; + } + + @Override + public String getCommandUsage(ICommandSender arg0) { + return "/" + getCommandName() + " "; + } + + @Override + public int getRequiredPermissionLevel() { + return 0; + } + + @Override + public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException { + EntityPlayer player = (EntityPlayer) arg0; + + if (arg1.length == 0) return; + + String[] waypoints = String.join(" ", arg1).split("\\\\n"); + + for (String waypoint : waypoints) { + String[] parts = waypoint.split("@"); + String[] coords = parts[1].split(","); + + String location = parts[0]; + BlockPos pos = new BlockPos(Integer.parseInt(coords[0]), Integer.parseInt(coords[1]), Integer.parseInt(coords[2])); + CrystalHollowWaypoints.Waypoint newWaypoint = new CrystalHollowWaypoints.Waypoint(location, pos); + + CrystalHollowWaypoints.waypoints.add(newWaypoint); + player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Added " + newWaypoint.location + " @ " + newWaypoint.getPos())); + } + } + +} -- cgit From 18005eaea949ef177edfdcbf9bd794314fd4a8ce Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Wed, 8 Sep 2021 20:41:05 -0400 Subject: Fix first coord being negative in waypoint addition --- src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java') diff --git a/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java b/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java index c545447..1aacf50 100644 --- a/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java +++ b/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java @@ -35,7 +35,7 @@ public class CrystalHollowWaypointCommand extends CommandBase { String[] waypoints = String.join(" ", arg1).split("\\\\n"); for (String waypoint : waypoints) { - String[] parts = waypoint.split("@"); + String[] parts = waypoint.split("@-"); String[] coords = parts[1].split(","); String location = parts[0]; -- cgit From 637d39e2dad83b29503a1b12fc8e2f7f9e1489fa Mon Sep 17 00:00:00 2001 From: bowser0000 Date: Sat, 16 Apr 2022 20:52:59 -0400 Subject: Add auto add player waypoints --- .../commands/CrystalHollowWaypointCommand.java | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) (limited to 'src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java') diff --git a/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java b/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java index 1aacf50..f5dea9b 100644 --- a/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java +++ b/src/main/java/me/Danker/commands/CrystalHollowWaypointCommand.java @@ -2,6 +2,7 @@ package me.Danker.commands; import me.Danker.DankersSkyblockMod; import me.Danker.features.CrystalHollowWaypoints; +import net.minecraft.client.Minecraft; import net.minecraft.command.CommandBase; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; @@ -28,11 +29,13 @@ public class CrystalHollowWaypointCommand extends CommandBase { @Override public void processCommand(ICommandSender arg0, String[] arg1) throws CommandException { - EntityPlayer player = (EntityPlayer) arg0; - if (arg1.length == 0) return; + addWaypoints(String.join(" ", arg1), false); + } - String[] waypoints = String.join(" ", arg1).split("\\\\n"); + public static void addWaypoints(String list, boolean auto) { + EntityPlayer player = Minecraft.getMinecraft().thePlayer; + String[] waypoints = list.split("\\\\n"); for (String waypoint : waypoints) { String[] parts = waypoint.split("@-"); @@ -42,6 +45,17 @@ public class CrystalHollowWaypointCommand extends CommandBase { BlockPos pos = new BlockPos(Integer.parseInt(coords[0]), Integer.parseInt(coords[1]), Integer.parseInt(coords[2])); CrystalHollowWaypoints.Waypoint newWaypoint = new CrystalHollowWaypoints.Waypoint(location, pos); + if (auto) { + boolean contains = false; + for (CrystalHollowWaypoints.Waypoint existing : CrystalHollowWaypoints.waypoints) { + if (existing.location.equals(location)) { + contains = true; + break; + } + } + if (contains) continue; + } + CrystalHollowWaypoints.waypoints.add(newWaypoint); player.addChatMessage(new ChatComponentText(DankersSkyblockMod.MAIN_COLOUR + "Added " + newWaypoint.location + " @ " + newWaypoint.getPos())); } -- cgit