diff --git a/buildsystem-api/javadoc/overview.html b/buildsystem-api/javadoc/overview.html index 2c679fc3..1b9d9413 100644 --- a/buildsystem-api/javadoc/overview.html +++ b/buildsystem-api/javadoc/overview.html @@ -1,11 +1,11 @@

- BuildSystem is a utility plugin targeted towards build-teams. - It allows worlds to be easily managed and also provides handy tools to assist with building. + BuildSystem is a utility plugin targeted towards build-teams. + It allows worlds to be easily managed and also provides handy tools to assist with building.

Useful Links

\ No newline at end of file diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystem.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystem.java index 025a85f9..fe4574ca 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystem.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystem.java @@ -24,6 +24,8 @@ /** * The BuildSystem API. + * + * @since 3.0.0 */ public interface BuildSystem { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystemProvider.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystemProvider.java index 8a9eb7f9..10e66b9d 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystemProvider.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/BuildSystemProvider.java @@ -22,6 +22,8 @@ /** * Provides static access to the {@link BuildSystem} API. + * + * @since 3.0.0 */ public class BuildSystemProvider { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldEvent.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldEvent.java index 95882349..3894d3c1 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldEvent.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldEvent.java @@ -25,6 +25,8 @@ /** * Represents a {@link BuildWorld} related event. + * + * @since 3.0.0 */ public class BuildWorldEvent extends Event { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldLoadEvent.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldLoadEvent.java index a418b93f..76b80dd0 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldLoadEvent.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldLoadEvent.java @@ -23,6 +23,8 @@ /** * Called when a {@link BuildWorld} is loaded. + * + * @since 3.0.0 */ public class BuildWorldLoadEvent extends BuildWorldEvent implements Cancellable { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostLoadEvent.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostLoadEvent.java index 7b2cec8f..a926ebe7 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostLoadEvent.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostLoadEvent.java @@ -22,6 +22,8 @@ /** * Called after a {@link BuildWorld} has loaded. + * + * @since 3.0.0 */ public class BuildWorldPostLoadEvent extends BuildWorldEvent { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostUnloadEvent.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostUnloadEvent.java index 600f31a6..f6124a90 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostUnloadEvent.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldPostUnloadEvent.java @@ -22,6 +22,8 @@ /** * Called after a {@link BuildWorld} has unloaded. + * + * @since 3.0.0 */ public class BuildWorldPostUnloadEvent extends BuildWorldEvent { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldUnloadEvent.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldUnloadEvent.java index 8d7a798f..51e7df7f 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldUnloadEvent.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/event/world/BuildWorldUnloadEvent.java @@ -23,6 +23,8 @@ /** * Called when a {@link BuildWorld} is unloaded. + * + * @since 3.0.0 */ public class BuildWorldUnloadEvent extends BuildWorldEvent implements Cancellable { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorInventoryType.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorInventoryType.java deleted file mode 100644 index fbbdc7ec..00000000 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorInventoryType.java +++ /dev/null @@ -1,85 +0,0 @@ -/* - * Copyright (c) 2018-2025, Thomas Meaney - * Copyright (c) contributors - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ -package de.eintosti.buildsystem.api.navigator.settings; - -import de.eintosti.buildsystem.api.world.BuildWorld; -import de.eintosti.buildsystem.api.world.builder.Builder; -import de.eintosti.buildsystem.api.world.data.WorldData; -import de.eintosti.buildsystem.api.world.data.BuildWorldStatus; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.ApiStatus.Internal; -import org.jetbrains.annotations.Nullable; - -/** - * Represents the different kinds of navigator types that can be opened. - * - * @author einTosti - */ -public enum NavigatorInventoryType { - - /** - * The navigator inventory which contains all {@link BuildWorld}s that are still being built. - */ - NAVIGATOR("§aWorld Navigator"), - - /** - * The navigator inventory which contains all archived {@link BuildWorld}s. - * - * @see BuildWorldStatus#ARCHIVE - */ - ARCHIVE("§6World Archive"), - - /** - * The navigator inventory which contains all private {@link }s that can only be modified by the world's creator and all players who have been added as a {@link Builder}. - * - * @see WorldData#privateWorld() - */ - PRIVATE("§bPrivate Worlds"); - - private final String armorStandName; - - NavigatorInventoryType(String armorStandName) { - this.armorStandName = armorStandName; - } - - @Nullable - public static NavigatorInventoryType matchInventoryType(Player player, String customName) { - String typeName = customName.replace(player.getName() + " × ", ""); - - for (NavigatorInventoryType navigatorInventoryType : values()) { - if (navigatorInventoryType.getArmorStandName().equalsIgnoreCase(typeName)) { - return navigatorInventoryType; - } - } - - return null; - } - - /** - * When opening the {@link NavigatorType#NEW} navigator, each {@link org.bukkit.entity.ArmorStand} has a custom name which is unique for every player and each - * {@link NavigatorInventoryType}. - *
- * Gets said name. - * - * @return The name which an {@link org.bukkit.entity.ArmorStand} uses to represent a navigator inventory type - */ - @Internal - public String getArmorStandName() { - return armorStandName; - } -} \ No newline at end of file diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorType.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorType.java index 46bdd2ad..11f0c5b1 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorType.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/NavigatorType.java @@ -17,6 +17,11 @@ */ package de.eintosti.buildsystem.api.navigator.settings; +/** + * Represents the type of the navigator. + * + * @since 3.0.0 + */ public enum NavigatorType { OLD, NEW; diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldDisplay.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldDisplay.java index e468c656..87bdf786 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldDisplay.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldDisplay.java @@ -19,6 +19,11 @@ import de.eintosti.buildsystem.api.world.BuildWorld; +/** + * Interface for managing the display settings of worlds in the navigator. + * + * @since 3.0.0 + */ public interface WorldDisplay { /** diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldFilter.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldFilter.java index b7b9e789..46be9d4a 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldFilter.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldFilter.java @@ -21,6 +21,11 @@ import java.util.function.Predicate; import org.jetbrains.annotations.ApiStatus.Internal; +/** + * Interface for a world filter that restricts which {@link BuildWorld}s are shown to a user in the navigator. + * + * @since 3.0.0 + */ public interface WorldFilter { enum Mode { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldSort.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldSort.java index 636a54cb..d02e9a99 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldSort.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/navigator/settings/WorldSort.java @@ -19,6 +19,11 @@ import org.jetbrains.annotations.ApiStatus.Internal; +/** + * Represents the sorting options for worlds in the navigator. + * + * @since 3.0.0 + */ public enum WorldSort { /** diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/BuildPlayer.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/BuildPlayer.java index 96d0c4b7..0f55a5e9 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/BuildPlayer.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/BuildPlayer.java @@ -17,14 +17,13 @@ */ package de.eintosti.buildsystem.api.player; -import de.eintosti.buildsystem.api.navigator.settings.NavigatorInventoryType; import de.eintosti.buildsystem.api.player.settings.Settings; import de.eintosti.buildsystem.api.world.BuildWorld; +import de.eintosti.buildsystem.api.world.display.NavigatorCategory; +import java.util.UUID; import javax.annotation.Nullable; import org.bukkit.Location; import org.bukkit.entity.Player; - -import java.util.UUID; import org.jetbrains.annotations.ApiStatus.Internal; public interface BuildPlayer { @@ -110,19 +109,19 @@ public interface BuildPlayer { void setPreviousLocation(Location location); /** - * Gets the {@link NavigatorInventoryType} the player last looked at. + * Gets the {@link NavigatorCategory} the player last looked at. * * @return The last looked navigator inventory type */ @Internal @Nullable - NavigatorInventoryType getLastLookedAt(); + NavigatorCategory getLastLookedAt(); /** - * Sets the {@link NavigatorInventoryType} the player last looked at. + * Sets the {@link NavigatorCategory} the player last looked at. * * @param type The last looked navigator inventory type */ @Internal - void setLastLookedAt(NavigatorInventoryType type); + void setLastLookedAt(NavigatorCategory type); } \ No newline at end of file diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/CachedValues.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/CachedValues.java index e52ccd1e..7748df68 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/CachedValues.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/CachedValues.java @@ -22,6 +22,11 @@ import org.bukkit.inventory.ItemStack; import org.jetbrains.annotations.ApiStatus.Internal; +/** + * Interface for managing cached values of a player. + * + * @since 3.0.0 + */ @Internal public interface CachedValues { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/LogoutLocation.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/LogoutLocation.java index dba59c76..41c1fdd8 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/LogoutLocation.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/LogoutLocation.java @@ -20,6 +20,11 @@ import org.bukkit.Location; import org.jetbrains.annotations.ApiStatus.Internal; +/** + * Represents a player's logout location, which includes the world name and the location coordinates. + * + * @since 3.0.0 + */ @Internal public interface LogoutLocation { diff --git a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/PlayerService.java b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/PlayerService.java index dd22cb81..3b90d0c3 100644 --- a/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/PlayerService.java +++ b/buildsystem-api/src/main/java/de/eintosti/buildsystem/api/player/PlayerService.java @@ -18,16 +18,17 @@ package de.eintosti.buildsystem.api.player; import de.eintosti.buildsystem.api.storage.PlayerStorage; -import de.eintosti.buildsystem.api.storage.WorldStorage; import de.eintosti.buildsystem.api.world.BuildWorld; import de.eintosti.buildsystem.api.world.data.Visibility; -import org.bukkit.entity.Player; -import org.jetbrains.annotations.Unmodifiable; - -import java.util.Collection; import java.util.Set; import java.util.UUID; +import org.bukkit.entity.Player; +/** + * Service for managing {@link BuildPlayer}. + * + * @since 3.0.0 + */ public interface PlayerService { PlayerStorage getPlayerStorage(); @@ -49,8 +50,7 @@ public interface PlayerService { boolean isInBuildMode(Player player); /** - * Gets whether the given player is allowed to create a new {@link BuildWorld}.
- * This depends on the following factors: + * Gets whether the given player is allowed to create a new {@link BuildWorld}.
This depends on the following factors: *