Skip to content

Commit 2eb6af3

Browse files
committed
Added info and list commands - 1.1.0
1 parent 85c70d4 commit 2eb6af3

File tree

5 files changed

+66
-4
lines changed

5 files changed

+66
-4
lines changed

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,7 @@ A Minecraft plugin to manage donjons on PeaceAndCube
88
- ``/pacdonjon removestep <donjon> <step>`` to remove a step in a donjon
99
- ``/pacdonjon set <target> <donjon> <step>`` to set the current step of a target in a donjon
1010
- ``/pacdonjon set <target> <donjon>`` to remove the currently set step of a target in a donjon
11+
- ``/pacdonjon info <donjon> <step>`` to get information about a donjon step
12+
- ``/pacdonjon list`` to get a list of the donjons
13+
- ``/pacdonjon list <donjon>`` to get a list of the steps in a donjon
1114
- ``/donjon <donjon>`` to teleport to your current step in a donjon

src/fr/peaceandcube/pacdonjons/command/DonjonMessages.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ public class DonjonMessages {
66

77
public static final String DONJON_NOT_FOUND = ChatColor.RED + "Le donjon n'a pas été trouvé.";
88
public static final String STEP_NOT_FOUND = ChatColor.RED + "L'étape du donjon n'a pas été trouvée.";
9+
public static final String NO_DONJON_STEP = ChatColor.RED + "Le donjon n'a aucune étape.";
910

1011
public static final String DONJON_ADDED = ChatColor.YELLOW + "Le donjon %s a été ajouté.";
1112
public static final String DONJON_REMOVED = ChatColor.YELLOW + "Le donjon %s a été supprimé.";
@@ -14,5 +15,10 @@ public class DonjonMessages {
1415
public static final String PLAYER_STEP_ADDED = ChatColor.YELLOW + "L'étape %s du donjon %s a été enregistrée pour %s.";
1516
public static final String PLAYER_STEP_REMOVED = ChatColor.YELLOW + "Le donjon %s n'est plus enregistré pour %s.";
1617

17-
public static final String TELEPORTED = ChatColor.YELLOW + "Tu as téléporté dans le donjon %s !";
18+
public static final String STEP_INFO = ChatColor.YELLOW + "Infos de l'étape %s du donjon %s : " + ChatColor.GOLD + "%s";
19+
20+
public static final String DONJON_LIST = ChatColor.YELLOW + "Liste des donjons : " + ChatColor.GOLD + "%s";
21+
public static final String STEP_LIST = ChatColor.YELLOW + "Liste des étapes du donjon %s : " + ChatColor.GOLD + "%s";
22+
23+
public static final String TELEPORTED = ChatColor.YELLOW + "Tu as été téléporté dans le donjon %s !";
1824
}

src/fr/peaceandcube/pacdonjons/command/PacDonjonCommand.java

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
import fr.peaceandcube.pacpi.player.PlayerSuggestionProviders;
1818

1919
public class PacDonjonCommand implements CommandExecutor, TabExecutor {
20-
private static final List<String> OPERATIONS = ImmutableList.of("add", "remove", "addstep", "removestep", "set");
20+
private static final List<String> OPERATIONS = ImmutableList.of("add", "remove", "addstep", "removestep", "set", "info", "list");
2121

2222
@Override
2323
public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args) {
@@ -96,6 +96,41 @@ public boolean onCommand(CommandSender sender, Command cmd, String label, String
9696
}
9797
}
9898
return true;
99+
case "info":
100+
if (args.length == 3) {
101+
String donjon = args[1];
102+
String step = args[2];
103+
if (DonjonsFile.getDonjons("").contains(donjon)) {
104+
if (DonjonsFile.getSteps(donjon, "").contains(step)) {
105+
List<String> infos = DonjonsFile.getStepInfo(donjon, step);
106+
sender.sendMessage(String.format(DonjonMessages.STEP_INFO, step, donjon, infos));
107+
} else {
108+
sender.sendMessage(DonjonMessages.STEP_NOT_FOUND);
109+
}
110+
} else {
111+
sender.sendMessage(DonjonMessages.DONJON_NOT_FOUND);
112+
}
113+
}
114+
return true;
115+
case "list":
116+
if (args.length == 1) {
117+
List<String> donjons = DonjonsFile.getDonjons("");
118+
sender.sendMessage(String.format(DonjonMessages.DONJON_LIST, donjons));
119+
return true;
120+
} else if (args.length == 2) {
121+
String donjon = args[1];
122+
if (DonjonsFile.getDonjons("").contains(donjon)) {
123+
List<String> steps = DonjonsFile.getSteps(donjon, "");
124+
if (!steps.isEmpty()) {
125+
sender.sendMessage(String.format(DonjonMessages.STEP_LIST, donjon, steps));
126+
} else {
127+
sender.sendMessage(DonjonMessages.NO_DONJON_STEP);
128+
}
129+
} else {
130+
sender.sendMessage(DonjonMessages.DONJON_NOT_FOUND);
131+
}
132+
return true;
133+
}
99134
}
100135
}
101136
}
@@ -121,6 +156,8 @@ public List<String> onTabComplete(CommandSender sender, Command cmd, String labe
121156
case "remove":
122157
case "addstep":
123158
case "removestep":
159+
case "info":
160+
case "list":
124161
return DonjonsFile.getDonjons(args[1]);
125162
case "set":
126163
return PlayerSuggestionProviders.getOnlinePlayers(args[1]);
@@ -132,6 +169,7 @@ public List<String> onTabComplete(CommandSender sender, Command cmd, String labe
132169
case "add":
133170
return PlayerSuggestionProviders.getOnlinePlayers(args[2]);
134171
case "removestep":
172+
case "info":
135173
return DonjonsFile.getSteps(args[1], args[2]);
136174
case "set":
137175
return DonjonsFile.getDonjons(args[2]);

src/fr/peaceandcube/pacdonjons/file/DonjonsFile.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -80,6 +80,19 @@ public static List<String> getSteps(String donjon, String prefix) {
8080
return new ArrayList<String>();
8181
}
8282

83+
public static List<String> getStepInfo(String donjon, String step) {
84+
ConfigurationSection section = config.getConfigurationSection(donjon).getConfigurationSection("steps").getConfigurationSection(step);
85+
Set<String> infoKeys = section.getKeys(false);
86+
if (!infoKeys.isEmpty()) {
87+
List<String> infos = new ArrayList<String>();
88+
for (String info : infoKeys) {
89+
infos.add(section.getString(info));
90+
}
91+
return infos;
92+
}
93+
return new ArrayList<String>();
94+
}
95+
8396
public static void add(String name, String author) {
8497
ConfigurationSection section = config.createSection(name);
8598
section.set("author", author);

src/plugin.yml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
main: fr.peaceandcube.pacdonjons.PACDonjons
22
name: PACDonjons
3-
version: 1.0.0
3+
description: A Minecraft plugin to manage donjons on PeaceAndCube
4+
version: 1.1.0
45
author: Yanis48
6+
website: https://github.com/PeaceAndCubeMC/PACDonjons
57
api-version: 1.13
68

79
depend: [pAcPI]
@@ -11,7 +13,7 @@ commands:
1113
description: Allows you to manage donjons
1214
permission: pacdonjons.pacdonjon
1315
permission-message: §cYou do not have the permission to use this command.
14-
usage: "§eUsage:\n /pacdonjon add <name> <author>\n /pacdonjon remove <donjon>\n /pacdonjon addstep <donjon> <name>\n /pacdonjon removestep <donjon> <step>\n /pacdonjon set <target> <donjon> [<step>]"
16+
usage: "§eUsage:\n /pacdonjon add <name> <author>\n /pacdonjon remove <donjon>\n /pacdonjon addstep <donjon> <name>\n /pacdonjon removestep <donjon> <step>\n /pacdonjon set <target> <donjon> [<step>]\n /pacdonjon info <donjon> <step>\n /pacdonjon list [<donjon>]"
1517
donjon:
1618
description: Allows you to teleport to a donjon
1719
permission: pacdonjons.donjon

0 commit comments

Comments
 (0)