From 01b95ce65bf2a1c9c8aa2ecce0beea58c9a500a0 Mon Sep 17 00:00:00 2001 From: theEvilReaper Date: Sat, 15 Jun 2024 22:09:59 +0200 Subject: [PATCH 1/3] Replace stream usage with a simple for loop --- .../objects/other/SurfaceMode.java | 24 +++++++++++++++---- 1 file changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/other/SurfaceMode.java b/src/main/java/net/onelitefeather/bettergopaint/objects/other/SurfaceMode.java index 3947f11..8d0e374 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/other/SurfaceMode.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/other/SurfaceMode.java @@ -23,7 +23,6 @@ import org.bukkit.block.Block; import org.jetbrains.annotations.NotNull; -import java.util.Arrays; import java.util.Optional; public enum SurfaceMode { @@ -46,19 +45,36 @@ public enum SurfaceMode { */ RELATIVE("Relative"); + private static final SurfaceMode[] VALUES = values(); + private final @NotNull String name; + /** + * Constructs a new surface mode entry with the given name. + * @param name the name of the surface mode + */ SurfaceMode(@NotNull String name) { this.name = name; } + /** + * Gets the name of the surface mode. + * @return the name from the surface mode + */ public @NotNull String getName() { return name; } + /** + * Returns the {@link SurfaceMode} enum entry by the given name. + * @param name the name of the surface mode + * @return the surface mode by the given name wrapped in an {@link Optional} + */ public static @NotNull Optional byName(@NotNull String name) { - return Arrays.stream(values()) - .filter(surfaceMode -> surfaceMode.getName().equals(name)) - .findAny(); + SurfaceMode surfaceMode = null; + for (int i = 0; i < VALUES.length && surfaceMode == null; i++) { + surfaceMode = VALUES[i].getName().equals(name) ? VALUES[i] : null; + } + return Optional.ofNullable(surfaceMode); } } From 97d489d5a6124f386589e21ee2a3165ebdb1ca04 Mon Sep 17 00:00:00 2001 From: theEvilReaper Date: Sat, 15 Jun 2024 22:11:33 +0200 Subject: [PATCH 2/3] Remove unnecessary usage of JetBrains annotations --- .../bettergopaint/BetterGoPaint.java | 21 +++--- .../brush/ExportedPlayerBrush.java | 14 ++-- .../bettergopaint/brush/PlayerBrush.java | 70 +++++++++---------- .../brush/PlayerBrushManager.java | 35 +++++----- .../bettergopaint/command/GoPaintCommand.java | 2 +- .../listeners/ConnectListener.java | 6 +- .../listeners/InteractListener.java | 10 +-- .../listeners/InventoryListener.java | 2 +- .../objects/brush/AngleBrush.java | 6 +- .../bettergopaint/objects/brush/Brush.java | 6 +- .../objects/brush/BucketBrush.java | 6 +- .../objects/brush/DiscBrush.java | 6 +- .../objects/brush/FractureBrush.java | 6 +- .../objects/brush/GradientBrush.java | 6 +- .../objects/brush/OverlayBrush.java | 6 +- .../objects/brush/PaintBrush.java | 8 +-- .../objects/brush/SphereBrush.java | 6 +- .../objects/brush/SplatterBrush.java | 6 +- .../objects/brush/SprayBrush.java | 6 +- .../objects/brush/UnderlayBrush.java | 6 +- .../bettergopaint/objects/other/Settings.java | 16 ++--- .../bettergopaint/utils/ConnectedBlocks.java | 13 +++- .../bettergopaint/utils/GUI.java | 4 +- .../bettergopaint/utils/Height.java | 5 +- .../bettergopaint/utils/Sphere.java | 12 +++- .../bettergopaint/utils/Surface.java | 7 +- .../utils/curve/BezierSpline.java | 5 +- .../utils/curve/BezierSplineSegment.java | 6 +- 28 files changed, 162 insertions(+), 140 deletions(-) diff --git a/src/main/java/net/onelitefeather/bettergopaint/BetterGoPaint.java b/src/main/java/net/onelitefeather/bettergopaint/BetterGoPaint.java index 0b951a4..82ce591 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/BetterGoPaint.java +++ b/src/main/java/net/onelitefeather/bettergopaint/BetterGoPaint.java @@ -49,15 +49,14 @@ public class BetterGoPaint extends JavaPlugin implements Listener { - public static final @NotNull String PAPER_DOCS = "https://jd.papermc.io/paper/1.20.6/org/bukkit/Material.html#enum-constant-summary"; + public static final String PAPER_DOCS = "https://jd.papermc.io/paper/1.20.6/org/bukkit/Material.html#enum-constant-summary"; + public static final String USE_PERMISSION = "bettergopaint.use"; + public static final String ADMIN_PERMISSION = "bettergopaint.admin"; + public static final String RELOAD_PERMISSION = "bettergopaint.command.admin.reload"; + public static final String WORLD_BYPASS_PERMISSION = "bettergopaint.world.bypass"; - public static final @NotNull String USE_PERMISSION = "bettergopaint.use"; - public static final @NotNull String ADMIN_PERMISSION = "bettergopaint.admin"; - public static final @NotNull String RELOAD_PERMISSION = "bettergopaint.command.admin.reload"; - public static final @NotNull String WORLD_BYPASS_PERMISSION = "bettergopaint.world.bypass"; - - private final @NotNull PlayerBrushManager brushManager = new PlayerBrushManager(); - private final @NotNull Metrics metrics = new Metrics(this, 18734); + private final PlayerBrushManager brushManager = new PlayerBrushManager(); + private final Metrics metrics = new Metrics(this, 18734); @Override public void onLoad() { @@ -82,7 +81,7 @@ public void onEnable() { reloadConfig(); - Material brush = Settings.settings().GENERIC.DEFAULT_BRUSH; + Material brush = Settings.settings().generic.DEFAULT_BRUSH; if (!brush.isItem()) { getComponentLogger().error("{} is not a valid default brush, it has to be an item", brush.name()); getComponentLogger().error("For more information visit {}", PAPER_DOCS); @@ -141,8 +140,8 @@ private boolean hasOriginalGoPaint() { } return new AnnotationParser<>(commandManager, CommandSender.class); - } catch (Exception e) { - getLogger().log(Level.SEVERE, "Cannot init command manager"); + } catch (Exception exception) { + getLogger().log(Level.SEVERE, "Cannot init command manager", exception); return null; } } diff --git a/src/main/java/net/onelitefeather/bettergopaint/brush/ExportedPlayerBrush.java b/src/main/java/net/onelitefeather/bettergopaint/brush/ExportedPlayerBrush.java index 1e432a1..82eb579 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/brush/ExportedPlayerBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/brush/ExportedPlayerBrush.java @@ -51,7 +51,7 @@ public record ExportedPlayerBrush( double angleHeightDifference ) implements BrushSettings { - private static final @NotNull Random RANDOM = new SecureRandom(); + private static final Random RANDOM = new SecureRandom(); public ExportedPlayerBrush(@NotNull Builder builder) { this( @@ -91,19 +91,19 @@ public boolean maskEnabled() { return RANDOM; } - public static Builder builder(Brush brush) { + public static Builder builder(@NotNull Brush brush) { return new Builder(brush); } public static final class Builder { - private final @NotNull Brush brush; + private final Brush brush; - private @NotNull List blocks = Collections.emptyList(); - private @NotNull Axis axis = Settings.settings().GENERIC.DEFAULT_AXIS; - private @NotNull SurfaceMode surfaceMode = SurfaceMode.DISABLED; + private List blocks = Collections.emptyList(); + private Axis axis = Settings.settings().generic.DEFAULT_AXIS; + private SurfaceMode surfaceMode = SurfaceMode.DISABLED; - private @Nullable Material mask; + private Material mask; private int size; private int chance; diff --git a/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrush.java b/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrush.java index 9277292..d7108ab 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrush.java @@ -54,8 +54,8 @@ */ public final class PlayerBrush implements BrushSettings { - private final @NotNull PlayerBrushManager brushManager; - private final @NotNull Random random = new SecureRandom(); + private final PlayerBrushManager brushManager; + private final Random random = new SecureRandom(); private boolean maskEnabled; private boolean enabled; @@ -67,31 +67,31 @@ public final class PlayerBrush implements BrushSettings { private int falloffStrength; private int mixingStrength; private double angleHeightDifference; - private @NotNull Axis axis; - private @NotNull SurfaceMode surfaceMode; + private Axis axis; + private SurfaceMode surfaceMode; - private @NotNull Brush brush; - private @NotNull Material mask; - private final @NotNull List blocks = new ArrayList<>(); + private Brush brush; + private Material mask; + private final List blocks = new ArrayList<>(); - private final @NotNull Inventory gui; + private final Inventory gui; public PlayerBrush(@NotNull PlayerBrushManager brushManager) { this.brushManager = brushManager; - surfaceMode = Settings.settings().GENERIC.SURFACE_MODE; - maskEnabled = Settings.settings().GENERIC.MASK_ENABLED; - enabled = Settings.settings().GENERIC.ENABLED_BY_DEFAULT; - chance = Settings.settings().GENERIC.DEFAULT_CHANCE; - thickness = Settings.settings().THICKNESS.DEFAULT_THICKNESS; - fractureDistance = Settings.settings().FRACTURE.DEFAULT_FRACTURE_DISTANCE; - angleDistance = Settings.settings().ANGLE.DEFAULT_ANGLE_DISTANCE; - angleHeightDifference = Settings.settings().ANGLE.DEFAULT_ANGLE_HEIGHT_DIFFERENCE; - falloffStrength = Settings.settings().GENERIC.DEFAULT_FALLOFF_STRENGTH; - mixingStrength = Settings.settings().GENERIC.DEFAULT_MIXING_STRENGTH; - axis = Settings.settings().GENERIC.DEFAULT_AXIS; - size = Settings.settings().GENERIC.DEFAULT_SIZE; - mask = Settings.settings().GENERIC.DEFAULT_MASK; + surfaceMode = Settings.settings().generic.SURFACE_MODE; + maskEnabled = Settings.settings().generic.MASK_ENABLED; + enabled = Settings.settings().generic.ENABLED_BY_DEFAULT; + chance = Settings.settings().generic.DEFAULT_CHANCE; + thickness = Settings.settings().thickness.DEFAULT_THICKNESS; + fractureDistance = Settings.settings().fracture.DEFAULT_FRACTURE_DISTANCE; + angleDistance = Settings.settings().angle.DEFAULT_ANGLE_DISTANCE; + angleHeightDifference = Settings.settings().angle.DEFAULT_ANGLE_HEIGHT_DIFFERENCE; + falloffStrength = Settings.settings().generic.DEFAULT_FALLOFF_STRENGTH; + mixingStrength = Settings.settings().generic.DEFAULT_MIXING_STRENGTH; + axis = Settings.settings().generic.DEFAULT_AXIS; + size = Settings.settings().generic.DEFAULT_SIZE; + mask = Settings.settings().generic.DEFAULT_MASK; brush = brushManager.cycleForward(null); blocks.add(Material.STONE); gui = GUI.create(this); @@ -170,7 +170,7 @@ public int chance() { } @Override - public SurfaceMode surfaceMode() { + public @NotNull SurfaceMode surfaceMode() { return surfaceMode; } @@ -248,10 +248,10 @@ public void cycleBrushBackwards() { } public void setSize(int size) { - if (size <= Settings.settings().GENERIC.MAX_SIZE && size > 0) { + if (size <= Settings.settings().generic.MAX_SIZE && size > 0) { this.size = size; - } else if (size > Settings.settings().GENERIC.MAX_SIZE) { - this.size = Settings.settings().GENERIC.MAX_SIZE; + } else if (size > Settings.settings().generic.MAX_SIZE) { + this.size = Settings.settings().generic.MAX_SIZE; } else { this.size = 1; } @@ -264,13 +264,13 @@ public Inventory getInventory() { public void increaseBrushSize(boolean x10) { if (x10) { - if (size + 10 <= Settings.settings().GENERIC.MAX_SIZE) { + if (size + 10 <= Settings.settings().generic.MAX_SIZE) { size += 10; } else { - size = Settings.settings().GENERIC.MAX_SIZE; + size = Settings.settings().generic.MAX_SIZE; } } else { - if (size < Settings.settings().GENERIC.MAX_SIZE) { + if (size < Settings.settings().generic.MAX_SIZE) { size += 1; } } @@ -312,7 +312,7 @@ public void decreaseChance() { } public void increaseThickness() { - if (thickness < Settings.settings().THICKNESS.MAX_THICKNESS) { + if (thickness < Settings.settings().thickness.MAX_THICKNESS) { thickness += 1; } updateInventory(); @@ -326,7 +326,7 @@ public void decreaseThickness() { } public void increaseAngleDistance() { - if (angleDistance < Settings.settings().ANGLE.MAX_ANGLE_DISTANCE) { + if (angleDistance < Settings.settings().angle.MAX_ANGLE_DISTANCE) { angleDistance += 1; } updateInventory(); @@ -340,7 +340,7 @@ public void decreaseAngleDistance() { } public void increaseFractureDistance() { - if (this.fractureDistance < Settings.settings().FRACTURE.MAX_FRACTURE_DISTANCE) { + if (this.fractureDistance < Settings.settings().fracture.MAX_FRACTURE_DISTANCE) { this.fractureDistance += 1; } updateInventory(); @@ -359,8 +359,8 @@ public void increaseAngleHeightDifference(boolean d15) { } else { angleHeightDifference += 5.0; } - if (angleHeightDifference > Settings.settings().ANGLE.MAX_ANGLE_HEIGHT_DIFFERENCE) { - angleHeightDifference = Settings.settings().ANGLE.MAX_ANGLE_HEIGHT_DIFFERENCE; + if (angleHeightDifference > Settings.settings().angle.MAX_ANGLE_HEIGHT_DIFFERENCE) { + angleHeightDifference = Settings.settings().angle.MAX_ANGLE_HEIGHT_DIFFERENCE; } updateInventory(); } @@ -371,8 +371,8 @@ public void decreaseAngleHeightDifference(boolean d15) { } else { angleHeightDifference -= 5.0; } - if (angleHeightDifference < Settings.settings().ANGLE.MIN_ANGLE_HEIGHT_DIFFERENCE) { - angleHeightDifference = Settings.settings().ANGLE.MIN_ANGLE_HEIGHT_DIFFERENCE; + if (angleHeightDifference < Settings.settings().angle.MIN_ANGLE_HEIGHT_DIFFERENCE) { + angleHeightDifference = Settings.settings().angle.MIN_ANGLE_HEIGHT_DIFFERENCE; } updateInventory(); } diff --git a/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrushManager.java b/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrushManager.java index f08d4e8..751e35b 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrushManager.java +++ b/src/main/java/net/onelitefeather/bettergopaint/brush/PlayerBrushManager.java @@ -18,7 +18,6 @@ */ package net.onelitefeather.bettergopaint.brush; -import com.google.common.collect.ImmutableList; import net.onelitefeather.bettergopaint.objects.brush.AngleBrush; import net.onelitefeather.bettergopaint.objects.brush.Brush; import net.onelitefeather.bettergopaint.objects.brush.BucketBrush; @@ -46,20 +45,25 @@ */ public class PlayerBrushManager { - private final @NotNull HashMap playerBrushes = new HashMap<>(); - private final @NotNull List brushes = ImmutableList.of( - new SphereBrush(), - new SprayBrush(), - new SplatterBrush(), - new DiscBrush(), - new BucketBrush(), - new AngleBrush(), - new OverlayBrush(), - new UnderlayBrush(), - new FractureBrush(), - new GradientBrush(), - new PaintBrush() - ); + private final HashMap playerBrushes; + private final List brushes; + + public PlayerBrushManager() { + this.playerBrushes = new HashMap<>(); + this.brushes = List.of( + new SphereBrush(), + new SprayBrush(), + new SplatterBrush(), + new DiscBrush(), + new BucketBrush(), + new AngleBrush(), + new OverlayBrush(), + new UnderlayBrush(), + new FractureBrush(), + new GradientBrush(), + new PaintBrush() + ); + } /** * Retrieves the brush for the given player. @@ -151,5 +155,4 @@ public void removeBrush(@NotNull Player player) { } return brushes.getLast(); } - } diff --git a/src/main/java/net/onelitefeather/bettergopaint/command/GoPaintCommand.java b/src/main/java/net/onelitefeather/bettergopaint/command/GoPaintCommand.java index eb4b1d1..d98156d 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/command/GoPaintCommand.java +++ b/src/main/java/net/onelitefeather/bettergopaint/command/GoPaintCommand.java @@ -49,7 +49,7 @@ public boolean execute( return false; } PlayerBrush pb = plugin.getBrushManager().getBrush(p); - String prefix = Settings.settings().GENERIC.PREFIX; + String prefix = Settings.settings().generic.PREFIX; if (!p.hasPermission(BetterGoPaint.USE_PERMISSION)) { p.sendRichMessage(prefix + "You are lacking the permission bettergopaint.use"); return true; diff --git a/src/main/java/net/onelitefeather/bettergopaint/listeners/ConnectListener.java b/src/main/java/net/onelitefeather/bettergopaint/listeners/ConnectListener.java index 22d8089..86a8b9c 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/listeners/ConnectListener.java +++ b/src/main/java/net/onelitefeather/bettergopaint/listeners/ConnectListener.java @@ -23,18 +23,18 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerQuitEvent; +import org.jetbrains.annotations.NotNull; public class ConnectListener implements Listener { private final PlayerBrushManager brushManager; - public ConnectListener(PlayerBrushManager brushManager) { + public ConnectListener(@NotNull PlayerBrushManager brushManager) { this.brushManager = brushManager; } @EventHandler(priority = EventPriority.LOWEST) - public void onQuit(PlayerQuitEvent event) { + public void onQuit(@NotNull PlayerQuitEvent event) { brushManager.removeBrush(event.getPlayer()); } - } diff --git a/src/main/java/net/onelitefeather/bettergopaint/listeners/InteractListener.java b/src/main/java/net/onelitefeather/bettergopaint/listeners/InteractListener.java index 950da9f..da875ff 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/listeners/InteractListener.java +++ b/src/main/java/net/onelitefeather/bettergopaint/listeners/InteractListener.java @@ -61,7 +61,7 @@ public void onClick(PlayerInteractEvent event) { return; } - if (event.getAction().isLeftClick() && item.getType() == Settings.settings().GENERIC.DEFAULT_BRUSH) { + if (event.getAction().isLeftClick() && item.getType() == Settings.settings().generic.DEFAULT_BRUSH) { PlayerBrush brush = plugin.getBrushManager().getBrush(player); player.openInventory(brush.getInventory()); event.setCancelled(true); @@ -85,9 +85,9 @@ public void onClick(PlayerInteractEvent event) { return; } - final boolean hasNotWorldBaypassPermission = !player.hasPermission(BetterGoPaint.WORLD_BYPASS_PERMISSION); + final boolean hasNotWorldByePassPermission = !player.hasPermission(BetterGoPaint.WORLD_BYPASS_PERMISSION); - if (hasNotWorldBaypassPermission && Settings.settings().GENERIC.DISABLED_WORLDS + if (hasNotWorldByePassPermission && Settings.settings().generic.DISABLED_WORLDS .contains(location.getWorld().getName())) { return; } @@ -102,7 +102,7 @@ public void onClick(PlayerInteractEvent event) { //noinspection removal brushSettings = brush.map(current -> ExportedPlayerBrush.parse(current, itemMeta)).orElse(null); - } else if (item.getType().equals(Settings.settings().GENERIC.DEFAULT_BRUSH)) { + } else if (item.getType().equals(Settings.settings().generic.DEFAULT_BRUSH)) { brushSettings = plugin.getBrushManager().getBrush(player); } else { return; @@ -118,7 +118,7 @@ public void onClick(PlayerInteractEvent event) { ); } else { player.sendRichMessage( - Settings.settings().GENERIC.PREFIX + "Your brush is disabled, left click to enable the brush." + Settings.settings().generic.PREFIX + "Your brush is disabled, left click to enable the brush." ); } } diff --git a/src/main/java/net/onelitefeather/bettergopaint/listeners/InventoryListener.java b/src/main/java/net/onelitefeather/bettergopaint/listeners/InventoryListener.java index 431ccc8..b7d4b3b 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/listeners/InventoryListener.java +++ b/src/main/java/net/onelitefeather/bettergopaint/listeners/InventoryListener.java @@ -69,7 +69,7 @@ public void menuClick(InventoryClickEvent event) { if (event.getRawSlot() == 10 || event.getRawSlot() == 1 || event.getRawSlot() == 19) { if (event.getClick().equals(ClickType.LEFT)) { if (!event.getCursor().getType().isBlock()) { - if (!event.getCursor().getType().equals(Settings.settings().GENERIC.DEFAULT_BRUSH)) { + if (!event.getCursor().getType().equals(Settings.settings().generic.DEFAULT_BRUSH)) { playerBrush.export(event.getCursor()); } } diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/AngleBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/AngleBrush.java index 9c3a14f..378a4ba 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/AngleBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/AngleBrush.java @@ -30,9 +30,9 @@ public class AngleBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Only works on cliffs"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmRlNDQ4ZjBkYmU3NmJiOGE4MzJjOGYzYjJhMDNkMzViZDRlMjc4NWZhNWU4Mjk4YzI2MTU1MDNmNDdmZmEyIn19fQ=="; - private static final @NotNull String NAME = "Angle Brush"; + private static final String NAME = "Angle Brush"; + private static final String DESCRIPTION = "Only works on cliffs"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNmRlNDQ4ZjBkYmU3NmJiOGE4MzJjOGYzYjJhMDNkMzViZDRlMjc4NWZhNWU4Mjk4YzI2MTU1MDNmNDdmZmEyIn19fQ=="; public AngleBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/Brush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/Brush.java index b38b3b6..70001cc 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/Brush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/Brush.java @@ -37,7 +37,9 @@ public abstract class Brush { - private final @NotNull String name, description, head; + private final String name; + private final String description; + private final String head; protected Brush(@NotNull String name, @NotNull String description, @NotNull String head) { this.description = description; @@ -111,7 +113,7 @@ protected void setBlock( * @param player The player performing the edit. * @param edit A Consumer functional interface that defines the actions to be taken within the edit session. */ - protected void performEdit(Player player, Consumer edit) { + protected void performEdit(@NotNull Player player, @NotNull Consumer edit) { BukkitPlayer wrapped = BukkitAdapter.adapt(player); LocalSession localSession = WorldEdit.getInstance().getSessionManager().get(wrapped); try (EditSession editsession = localSession.createEditSession(wrapped)) { diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/BucketBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/BucketBrush.java index a5bc3d4..7be9e81 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/BucketBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/BucketBrush.java @@ -31,9 +31,9 @@ public class BucketBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Paints connected blocks\n§8with the same block type"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTAxOGI0NTc0OTM5Nzg4YTJhZDU1NTJiOTEyZDY3ODEwNjk4ODhjNTEyMzRhNGExM2VhZGI3ZDRjOTc5YzkzIn19fQ=="; - private static final @NotNull String NAME = "Bucket Brush"; + private static final String NAME = "Bucket Brush"; + private static final String DESCRIPTION = "Paints connected blocks\n§8with the same block type"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNTAxOGI0NTc0OTM5Nzg4YTJhZDU1NTJiOTEyZDY3ODEwNjk4ODhjNTEyMzRhNGExM2VhZGI3ZDRjOTc5YzkzIn19fQ=="; public BucketBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/DiscBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/DiscBrush.java index e476c1b..138b265 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/DiscBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/DiscBrush.java @@ -29,9 +29,9 @@ public class DiscBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Paints blocks in the\n§8same selected axis\n§8from the block you clicked"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjFmMjgyNTBkMWU0MjBhNjUxMWIwMzk2NDg2OGZjYTJmNTYzN2UzYWJhNzlmNGExNjNmNGE4ZDYxM2JlIn19fQ=="; - private static final @NotNull String NAME = "Disc Brush"; + private static final String NAME = "Disc Brush"; + private static final String DESCRIPTION = "Paints blocks in the\n§8same selected axis\n§8from the block you clicked"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjFmMjgyNTBkMWU0MjBhNjUxMWIwMzk2NDg2OGZjYTJmNTYzN2UzYWJhNzlmNGExNjNmNGE4ZDYxM2JlIn19fQ=="; public DiscBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/FractureBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/FractureBrush.java index 3725b04..6819958 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/FractureBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/FractureBrush.java @@ -30,9 +30,9 @@ public class FractureBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Places blocks in cracks/fisures"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjNkZjczZWVlNjIyNGM1YzVkOTQ4ZDJhMzQ1ZGUyNWYyMDhjYmQ5YWY3MTA4Y2UxZTFiNjFhNTg2ZGU5OGIyIn19fQ=="; - private static final @NotNull String NAME = "Fracture Brush"; + private static final String NAME = "Fracture Brush"; + private static final String DESCRIPTION = "Places blocks in cracks/fisures"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMjNkZjczZWVlNjIyNGM1YzVkOTQ4ZDJhMzQ1ZGUyNWYyMDhjYmQ5YWY3MTA4Y2UxZTFiNjFhNTg2ZGU5OGIyIn19fQ=="; public FractureBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/GradientBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/GradientBrush.java index 5b847f1..f9851a7 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/GradientBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/GradientBrush.java @@ -29,9 +29,9 @@ public class GradientBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Creates gradients"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjA2MmRhM2QzYjhmMWZkMzUzNDNjYzI3OWZiMGZlNWNmNGE1N2I1YWJjNDMxZmJiNzhhNzNiZjJhZjY3NGYifX19"; - private static final @NotNull String NAME = "Gradient Brush"; + private static final String NAME = "Gradient Brush"; + private static final String DESCRIPTION = "Creates gradients"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvNjA2MmRhM2QzYjhmMWZkMzUzNDNjYzI3OWZiMGZlNWNmNGE1N2I1YWJjNDMxZmJiNzhhNzNiZjJhZjY3NGYifX19"; public GradientBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/OverlayBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/OverlayBrush.java index 109cb16..c944675 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/OverlayBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/OverlayBrush.java @@ -30,9 +30,9 @@ public class OverlayBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Only paints blocks\n§8that have air above it"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGYzMWQ2Zjk2NTRmODc0ZWE5MDk3YWRlZWEwYzk2OTk2ZTc4ZTNmZDM3NTRmYmY5ZWJlOTYzYWRhZDliZTRjIn19fQ=="; - private static final @NotNull String NAME = "Overlay Brush"; + private static final String NAME = "Overlay Brush"; + private static final String DESCRIPTION = "Only paints blocks\n§8that have air above it"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZGYzMWQ2Zjk2NTRmODc0ZWE5MDk3YWRlZWEwYzk2OTk2ZTc4ZTNmZDM3NTRmYmY5ZWJlOTYzYWRhZDliZTRjIn19fQ=="; public OverlayBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/PaintBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/PaintBrush.java index 5004964..6cc6d11 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/PaintBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/PaintBrush.java @@ -37,9 +37,9 @@ public class PaintBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Paints strokes\n§8hold shift to end"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBiM2E5ZGZhYmVmYmRkOTQ5YjIxN2JiZDRmYTlhNDg2YmQwYzNmMGNhYjBkMGI5ZGZhMjRjMzMyZGQzZTM0MiJ9fX0="; - private static final @NotNull String NAME = "Paint Brush"; + private static final String NAME = "Paint Brush"; + private static final String DESCRIPTION = "Paints strokes\n§8hold shift to end"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvODBiM2E5ZGZhYmVmYmRkOTQ5YjIxN2JiZDRmYTlhNDg2YmQwYzNmMGNhYjBkMGI5ZGZhMjRjMzMyZGQzZTM0MiJ9fX0="; public PaintBrush() { super(NAME, DESCRIPTION, HEAD); @@ -53,7 +53,7 @@ public void paint( @NotNull Player player, @NotNull BrushSettings brushSettings ) { - String prefix = Settings.settings().GENERIC.PREFIX; + String prefix = Settings.settings().generic.PREFIX; List locations = selectedPoints.computeIfAbsent(player.getUniqueId(), ignored -> new ArrayList<>()); locations.add(target); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SphereBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SphereBrush.java index 4174870..e23d4e1 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SphereBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SphereBrush.java @@ -29,9 +29,9 @@ public class SphereBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Regular sphere brush"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmU5OGY0ODU2MDE0N2MwYTJkNGVkYzE3ZjZkOTg1ZThlYjVkOTRiZDcyZmM2MDc0NGE1YThmMmQ5MDVhMTgifX19"; - private static final @NotNull String NAME = "Sphere Brush"; + private static final String NAME = "Sphere Brush"; + private static final String DESCRIPTION = "Regular sphere brush"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvZmU5OGY0ODU2MDE0N2MwYTJkNGVkYzE3ZjZkOTg1ZThlYjVkOTRiZDcyZmM2MDc0NGE1YThmMmQ5MDVhMTgifX19"; public SphereBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SplatterBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SplatterBrush.java index fa3654d..8803a48 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SplatterBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SplatterBrush.java @@ -29,9 +29,9 @@ public class SplatterBrush extends Brush { - private static final @NotNull String DESCRIPTION = "More chance when closer\n§8to the clicked point\n§8and configurable chance"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzMzODI5MmUyZTY5ZjA5MDY5NGNlZjY3MmJiNzZmMWQ4Mzc1OGQxMjc0NGJiNmZmYzY4MzRmZGJjMWE5ODMifX19"; - private static final @NotNull String NAME = "Splatter Brush"; + private static final String NAME = "Splatter Brush"; + private static final String DESCRIPTION = "More chance when closer\n§8to the clicked point\n§8and configurable chance"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvMzMzODI5MmUyZTY5ZjA5MDY5NGNlZjY3MmJiNzZmMWQ4Mzc1OGQxMjc0NGJiNmZmYzY4MzRmZGJjMWE5ODMifX19"; public SplatterBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SprayBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SprayBrush.java index a49782b..e9fb5c3 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SprayBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/SprayBrush.java @@ -29,9 +29,9 @@ public class SprayBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Configurable random chance brush"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjg4MGY3NjVlYTgwZGVlMzcwODJkY2RmZDk4MTJlZTM2ZmRhODg0ODY5MmE4NDFiZWMxYmJkOWVkNTFiYTIyIn19fQ=="; - private static final @NotNull String NAME = "Spray Brush"; + private static final String NAME = "Spray Brush"; + private static final String DESCRIPTION = "Configurable random chance brush"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYjg4MGY3NjVlYTgwZGVlMzcwODJkY2RmZDk4MTJlZTM2ZmRhODg0ODY5MmE4NDFiZWMxYmJkOWVkNTFiYTIyIn19fQ=="; public SprayBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/UnderlayBrush.java b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/UnderlayBrush.java index d10f5e8..ecf24c0 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/brush/UnderlayBrush.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/brush/UnderlayBrush.java @@ -30,9 +30,9 @@ public class UnderlayBrush extends Brush { - private static final @NotNull String DESCRIPTION = "Only paints blocks\n§8that have no air above it"; - private static final @NotNull String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzIzNDQ2OTkwZjU4YjY1M2FiNWYwZTdhZjNmZGM3NTYwOTEyNzVmNGMzYzJkZDQxYzdkODYyZGQzZjkyZTg0YSJ9fX0="; - private static final @NotNull String NAME = "Underlay Brush"; + private static final String NAME = "Underlay Brush"; + private static final String DESCRIPTION = "Only paints blocks\n§8that have no air above it"; + private static final String HEAD = "eyJ0ZXh0dXJlcyI6eyJTS0lOIjp7InVybCI6Imh0dHA6Ly90ZXh0dXJlcy5taW5lY3JhZnQubmV0L3RleHR1cmUvYzIzNDQ2OTkwZjU4YjY1M2FiNWYwZTdhZjNmZGM3NTYwOTEyNzVmNGMzYzJkZDQxYzdkODYyZGQzZjkyZTg0YSJ9fX0="; public UnderlayBrush() { super(NAME, DESCRIPTION, HEAD); diff --git a/src/main/java/net/onelitefeather/bettergopaint/objects/other/Settings.java b/src/main/java/net/onelitefeather/bettergopaint/objects/other/Settings.java index 50650e6..8db7c30 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/objects/other/Settings.java +++ b/src/main/java/net/onelitefeather/bettergopaint/objects/other/Settings.java @@ -47,19 +47,19 @@ public void reload(BetterGoPaint plugin, File file) { } @Create - public GENERIC GENERIC; + public Generic generic; @Create - public THICKNESS THICKNESS; + public Thickness thickness; @Create - public ANGLE ANGLE; + public Angle angle; @Create - public FRACTURE FRACTURE; + public Fracture fracture; @Comment("This is related to generic settings") - public static class GENERIC { + public static class Generic { @Comment({ "Default brush item", @@ -102,7 +102,7 @@ public static class GENERIC { } @Comment("This is related to thickness settings") - public static class THICKNESS { + public static class Thickness { @Comment("Default thickness for some brushes") public int DEFAULT_THICKNESS = 1; @@ -113,7 +113,7 @@ public static class THICKNESS { } @Comment("This is related to angle settings") - public static class ANGLE { + public static class Angle { @Comment("Default angle distance for some brushes") public int DEFAULT_ANGLE_DISTANCE = 2; @@ -131,7 +131,7 @@ public static class ANGLE { } @Comment("This is related to fracture settings") - public static class FRACTURE { + public static class Fracture { @Comment("Default fracture for some brushes") public int DEFAULT_FRACTURE_DISTANCE = 2; diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/ConnectedBlocks.java b/src/main/java/net/onelitefeather/bettergopaint/utils/ConnectedBlocks.java index f11c6a6..8927a23 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/ConnectedBlocks.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/ConnectedBlocks.java @@ -21,6 +21,8 @@ import org.bukkit.Location; import org.bukkit.block.Block; import org.bukkit.block.BlockFace; +import org.jetbrains.annotations.Contract; +import org.jetbrains.annotations.NotNull; import java.util.Arrays; import java.util.HashSet; @@ -30,7 +32,7 @@ import java.util.Set; import java.util.stream.Stream; -public class ConnectedBlocks { +public final class ConnectedBlocks { private static final BlockFace[] faces = new BlockFace[]{ BlockFace.NORTH, @@ -41,6 +43,10 @@ public class ConnectedBlocks { BlockFace.DOWN, }; + private ConnectedBlocks() { + throw new UnsupportedOperationException("This class cannot be instantiated"); + } + /** * Returns a stream of connected blocks starting from a given location, based on a list of blocks. * Only blocks of the same type as the start block are considered. @@ -49,7 +55,9 @@ public class ConnectedBlocks { * @param blocks the list of blocks to check for connectivity * @return a stream of connected blocks */ - public static Stream getConnectedBlocks(Location loc, List blocks) { + @Contract(value = "_, _ -> new", pure = true) + public static @NotNull Stream getConnectedBlocks(@NotNull Location loc, @NotNull List blocks) { + if (blocks.isEmpty()) return Stream.empty(); Block startBlock = loc.getBlock(); Set connected = new HashSet<>(); Queue toCheck = new LinkedList<>(); @@ -72,5 +80,4 @@ public static Stream getConnectedBlocks(Location loc, List blocks) return connected.stream(); } - } diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/GUI.java b/src/main/java/net/onelitefeather/bettergopaint/utils/GUI.java index 90f719f..bab8d9d 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/GUI.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/GUI.java @@ -77,13 +77,13 @@ public static void update(@NotNull Inventory inventory, @NotNull PlayerBrush pla // goPaint toggle if (playerBrush.enabled()) { inventory.setItem(1, Items.create(Material.LIME_STAINED_GLASS_PANE, 1, "§7", "")); - inventory.setItem(10, Items.create(Settings.settings().GENERIC.DEFAULT_BRUSH, 1, "§6goPaint Brush", + inventory.setItem(10, Items.create(Settings.settings().generic.DEFAULT_BRUSH, 1, "§6goPaint Brush", "§a§lEnabled\n\n§7Left click with item to export\n§7Right click to toggle" )); inventory.setItem(19, Items.create(Material.LIME_STAINED_GLASS_PANE, 1, "§7", "")); } else { inventory.setItem(1, Items.create(Material.RED_STAINED_GLASS_PANE, 1, "§7", "")); - inventory.setItem(10, Items.create(Settings.settings().GENERIC.DEFAULT_BRUSH, 1, "§6goPaint Brush", + inventory.setItem(10, Items.create(Settings.settings().generic.DEFAULT_BRUSH, 1, "§6goPaint Brush", "§c§lDisabled\n\n§7Left click with item to export\n§7Right click to toggle" )); inventory.setItem(19, Items.create(Material.RED_STAINED_GLASS_PANE, 1, "§7", "")); diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/Height.java b/src/main/java/net/onelitefeather/bettergopaint/utils/Height.java index 5845856..49b64b0 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/Height.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/Height.java @@ -24,6 +24,10 @@ public class Height { + private Height() { + throw new UnsupportedOperationException("This class cannot be instantiated"); + } + /** * Gets the height of the nearest non-empty block at a given location. * @@ -109,5 +113,4 @@ public static double getAverageHeightDiffAngle(@NotNull Location location, int d double height = (maxHeightDiff2 + maxHeightDiff) / 2.0; return height / (distance * 2d); } - } diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/Sphere.java b/src/main/java/net/onelitefeather/bettergopaint/utils/Sphere.java index f635100..12d5798 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/Sphere.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/Sphere.java @@ -21,6 +21,7 @@ import org.bukkit.Axis; import org.bukkit.Location; import org.bukkit.block.Block; +import org.jetbrains.annotations.Contract; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -28,7 +29,11 @@ import java.util.List; import java.util.stream.Stream; -public class Sphere { +public final class Sphere { + + private Sphere() { + throw new UnsupportedOperationException("This class cannot be instantiated"); + } /** * Returns a stream of blocks within a specified radius from a given middle point. @@ -39,7 +44,9 @@ public class Sphere { * @param air Whether air blocks should be included. * @return A stream of blocks within the specified radius. */ - public static Stream getBlocksInRadius(@NotNull Location middlePoint, int radius, @Nullable Axis axis, boolean air) { + @Contract(value = "_, _, _, _ -> new", pure = true) + public static @NotNull Stream getBlocksInRadius(@NotNull Location middlePoint, int radius, @Nullable Axis axis, + boolean air) { List blocks = new ArrayList<>(); Location loc1 = middlePoint.clone().add(-radius / 2d, -radius / 2d, -radius / 2d).getBlock().getLocation(); Location loc2 = middlePoint.clone().add(radius / 2d, radius / 2d, radius / 2d).getBlock().getLocation(); @@ -95,5 +102,4 @@ public static Stream getBlocksInRadius(@NotNull Location middlePoint, int private static boolean passesDefaultChecks(@NotNull Location location, @NotNull Location middlePoint, int radius) { return location.distance(middlePoint) < radius / 2d; } - } diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/Surface.java b/src/main/java/net/onelitefeather/bettergopaint/utils/Surface.java index aa8e4e0..0ca21aa 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/Surface.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/Surface.java @@ -24,7 +24,11 @@ import org.bukkit.block.BlockFace; import org.jetbrains.annotations.NotNull; -public class Surface { +public final class Surface { + + private Surface() { + throw new UnsupportedOperationException("This class cannot be instantiated"); + } /** * Checks if the given block is on the surface. @@ -94,5 +98,4 @@ public static boolean isOnSurface(@NotNull Block block, @NotNull SurfaceMode sur case DISABLED -> true; }; } - } diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSpline.java b/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSpline.java index a30dcf3..ef76347 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSpline.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSpline.java @@ -18,7 +18,6 @@ */ package net.onelitefeather.bettergopaint.utils.curve; - import org.bukkit.Location; import org.bukkit.World; import org.bukkit.util.Vector; @@ -29,9 +28,9 @@ public class BezierSpline { - private final @NotNull LinkedList knotsList; + private final LinkedList knotsList; private Location[] knots; - private @NotNull BezierSplineSegment[] segments; + private BezierSplineSegment[] segments; private double length = 0; private Location anchorPoint; diff --git a/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSplineSegment.java b/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSplineSegment.java index 6e31b14..752f83b 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSplineSegment.java +++ b/src/main/java/net/onelitefeather/bettergopaint/utils/curve/BezierSplineSegment.java @@ -27,10 +27,10 @@ public class BezierSplineSegment { private final double[] lengths = new double[20]; - private @NotNull Location p0, p1, p2, p3; + private Location p0, p1, p2, p3; private float a, b, c; - private @Nullable Double xFlat, yFlat, zFlat; - private @NotNull Location r; + private Double xFlat, yFlat, zFlat; + private Location r; private double curveLength; public BezierSplineSegment(@NotNull Location p0, @NotNull Location p3) { From 481537a9e38e830508db2ba035199de181d9f921 Mon Sep 17 00:00:00 2001 From: theEvilReaper Date: Sat, 15 Jun 2024 22:11:44 +0200 Subject: [PATCH 3/3] Inline annotation usage --- .../bettergopaint/brush/BrushSettings.java | 20 +++++++------------ 1 file changed, 7 insertions(+), 13 deletions(-) diff --git a/src/main/java/net/onelitefeather/bettergopaint/brush/BrushSettings.java b/src/main/java/net/onelitefeather/bettergopaint/brush/BrushSettings.java index d0201a5..c6368cc 100644 --- a/src/main/java/net/onelitefeather/bettergopaint/brush/BrushSettings.java +++ b/src/main/java/net/onelitefeather/bettergopaint/brush/BrushSettings.java @@ -40,24 +40,21 @@ public interface BrushSettings { * * @return the axis used by the brush settings */ - @NotNull - Axis axis(); + @NotNull Axis axis(); /** * Returns the brush used by the brush settings. * * @return The brush used by the brush settings. */ - @NotNull - Brush brush(); + @NotNull Brush brush(); /** * Returns the list of blocks used by the brush settings. * * @return the list of blocks used by the brush settings */ - @NotNull - List blocks(); + @NotNull List blocks(); /** * Retrieves the mask material used by the brush settings. @@ -65,10 +62,9 @@ public interface BrushSettings { * @return The mask material. * @deprecated the mask-material is going to be replaced with a WorldEdit Mask */ - @NotNull @Deprecated(since = "1.1.0-SNAPSHOT") @ApiStatus.ScheduledForRemoval(inVersion = "1.2.0") - Material mask(); + @NotNull Material mask(); /** * Checks if the brush is enabled. @@ -89,7 +85,7 @@ public interface BrushSettings { * * @return The surface mode used by the brush settings. */ - SurfaceMode surfaceMode(); + @NotNull SurfaceMode surfaceMode(); /** * Returns the angle-height difference used by the brush settings. @@ -152,15 +148,13 @@ public interface BrushSettings { * * @return The randomly picked block material. */ - @NotNull - Material randomBlock(); + @NotNull Material randomBlock(); /** * The random number generator instance. * * @return a Random instance */ - @NotNull - Random random(); + @NotNull Random random(); }