Skip to content

Commit 665dbf3

Browse files
committed
zAPI 2.0.3 Pre Release
1 parent 7983fb6 commit 665dbf3

35 files changed

Lines changed: 623 additions & 498 deletions

src/main/java/me/yleoft/zAPI/command/CommandBasis.java

Lines changed: 46 additions & 184 deletions
Large diffs are not rendered by default.

src/main/java/me/yleoft/zAPI/command/Parameter.java renamed to src/main/java/me/yleoft/zAPI/command/parameter/Parameter.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.yleoft.zAPI.command;
1+
package me.yleoft.zAPI.command.parameter;
22

33
import org.bukkit.command.CommandSender;
44
import org.jetbrains.annotations.NotNull;
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package me.yleoft.zAPI.command.parameter;
2+
3+
/**
4+
* Represents the result of parsing a command parameter.
5+
* Contains the remaining arguments to be processed and whether further command dispatching should be stopped.
6+
*/
7+
public class ParameterParseResult {
8+
9+
final String[] remainingArgs;
10+
final boolean stopFurtherDispatch;
11+
12+
/**
13+
* Constructs a new ParameterParseResult with the specified remaining arguments and dispatching behavior.
14+
*
15+
* @param remainingArgs An array of remaining arguments to be processed by subsequent parameters or subcommands.
16+
* @param stopFurtherDispatch A boolean indicating whether further command dispatching should be stopped after this parameter is parsed.
17+
*/
18+
public ParameterParseResult(String[] remainingArgs, boolean stopFurtherDispatch) {
19+
this.remainingArgs = remainingArgs;
20+
this.stopFurtherDispatch = stopFurtherDispatch;
21+
}
22+
23+
/**
24+
* Gets the remaining arguments after parsing the current parameter.
25+
*
26+
* @return An array of remaining arguments to be processed by subsequent parameters or subcommands.
27+
*/
28+
public String[] getRemainingArgs() {
29+
return remainingArgs;
30+
}
31+
32+
/**
33+
* Indicates whether further command dispatching should be stopped after this parameter is parsed.
34+
* If true, the command execution will not proceed to any subsequent parameters or subcommands.
35+
*
36+
* @return true if further dispatching should be stopped, false otherwise
37+
*/
38+
public boolean shouldStopFurtherDispatch() {
39+
return stopFurtherDispatch;
40+
}
41+
42+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package me.yleoft.zAPI.command.parameter;
2+
3+
/**
4+
* ParameterTabContext is a class that holds the context for tab completion of command parameters.
5+
* It contains the parameter for which tab completion is being performed and the arguments that have been entered for that parameter so far.
6+
*/
7+
public class ParameterTabContext {
8+
9+
final Parameter parameter;
10+
final String[] parameterArgsSoFar;
11+
12+
/**
13+
* Constructs a new ParameterTabContext with the given parameter and arguments.
14+
*
15+
* @param parameter the parameter for which tab completion is being performed
16+
* @param parameterArgsSoFar the arguments that have been entered for the parameter so far
17+
*/
18+
public ParameterTabContext(Parameter parameter, String[] parameterArgsSoFar) {
19+
this.parameter = parameter;
20+
this.parameterArgsSoFar = parameterArgsSoFar;
21+
}
22+
23+
/**
24+
* Get the parameter for which tab completion is being performed.
25+
*
26+
* @return the parameter for which tab completion is being performed
27+
*/
28+
public Parameter getParameter() {
29+
return parameter;
30+
}
31+
32+
/**
33+
* Get the arguments that have been entered for the parameter so far.
34+
*
35+
* @return the arguments that have been entered for the parameter so far
36+
*/
37+
public String[] getParameterArgsSoFar() {
38+
return parameterArgsSoFar;
39+
}
40+
41+
}

src/main/java/me/yleoft/zAPI/hooks/HookInstance.java renamed to src/main/java/me/yleoft/zAPI/hook/HookInstance.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.yleoft.zAPI.hooks;
1+
package me.yleoft.zAPI.hook;
22

33
/**
44
* Represents a hook instance for integrating with external plugins or systems.

src/main/java/me/yleoft/zAPI/hooks/HookMiniPlaceholders.java renamed to src/main/java/me/yleoft/zAPI/hook/HookMiniPlaceholders.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
package me.yleoft.zAPI.hooks;
1+
package me.yleoft.zAPI.hook;
22

33
import io.github.miniplaceholders.api.Expansion;
4-
import me.yleoft.zAPI.handlers.PlaceholderDefinition;
5-
import me.yleoft.zAPI.handlers.PlaceholderType;
6-
import me.yleoft.zAPI.handlers.PlaceholdersHandler;
4+
import me.yleoft.zAPI.placeholders.PlaceholderDefinition;
5+
import me.yleoft.zAPI.placeholders.PlaceholderType;
6+
import me.yleoft.zAPI.placeholders.PlaceholdersHandler;
77
import me.yleoft.zAPI.zAPI;
88
import net.kyori.adventure.text.minimessage.tag.Tag;
99
import org.bukkit.Bukkit;

src/main/java/me/yleoft/zAPI/hooks/HookPlaceholderAPI.java renamed to src/main/java/me/yleoft/zAPI/hook/HookPlaceholderAPI.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
package me.yleoft.zAPI.hooks;
1+
package me.yleoft.zAPI.hook;
22

33
import me.clip.placeholderapi.PlaceholderAPIPlugin;
44
import me.clip.placeholderapi.expansion.PlaceholderExpansion;
5-
import me.yleoft.zAPI.handlers.PlaceholdersHandler;
5+
import me.yleoft.zAPI.placeholders.PlaceholdersHandler;
66
import me.yleoft.zAPI.zAPI;
77
import org.bukkit.Bukkit;
88
import org.bukkit.OfflinePlayer;

src/main/java/me/yleoft/zAPI/hooks/HookRegistry.java renamed to src/main/java/me/yleoft/zAPI/hook/HookRegistry.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.yleoft.zAPI.hooks;
1+
package me.yleoft.zAPI.hook;
22

33
import me.yleoft.zAPI.zAPI;
44

src/main/java/me/yleoft/zAPI/listeners/DupeFixerListeners.java renamed to src/main/java/me/yleoft/zAPI/internal/DupeFixerListeners.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.yleoft.zAPI.listeners;
1+
package me.yleoft.zAPI.internal;
22

33
import me.yleoft.zAPI.item.NbtHandler;
44
import me.yleoft.zAPI.zAPI;
@@ -15,7 +15,7 @@
1515
* DupeFixerListeners is a listener class that handles various events related to item duplication.
1616
* It prevents players from picking up or dropping items that are marked for duplication.
1717
*/
18-
public class DupeFixerListeners extends NbtHandler implements Listener {
18+
public class DupeFixerListeners implements Listener {
1919

2020
/**
2121
* Searches for a marked item in the player's inventory and removes it if found.
@@ -26,15 +26,15 @@ private void onClose(@NotNull final InventoryCloseEvent event) {
2626
return;
2727
}
2828

29-
zAPI.getScheduler().runAtEntityLater(player, () -> cleanInventory(player, mark), 3L);
29+
zAPI.getScheduler().runAtEntityLater(player, () -> NbtHandler.cleanInventory(player, NbtHandler.mark), 3L);
3030
}
3131

3232
/**
3333
* Checks if the item being picked up is marked for duplication and removes it if so.
3434
*/
3535
@EventHandler
3636
private void onPickup(@NotNull final EntityPickupItemEvent event) {
37-
if (!isMarked(event.getItem().getItemStack(), mark)) {
37+
if (!NbtHandler.isMarked(event.getItem().getItemStack(), NbtHandler.mark)) {
3838
return;
3939
}
4040

@@ -46,7 +46,7 @@ private void onPickup(@NotNull final EntityPickupItemEvent event) {
4646
*/
4747
@EventHandler
4848
private void onDrop(@NotNull final PlayerDropItemEvent event) {
49-
if (!isMarked(event.getItemDrop().getItemStack(), mark)) {
49+
if (!NbtHandler.isMarked(event.getItemDrop().getItemStack(), NbtHandler.mark)) {
5050
return;
5151
}
5252

@@ -58,7 +58,7 @@ private void onDrop(@NotNull final PlayerDropItemEvent event) {
5858
*/
5959
@EventHandler
6060
private void onLogin(@NotNull final PlayerLoginEvent event) {
61-
zAPI.getScheduler().runAtEntityLater(event.getPlayer(), () -> cleanInventory(event.getPlayer(), mark), 10L);
61+
zAPI.getScheduler().runAtEntityLater(event.getPlayer(), () -> NbtHandler.cleanInventory(event.getPlayer(), NbtHandler.mark), 10L);
6262
}
6363

6464
}

src/main/java/me/yleoft/zAPI/listeners/ItemListeners.java renamed to src/main/java/me/yleoft/zAPI/internal/ItemListeners.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package me.yleoft.zAPI.listeners;
1+
package me.yleoft.zAPI.internal;
22

33
import me.yleoft.zAPI.item.NbtHandler;
44
import me.yleoft.zAPI.player.PlayerHandler;
@@ -16,7 +16,7 @@
1616
/**
1717
* ItemListeners is a listener class for handling item interactions in inventories.
1818
*/
19-
public class ItemListeners extends NbtHandler implements Listener {
19+
public class ItemListeners implements Listener {
2020

2121
/**
2222
* Search for custom commands in the item clicked.
@@ -33,12 +33,12 @@ public void onClick(@NotNull final InventoryClickEvent event) {
3333
}
3434
ItemStack item = event.getCurrentItem();
3535

36-
if(hasMark(item, mark)) {
37-
if (isMarked(item, mark)) {
36+
if(NbtHandler.hasMark(item, NbtHandler.mark)) {
37+
if (NbtHandler.isMarked(item, NbtHandler.mark)) {
3838
event.setCancelled(true);
3939
}
4040

41-
List<String> commands = getCustomCommands(item);
41+
List<String> commands = NbtHandler.getCustomCommands(item);
4242
PlayerHandler.performCommand(player, item, commands);
4343
}
4444
}

0 commit comments

Comments
 (0)