From ab46ba5023f77aaf2cd867742fe1f8fd8ed9d97e Mon Sep 17 00:00:00 2001 From: Thoronium <107363768+NotThorny@users.noreply.github.com> Date: Fri, 21 Jun 2024 00:45:14 -0600 Subject: [PATCH] Update 4.7 characters Add position option --- pom.xml | 2 +- .../AttackModifier/AddAttack.java | 16 ++++++ .../commands/AttackModifierCommand.java | 52 +++++++++++++++---- .../AttackModifier/utils/Config.java | 14 +++++ 4 files changed, 74 insertions(+), 10 deletions(-) diff --git a/pom.xml b/pom.xml index 528400b..150b466 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ xyz.grasscutters grasscutter - 1.7.0 + 1.7.4 \ No newline at end of file diff --git a/src/main/java/thorny/grasscutters/AttackModifier/AddAttack.java b/src/main/java/thorny/grasscutters/AttackModifier/AddAttack.java index 337bde6..e895f3f 100644 --- a/src/main/java/thorny/grasscutters/AttackModifier/AddAttack.java +++ b/src/main/java/thorny/grasscutters/AttackModifier/AddAttack.java @@ -22,6 +22,15 @@ public class AddAttack { static ArrayList blacklistUIDs = AttackModifier.getInstance().config.getBlacklist(); static List activeGadgets = new ArrayList<>(); // Current gadgets static List removeGadgets = new ArrayList<>(); // To be removed gadgets + public static int x = 0; + public static int y = 0; + public static int z = 0; + + public static void setXYZ(int x, int y, int z) { + AddAttack.x = x; + AddAttack.y = y; + AddAttack.z = z; + } public static void addAttack(GameSession session, int skillId, int uid) { @@ -88,6 +97,13 @@ public static void addAttack(GameSession session, int skillId, int uid) { target.addZ((float) (r * Math.cos(Math.PI / 180 * angle))); } + // Optional xyz args + if (x != 0 || y != 0 || z != 0) { + target.addX(x); + target.addY(y); + target.addZ(z); + } + // Only spawn on match if (addedAttack != 0) { EntityGadget att = new EntityGadget(scene, addedAttack, target, rot); diff --git a/src/main/java/thorny/grasscutters/AttackModifier/commands/AttackModifierCommand.java b/src/main/java/thorny/grasscutters/AttackModifier/commands/AttackModifierCommand.java index ca3f176..42aa432 100644 --- a/src/main/java/thorny/grasscutters/AttackModifier/commands/AttackModifierCommand.java +++ b/src/main/java/thorny/grasscutters/AttackModifier/commands/AttackModifierCommand.java @@ -37,8 +37,12 @@ public void execute(Player sender, Player targetPlayer, List args) { int thing = 0; int newGadget = -1; String state; - String avatarName = targetPlayer.getTeamManager().getCurrentAvatarEntity().getAvatar().getAvatarData().getName().toLowerCase() + "Ids"; - int uid = targetPlayer.getUid(); + String avatarName = targetPlayer.getTeamManager().getCurrentAvatarEntity().getAvatar().getAvatarData().getName() + .toLowerCase() + "Ids"; + int uid = targetPlayer.getUid(); + int x = 0; + int y = 0; + int z = 0; state = args.get(0); try { @@ -48,19 +52,23 @@ public void execute(Player sender, Player targetPlayer, List args) { // Change whether added attacks should be on or not if (state.equals("off")) { - if(blacklistUIDs.contains(uid)){ + if (blacklistUIDs.contains(uid)) { CommandHandler.sendMessage(targetPlayer, "Added attacks already disabled!"); - }else{blacklistUIDs.add(uid); + } else { + blacklistUIDs.add(uid); AttackModifier.getInstance().saveBlacklist(blacklistUIDs); - CommandHandler.sendMessage(targetPlayer, "Disabled added attacks!");} + CommandHandler.sendMessage(targetPlayer, "Disabled added attacks!"); + } } if (state.equals("on")) { - if(blacklistUIDs.contains(uid)){ + if (blacklistUIDs.contains(uid)) { blacklistUIDs.remove(Integer.valueOf(uid)); AttackModifier.getInstance().saveBlacklist(blacklistUIDs); CommandHandler.sendMessage(targetPlayer, "Enabled added attacks!"); - }else{CommandHandler.sendMessage(targetPlayer, "Added attacks already enabled!!");} + } else { + CommandHandler.sendMessage(targetPlayer, "Added attacks already enabled!!"); + } } if (state.equals("remove")) { @@ -73,9 +81,35 @@ public void execute(Player sender, Player targetPlayer, List args) { AttackModifier.getInstance().reloadConfig(); CommandHandler.sendMessage(targetPlayer, "Reloaded config!"); } - if (state.equals("set")){ + if (state.equals("set")) { var attackType = args.get(1).toLowerCase(); - try{newGadget = Integer.parseInt(args.get(2));}catch(Exception e){sendUsageMessage(targetPlayer); return;} + try { + newGadget = Integer.parseInt(args.get(2)); + } catch (Exception e) { + sendUsageMessage(targetPlayer); + return; + } + try { + if (args.size() > 3) { + for (var a : args) { + if (a.startsWith("x")) { + x = Integer.parseInt(a.substring(1)); + } + if (a.startsWith("y")) { + y = Integer.parseInt(a.substring(1)); + } + if (a.startsWith("z")) { + z = Integer.parseInt(a.substring(1)); + } + }; + AddAttack.setXYZ(x, y, z); + CommandHandler.sendMessage(targetPlayer, "Set spawn coordinates of: x" + x + ", y" + y + ", z" + z); + } + } catch (Exception e) { + CommandHandler.sendMessage(targetPlayer, + "Coordinates may be invalid. Ensure they match the format of x123 y123 z123. Only the desired x, y, or z is required.\n If you only want to change y, include just y123."); + } + AddAttack.setGadget(targetPlayer, avatarName, uid, attackType, newGadget); CommandHandler.sendMessage(targetPlayer, "Set new gadget!"); } diff --git a/src/main/java/thorny/grasscutters/AttackModifier/utils/Config.java b/src/main/java/thorny/grasscutters/AttackModifier/utils/Config.java index f26d5f4..21abb5c 100644 --- a/src/main/java/thorny/grasscutters/AttackModifier/utils/Config.java +++ b/src/main/java/thorny/grasscutters/AttackModifier/utils/Config.java @@ -73,6 +73,20 @@ public final class Config { public characters linetteIds = new characters(); public characters lineyIds = new characters(); public characters freminetIds = new characters(); + public characters wriothesleyIds = new characters(); + public characters neuvilletteIds = new characters(); + public characters charlotteIds = new characters(); + public characters furinaIds = new characters(); + public characters chevreuseIds = new characters(); + public characters naviaIds = new characters(); + public characters gamingIds = new characters(); + public characters xianyunIds = new characters(); + public characters chioriIds = new characters(); + public characters sigewinneIds = new characters(); + public characters arlecchinoIds = new characters(); + public characters sethosIds = new characters(); + public characters clorindeIds = new characters(); + public static class characters {