mirror of
https://github.com/SimplexDevelopment/FreedomNetworkSuite.git
synced 2024-11-22 16:55:01 +00:00
Some more updates
This commit is contained in:
parent
6631aebaa0
commit
f459842eaf
@ -2,7 +2,7 @@ package me.totalfreedom.datura.punishment;
|
|||||||
|
|
||||||
import me.totalfreedom.base.CommonsBase;
|
import me.totalfreedom.base.CommonsBase;
|
||||||
import me.totalfreedom.service.Service;
|
import me.totalfreedom.service.Service;
|
||||||
import me.totalfreedom.utils.Shaper;
|
import me.totalfreedom.utils.ShapeUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
@ -53,25 +53,25 @@ public class Cager extends Service
|
|||||||
/**
|
/**
|
||||||
* This method generates a cube centered around the passed location,
|
* This method generates a cube centered around the passed location,
|
||||||
* made of the provided material. This method returns the passed location object.
|
* made of the provided material. This method returns the passed location object.
|
||||||
* We use the {@link Shaper} class to generate the cube, which allows us to define
|
* We use the {@link ShapeUtils} class to generate the cube, which allows us to define
|
||||||
* custom shapes using {@link DoubleUnaryOperator}s.
|
* custom shapes using {@link DoubleUnaryOperator}s.
|
||||||
*
|
*
|
||||||
* @param location The location to center the cube around.
|
* @param location The location to center the cube around.
|
||||||
* @param material The material to use for the cube.
|
* @param material The material to use for the cube.
|
||||||
* @return The center location of the cube (the passed location).
|
* @return The center location of the cube (the passed location).
|
||||||
* @see Shaper
|
* @see ShapeUtils
|
||||||
* @see DoubleUnaryOperator
|
* @see DoubleUnaryOperator
|
||||||
*/
|
*/
|
||||||
public Location createCage(final Location location, final Material material)
|
public Location createCage(final Location location, final Material material)
|
||||||
{
|
{
|
||||||
final Shaper shaper = new Shaper(location.getWorld(), 0.0, 4.0);
|
final ShapeUtils shapeUtils = new ShapeUtils(location.getWorld(), 0.0, 4.0);
|
||||||
final List<Location> cubed = new LinkedList<>();
|
final List<Location> cubed = new LinkedList<>();
|
||||||
cubed.addAll(shaper.generate(5, t -> t, t -> 4.0, t -> t));
|
cubed.addAll(shapeUtils.generate(5, t -> t, t -> 4.0, t -> t));
|
||||||
cubed.addAll(shaper.generate(5, t -> t, t -> 0.0, t -> t));
|
cubed.addAll(shapeUtils.generate(5, t -> t, t -> 0.0, t -> t));
|
||||||
cubed.addAll(shaper.generate(5, t -> 0.0, t -> t, t -> t));
|
cubed.addAll(shapeUtils.generate(5, t -> 0.0, t -> t, t -> t));
|
||||||
cubed.addAll(shaper.generate(5, t -> 4.0, t -> t, t -> t));
|
cubed.addAll(shapeUtils.generate(5, t -> 4.0, t -> t, t -> t));
|
||||||
cubed.addAll(shaper.generate(5, t -> t, t -> t, t -> 0.0));
|
cubed.addAll(shapeUtils.generate(5, t -> t, t -> t, t -> 0.0));
|
||||||
cubed.addAll(shaper.generate(5, t -> t, t -> t, t -> 4.0));
|
cubed.addAll(shapeUtils.generate(5, t -> t, t -> t, t -> 4.0));
|
||||||
|
|
||||||
for (final Location l : cubed)
|
for (final Location l : cubed)
|
||||||
{
|
{
|
||||||
|
@ -2,7 +2,7 @@ package me.totalfreedom.datura.sql;
|
|||||||
|
|
||||||
import me.totalfreedom.base.CommonsBase;
|
import me.totalfreedom.base.CommonsBase;
|
||||||
import me.totalfreedom.sql.SQL;
|
import me.totalfreedom.sql.SQL;
|
||||||
import me.totalfreedom.utils.Identity;
|
import me.totalfreedom.utils.container.Identity;
|
||||||
|
|
||||||
import java.sql.Connection;
|
import java.sql.Connection;
|
||||||
import java.sql.DriverManager;
|
import java.sql.DriverManager;
|
||||||
|
@ -7,7 +7,7 @@ import me.totalfreedom.security.Group;
|
|||||||
import me.totalfreedom.sql.SQL;
|
import me.totalfreedom.sql.SQL;
|
||||||
import me.totalfreedom.user.User;
|
import me.totalfreedom.user.User;
|
||||||
import me.totalfreedom.user.UserData;
|
import me.totalfreedom.user.UserData;
|
||||||
import me.totalfreedom.utils.FreedomLogger;
|
import me.totalfreedom.utils.logging.FreedomLogger;
|
||||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
@ -25,7 +25,7 @@ import me.totalfreedom.command.Commander;
|
|||||||
import me.totalfreedom.command.annotation.Base;
|
import me.totalfreedom.command.annotation.Base;
|
||||||
import me.totalfreedom.command.annotation.Info;
|
import me.totalfreedom.command.annotation.Info;
|
||||||
import me.totalfreedom.command.annotation.Permissive;
|
import me.totalfreedom.command.annotation.Permissive;
|
||||||
import me.totalfreedom.utils.FreedomMiniMessage;
|
import me.totalfreedom.utils.kyori.FreedomMiniMessage;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
@ -5,7 +5,7 @@ import me.totalfreedom.economy.CompletedTransaction;
|
|||||||
import me.totalfreedom.economy.EconomicEntity;
|
import me.totalfreedom.economy.EconomicEntity;
|
||||||
import me.totalfreedom.economy.TransactionLogger;
|
import me.totalfreedom.economy.TransactionLogger;
|
||||||
import me.totalfreedom.economy.TransactionResult;
|
import me.totalfreedom.economy.TransactionResult;
|
||||||
import me.totalfreedom.utils.FreedomLogger;
|
import me.totalfreedom.utils.logging.FreedomLogger;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
|
|
||||||
public class SimpleTransactionLogger implements TransactionLogger
|
public class SimpleTransactionLogger implements TransactionLogger
|
||||||
|
@ -4,7 +4,7 @@ import me.totalfreedom.api.Context;
|
|||||||
import me.totalfreedom.command.annotation.Completion;
|
import me.totalfreedom.command.annotation.Completion;
|
||||||
import me.totalfreedom.command.annotation.Subcommand;
|
import me.totalfreedom.command.annotation.Subcommand;
|
||||||
import me.totalfreedom.provider.ContextProvider;
|
import me.totalfreedom.provider.ContextProvider;
|
||||||
import me.totalfreedom.utils.FreedomLogger;
|
import me.totalfreedom.utils.logging.FreedomLogger;
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.totalfreedom.display;
|
package me.totalfreedom.display;
|
||||||
|
|
||||||
import me.totalfreedom.utils.FreedomAdventure;
|
import me.totalfreedom.utils.kyori.FreedomAdventure;
|
||||||
import org.bukkit.entity.HumanEntity;
|
import org.bukkit.entity.HumanEntity;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.event.inventory.InventoryType;
|
import org.bukkit.event.inventory.InventoryType;
|
||||||
|
@ -0,0 +1,157 @@
|
|||||||
|
package me.totalfreedom.particle;
|
||||||
|
|
||||||
|
import org.bukkit.Particle;
|
||||||
|
import org.bukkit.World;
|
||||||
|
|
||||||
|
import java.math.RoundingMode;
|
||||||
|
import java.text.DecimalFormat;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A utility class for the 24 different note colors available in Minecraft. Each note is represented as a double value
|
||||||
|
* between 0 and 1. Furthermore, each note is a multiple of 1/24 within that range of 0 to 1.
|
||||||
|
* <p>
|
||||||
|
* For example, the note G is represented as 1/24, or 0.042. The note C is represented as 6/24, or 0.25.
|
||||||
|
* <p>
|
||||||
|
* When spawning particles, the count must be set to 0 and the extra value set between 0 and 1. The extra value is the
|
||||||
|
* size of the note particle. To add a color, use one of the provided methods in this class for the xOffset value in
|
||||||
|
* {@link World#spawnParticle(Particle, double, double, double, int, double, double, double, double)}. The xOffset value
|
||||||
|
* is the note color, with the yOffset and zOffset values set to 0.
|
||||||
|
*/
|
||||||
|
public final class NoteWrapper
|
||||||
|
{
|
||||||
|
public static final double CYAN_NOTE_F_SHARP_LOW = 0;
|
||||||
|
public static final double CYAN_NOTE_F_SHARP_HIGH = 1;
|
||||||
|
|
||||||
|
private static final DecimalFormat FORMAT;
|
||||||
|
|
||||||
|
static
|
||||||
|
{
|
||||||
|
FORMAT = new DecimalFormat("#.###");
|
||||||
|
FORMAT.setRoundingMode(RoundingMode.HALF_UP);
|
||||||
|
}
|
||||||
|
|
||||||
|
private NoteWrapper()
|
||||||
|
{
|
||||||
|
throw new AssertionError();
|
||||||
|
}
|
||||||
|
|
||||||
|
private static double round(final double value)
|
||||||
|
{
|
||||||
|
return Double.parseDouble(FORMAT.format(value));
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double cyanNoteG()
|
||||||
|
{
|
||||||
|
return round(1 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteGSharp()
|
||||||
|
{
|
||||||
|
return round(2 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteA()
|
||||||
|
{
|
||||||
|
return round(3 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteASharp()
|
||||||
|
{
|
||||||
|
return round(4 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double magentaNoteB()
|
||||||
|
{
|
||||||
|
return round(5 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double redNoteC()
|
||||||
|
{
|
||||||
|
return round(6 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double yellowNoteCSharp()
|
||||||
|
{
|
||||||
|
return round(7 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double yellowNoteD()
|
||||||
|
{
|
||||||
|
return round(8 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double yellowNoteDSharpLow()
|
||||||
|
{
|
||||||
|
return round(9 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteE()
|
||||||
|
{
|
||||||
|
return round(10 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteF()
|
||||||
|
{
|
||||||
|
return round(11 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteFSharp()
|
||||||
|
{
|
||||||
|
return round(12 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double lightBlueNoteG()
|
||||||
|
{
|
||||||
|
return round(13 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double blueNoteGSharp()
|
||||||
|
{
|
||||||
|
return round(14 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double purpleNoteA()
|
||||||
|
{
|
||||||
|
return round(15 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double purpleNoteASharp()
|
||||||
|
{
|
||||||
|
return round(16 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double purpleNoteB()
|
||||||
|
{
|
||||||
|
return round(17 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteC()
|
||||||
|
{
|
||||||
|
return round(18 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteCSharp()
|
||||||
|
{
|
||||||
|
return round(19 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double grayNoteD()
|
||||||
|
{
|
||||||
|
return round(20 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double yellowNoteDSharpHigh()
|
||||||
|
{
|
||||||
|
return round(21 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double greenNoteE()
|
||||||
|
{
|
||||||
|
return round(22 / 24D);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static double lightBlueNoteF()
|
||||||
|
{
|
||||||
|
return round(23 / 24D);
|
||||||
|
}
|
||||||
|
}
|
@ -1,13 +1,34 @@
|
|||||||
package me.totalfreedom.particle;
|
package me.totalfreedom.particle;
|
||||||
|
|
||||||
|
import org.bukkit.Note;
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
|
|
||||||
public enum TrailType
|
public enum TrailType
|
||||||
{
|
{
|
||||||
|
/**
|
||||||
|
* Default trail type. Uses {@link Particle#REDSTONE}. This trail is colorable. Use {@link Particle.DustOptions} to
|
||||||
|
* set the particle properties.
|
||||||
|
*/
|
||||||
DEFAULT(Particle.REDSTONE),
|
DEFAULT(Particle.REDSTONE),
|
||||||
|
/**
|
||||||
|
* A trail that uses {@link Particle#HEART}. This is not modifiable and will always have the same size shape and
|
||||||
|
* color.
|
||||||
|
*/
|
||||||
HEART(Particle.HEART),
|
HEART(Particle.HEART),
|
||||||
|
/**
|
||||||
|
* A trail that uses {@link Particle#FLAME}. This is not modifiable and will always have the same size shape and
|
||||||
|
* color.
|
||||||
|
*/
|
||||||
FLAME(Particle.FLAME),
|
FLAME(Particle.FLAME),
|
||||||
|
/**
|
||||||
|
* A trail that uses {@link Particle#REDSTONE}. This particle however is rainbow-colored by default and cannot have
|
||||||
|
* additional options set.
|
||||||
|
*/
|
||||||
RAINBOW(Particle.REDSTONE),
|
RAINBOW(Particle.REDSTONE),
|
||||||
|
/**
|
||||||
|
* A trail that uses {@link Particle#NOTE}. This is colorable, however you are limited to the 24 different note
|
||||||
|
* colors available in Minecraft.
|
||||||
|
*/
|
||||||
MUSIC(Particle.NOTE),
|
MUSIC(Particle.NOTE),
|
||||||
SNOW(Particle.SNOWBALL),
|
SNOW(Particle.SNOWBALL),
|
||||||
SPELL(Particle.SPELL_MOB),
|
SPELL(Particle.SPELL_MOB),
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
package me.totalfreedom.service;
|
package me.totalfreedom.service;
|
||||||
|
|
||||||
import me.totalfreedom.utils.Pair;
|
import me.totalfreedom.utils.container.Pair;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
import org.bukkit.scheduler.BukkitScheduler;
|
import org.bukkit.scheduler.BukkitScheduler;
|
||||||
|
@ -7,13 +7,13 @@ import java.util.LinkedList;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.function.DoubleUnaryOperator;
|
import java.util.function.DoubleUnaryOperator;
|
||||||
|
|
||||||
public class Shaper
|
public class ShapeUtils
|
||||||
{
|
{
|
||||||
private final double start;
|
private final double start;
|
||||||
private final double end;
|
private final double end;
|
||||||
private final World world;
|
private final World world;
|
||||||
|
|
||||||
public Shaper(final World world, final double start, final double end)
|
public ShapeUtils(final World world, final double start, final double end)
|
||||||
{
|
{
|
||||||
this.start = start;
|
this.start = start;
|
||||||
this.end = end;
|
this.end = end;
|
@ -1,4 +1,4 @@
|
|||||||
package me.totalfreedom.utils;
|
package me.totalfreedom.utils.container;
|
||||||
|
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
@ -1,4 +1,4 @@
|
|||||||
package me.totalfreedom.utils;
|
package me.totalfreedom.utils.container;
|
||||||
|
|
||||||
public record Pair<K, V>(K key, V value)
|
public record Pair<K, V>(K key, V value)
|
||||||
{
|
{
|
@ -0,0 +1,30 @@
|
|||||||
|
package me.totalfreedom.utils.container;
|
||||||
|
|
||||||
|
public final class Tuple<A, B, C>
|
||||||
|
{
|
||||||
|
private final A a;
|
||||||
|
private final B b;
|
||||||
|
private final C c;
|
||||||
|
|
||||||
|
public Tuple(final A a, final B b, final C c)
|
||||||
|
{
|
||||||
|
this.a = a;
|
||||||
|
this.b = b;
|
||||||
|
this.c = c;
|
||||||
|
}
|
||||||
|
|
||||||
|
public A getPrimary()
|
||||||
|
{
|
||||||
|
return a;
|
||||||
|
}
|
||||||
|
|
||||||
|
public B getSecondary()
|
||||||
|
{
|
||||||
|
return b;
|
||||||
|
}
|
||||||
|
|
||||||
|
public C getTertiary()
|
||||||
|
{
|
||||||
|
return c;
|
||||||
|
}
|
||||||
|
}
|
@ -0,0 +1,30 @@
|
|||||||
|
package me.totalfreedom.utils.container;
|
||||||
|
|
||||||
|
public class UnaryTuple<T>
|
||||||
|
{
|
||||||
|
private final T primary;
|
||||||
|
private final T secondary;
|
||||||
|
private final T tertiary;
|
||||||
|
|
||||||
|
public UnaryTuple(final T primary, final T secondary, final T tertiary)
|
||||||
|
{
|
||||||
|
this.primary = primary;
|
||||||
|
this.secondary = secondary;
|
||||||
|
this.tertiary = tertiary;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getPrimary()
|
||||||
|
{
|
||||||
|
return primary;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getSecondary()
|
||||||
|
{
|
||||||
|
return secondary;
|
||||||
|
}
|
||||||
|
|
||||||
|
public T getTertiary()
|
||||||
|
{
|
||||||
|
return tertiary;
|
||||||
|
}
|
||||||
|
}
|
@ -1,4 +1,4 @@
|
|||||||
package me.totalfreedom.utils;
|
package me.totalfreedom.utils.kyori;
|
||||||
|
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
import net.kyori.adventure.text.serializer.plain.PlainTextComponentSerializer;
|
@ -19,7 +19,7 @@
|
|||||||
* THE SOFTWARE.
|
* THE SOFTWARE.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package me.totalfreedom.utils;
|
package me.totalfreedom.utils.kyori;
|
||||||
|
|
||||||
import net.kyori.adventure.text.Component;
|
import net.kyori.adventure.text.Component;
|
||||||
import net.kyori.adventure.text.format.TextDecoration;
|
import net.kyori.adventure.text.format.TextDecoration;
|
@ -1,4 +1,4 @@
|
|||||||
package me.totalfreedom.utils;
|
package me.totalfreedom.utils.kyori;
|
||||||
|
|
||||||
import me.totalfreedom.base.CommonsBase;
|
import me.totalfreedom.base.CommonsBase;
|
||||||
import net.kyori.adventure.chat.ChatType;
|
import net.kyori.adventure.chat.ChatType;
|
@ -1,5 +1,6 @@
|
|||||||
package me.totalfreedom.utils;
|
package me.totalfreedom.utils.logging;
|
||||||
|
|
||||||
|
import me.totalfreedom.utils.kyori.FreedomAdventure;
|
||||||
import net.kyori.adventure.audience.Audience;
|
import net.kyori.adventure.audience.Audience;
|
||||||
import net.kyori.adventure.chat.ChatType;
|
import net.kyori.adventure.chat.ChatType;
|
||||||
import net.kyori.adventure.chat.SignedMessage;
|
import net.kyori.adventure.chat.SignedMessage;
|
Loading…
Reference in New Issue
Block a user