Index
All Classes and Interfaces|All Packages|Serialized Form
A
- AbstractRegistry<T,
K> - Class in net.paulem.arcana.registry -
A basic abstract implementation of Registry
- AbstractRegistry(Supplier<Map<K, T>>) - Constructor for class net.paulem.arcana.registry.AbstractRegistry
-
Creates a new registry backed by the map produced by the given supplier.
- ACosTable - Class in net.paulem.arcana.math
-
A precomputed lookup table for
Math.acos(double), used to approximate the arc cosine faster than callingMath.acosdirectly. - ArcanaAPI<P> - Class in net.paulem.arcana
-
Central entry point of the Arcana API for a given plugin.
- ArcanaAPI(P) - Constructor for class net.paulem.arcana.ArcanaAPI
-
Creates a new ArcanaAPI bound to the given plugin.
- areEquals(UUID, UUID) - Static method in class net.paulem.arcana.utils.UUIDUtils
-
Checks whether two UUIDs are equal.
- areEquals(UUID, Entity) - Static method in class net.paulem.arcana.utils.UUIDUtils
-
Checks whether a UUID matches an entity's unique identifier.
- areEquals(Entity, UUID) - Static method in class net.paulem.arcana.utils.UUIDUtils
-
Checks whether an entity's unique identifier matches the given UUID.
- areEquals(Entity, Entity) - Static method in class net.paulem.arcana.utils.UUIDUtils
-
Checks whether two entities share the same unique identifier.
- ArraySectionContainer<S,
K> - Class in net.paulem.arcana.regions.container.blocks -
A fixed-size
SectionContainerimplementation backed by a plain array, indexed directly by position. - ArraysUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with arrays and collections, such as picking random elements, computing differences, excluding elements, and reversing arrays.
- ArraysUtils() - Constructor for class net.paulem.arcana.utils.ArraysUtils
- asBytes(UUID) - Static method in class net.paulem.arcana.uuid.UuidConversion
-
Converts a
UUIDto its raw 16-byte representation, with the most significant bits written first, followed by the least significant bits. - asLong() - Method in class net.paulem.arcana.regions.ChunkKey
-
Packs this key's x and z coordinates into a single long value, suitable for use as a compact map key or for reconstruction via
ChunkKey.fromLong(long). - asUuid(byte[]) - Static method in class net.paulem.arcana.uuid.UuidConversion
-
Reconstructs a
UUIDfrom a 16-byte array, as produced byUuidConversion.asBytes(UUID).
B
- BlockUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with blocks and locations, such as enumerating nearby locations, walking between two points, and converting block faces to vectors.
- BlockUtils() - Constructor for class net.paulem.arcana.utils.BlockUtils
- build() - Method in class net.paulem.arcana.hook.HookCondition.HookConditionBuilder
-
Builds a new
HookConditioncontaining all the keys and values registered so far.
C
- capitalizeWords(String) - Static method in class net.paulem.arcana.utils.StringUtils
-
Capitalizes the first letter of every whitespace-separated word in the given string and lowercases the rest of each word.
- ChunkBlockContainer<S,
K> - Class in net.paulem.arcana.regions.container -
Represents a container for managing and organizing data within a specific chunk of the world.
- ChunkKey - Class in net.paulem.arcana.regions
-
Represents the coordinates of a chunk, identified by its x and z chunk coordinates.
- ChunkSectionBlockContainer<S,
K> - Class in net.paulem.arcana.regions.container -
Represents a container for managing blocks within a specific vertical section of a chunk.
- ClassUtils - Class in net.paulem.arcana.utils
-
Utility methods for reflectively checking the presence of classes on the classpath.
- ClassUtils() - Constructor for class net.paulem.arcana.utils.ClassUtils
- clear() - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Clears all holders from every section in this chunk container.
- clear() - Method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
-
Removes every holder stored in this section.
- compress(byte[]) - Static method in class net.paulem.arcana.utils.ZLibUtils
-
Compresses the input byte array using the ZLIB compression algorithm.
- Config - Annotation Interface in net.paulem.arcana.config
-
An autoconfig like config system.
- ConfigData - Interface in net.paulem.arcana.config
-
Marker interface for classes that hold config values loaded through
ArcanaAPI.loadConfig(Class, org.bukkit.configuration.ConfigurationSection). - ConfigEntry - Annotation Interface in net.paulem.arcana.config
-
An annotation to mark a field as a config entry.
- convertBytesToInt(byte[], int) - Static method in class net.paulem.arcana.math.FastRandom
-
Take four bytes from the specified position in the specified block and convert them into a 32-bit int, using the big-endian convention.
- convertBytesToInts(byte[]) - Static method in class net.paulem.arcana.math.FastRandom
-
Convert an array of bytes into an array of ints. 4 bytes from the input data map to a single int in the output data.
- copyOf(Map<K, V>) - Static method in class net.paulem.arcana.utils.MapUtils
-
Creates an unmodifiable shallow copy of the given map.
- copyTo(SectionContainer<S, K>) - Method in interface net.paulem.arcana.regions.container.blocks.SectionContainer
-
Copies every entry from this container into the given target container.
- create(float, int) - Static method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
-
Creates a new
DynamicSectionContainerwith the given load factor and capacity. - create(int) - Static method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
-
Creates a new, empty
ArraySectionContainerwith the given fixed capacity. - create(int) - Static method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
-
Creates a new
DynamicSectionContainerwith the given capacity and the default load factor.
D
- decompress(byte[]) - Static method in class net.paulem.arcana.utils.ZLibUtils
-
Decompresses a given byte array that was compressed using the ZLIB compression algorithm.
- difference(List<T>, List<T>) - Static method in class net.paulem.arcana.utils.ArraysUtils
-
Computes the set difference between two lists, i.e. the elements of
athat are not present inb. - distanceTo(ChunkKey) - Method in class net.paulem.arcana.regions.ChunkKey
-
Computes the Manhattan distance, in chunks, between this key and another.
- doubleProbability(double) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Determines if an event occurs based on a given probability (double).
- DynamicSectionContainer<S,
K> - Class in net.paulem.arcana.regions.container.blocks -
A container implementation that dynamically transitions between a
MapContainerand anArraySectionContainerbased on the load factor and size constraints.
E
- EntityUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with entities, such as finding nearby entities, checking line-of-sight, and teleporting to the ground.
- EntityUtils() - Constructor for class net.paulem.arcana.utils.EntityUtils
- equals(Object) - Method in class net.paulem.arcana.regions.ChunkKey
-
Compares this key to another object for equality based on chunk x and z coordinates.
- excludeElements(T[], Collection<T>) - Static method in class net.paulem.arcana.utils.ArraysUtils
-
Creates a copy of the given array with all elements contained in
toExcluderemoved.
F
- faceToVector(BlockFace) - Static method in class net.paulem.arcana.utils.BlockUtils
-
Converts a
BlockFaceto a unit vector pointing in that direction. - faceToVector(BlockFace, int) - Static method in class net.paulem.arcana.utils.BlockUtils
-
Converts a
BlockFaceto a vector pointing in that direction, scaled bydistance. - FastRandom - Class in net.paulem.arcana.math
-
An RNG class that's faster and hopefully better than java.util.Random.
- FastRandom() - Constructor for class net.paulem.arcana.math.FastRandom
-
Creates a new RNG and seeds it using the default seeding strategy.
- FastRandom(byte[]) - Constructor for class net.paulem.arcana.math.FastRandom
-
Creates an RNG and seeds it with the specified seed data.
- FastRandom(long) - Constructor for class net.paulem.arcana.math.FastRandom
- FastRandomUtils - Class in net.paulem.arcana.math
-
Utility class for generating random values using
FastRandom.
This class provides methods for generating random booleans, bytes, integers, longs, doubles, and floats with optional range constraints and probability checks.
BecauseFastRandomis not thread-safe, this class keeps oneFastRandominstance per thread in aThreadLocal, so all static methods here can safely be called concurrently from multiple threads. - FastRandomUtils() - Constructor for class net.paulem.arcana.math.FastRandomUtils
- floatProbability(float) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Determines if an event occurs based on a given probability (float).
This method is less precise thanFastRandomUtils.doubleProbability(double), but consumes less memory - freeze() - Method in class net.paulem.arcana.registry.NewFrozenRegistry
-
Freezes this registry, preventing any further registrations.
- fromChunk(Chunk) - Static method in class net.paulem.arcana.regions.ChunkKey
-
Creates a
ChunkKeyfrom the coordinates of the given chunk. - fromCoordinates(int, int) - Static method in class net.paulem.arcana.regions.ChunkKey
-
Creates a
ChunkKeyfrom block coordinates, converting them to chunk coordinates. - fromLocation(Location) - Static method in class net.paulem.arcana.regions.ChunkKey
-
Creates a
ChunkKeyfor the chunk containing the given location. - fromLong(long) - Static method in class net.paulem.arcana.regions.ChunkKey
-
Creates a
ChunkKeyfrom a packed long representation, as produced byChunkKey.asLong(). - FrozenRegistry<T,
K> - Class in net.paulem.arcana.registry -
Represents a registry that can not be registered too after creation
- FrozenRegistry(Supplier<Map<K, T>>) - Constructor for class net.paulem.arcana.registry.FrozenRegistry
-
Creates a new frozen registry, copying the entries from the map produced by the given supplier so it can never be modified after creation.
G
- get() - Method in class net.paulem.arcana.uuid.OfflineUUID
-
Computes the offline-mode UUID derived from this instance's player name, the same way vanilla Minecraft derives UUIDs for offline-mode servers.
- get(int) - Method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
-
Retrieves the holder stored at the given position.
- get(int) - Method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
-
Retrieves the holder at the given position from the currently active underlying container.
- get(int) - Method in class net.paulem.arcana.regions.container.blocks.MapContainer
-
Retrieves the holder stored at the given position.
- get(int) - Method in interface net.paulem.arcana.regions.container.blocks.SectionContainer
-
Retrieves the holder stored at the given position.
- get(String) - Static method in class net.paulem.arcana.uuid.OfflineUUID
-
Computes the offline-mode UUID for the given player name.
- get(Supplier<K>) - Method in class net.paulem.arcana.hook.Hook
-
Resolves the hooked implementation for the key produced by the given supplier.
- get(K) - Method in class net.paulem.arcana.hook.HookCondition
-
Returns the value registered for the given key.
- get(K) - Method in class net.paulem.arcana.registry.AbstractRegistry
-
Fetches an entry from the registry
- get(K) - Method in interface net.paulem.arcana.registry.Registry
-
Fetches an entry from the registry
- get(Player) - Static method in class net.paulem.arcana.uuid.OfflineUUID
-
Computes the offline-mode UUID for the given player, based on their name.
- getAcos(double) - Method in class net.paulem.arcana.math.ACosTable
-
Returns the approximate arc cosine of the given value, read from the precomputed table.
- getAll() - Method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
-
Builds a map of every occupied position to its holder.
- getAll() - Method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
- getAll() - Method in class net.paulem.arcana.regions.container.blocks.MapContainer
- getAll() - Method in interface net.paulem.arcana.regions.container.blocks.SectionContainer
- getAllHolders() - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
- getAllHolders() - Method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
- getAllHolders() - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
- getAllHolders() - Method in interface net.paulem.arcana.regions.container.SubContainerHolderAccessor
- getAllHolders() - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
- getAllHolders(Class<T>) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Retrieves the data of every holder across all world containers whose data is an instance of the given type.
- getBlocksAround(Location, int, int, int) - Static method in class net.paulem.arcana.utils.BlockUtils
-
Returns every location inside the cuboid centered on
center, extendingradiusX,radiusYandradiusZblocks on each axis (inclusive). - getBlocksBetween(Location, Location) - Static method in class net.paulem.arcana.utils.BlockUtils
-
Walks from
loc1towardsloc2and collects the blocks encountered along the way. - getBlockX() - Method in class net.paulem.arcana.regions.ChunkKey
- getBlockZ() - Method in class net.paulem.arcana.regions.ChunkKey
- getBottomGround(Location) - Static method in class net.paulem.arcana.utils.EntityUtils
-
Finds the location of the first solid ground below the given location, scanning downward from its current Y position to the world's minimum height.
- getChunkContainer(ChunkKey) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Retrieves the container for the given chunk, without creating it.
- getChunkX() - Method in class net.paulem.arcana.regions.ChunkKey
- getChunkZ() - Method in class net.paulem.arcana.regions.ChunkKey
- getClass(String) - Static method in class net.paulem.arcana.utils.ClassUtils
-
Attempts to retrieve the
Classobject for the fully qualified class name provided. - getCorrespondType(C) - Static method in class net.paulem.arcana.utils.PersistentDataUtils
-
Resolves the built-in
PersistentDataTypethat corresponds to the runtime type of the given value. - getEntitiesTargeting(Player, double) - Static method in class net.paulem.arcana.utils.EntityUtils
-
Finds all living entities within
distblocks ofplayerthat the player is currently looking at. - getHolder(int, int, int) - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Retrieves the tracked object at the given coordinates, using the vertical section that y falls into.
- getHolder(int, int, int) - Method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
-
Retrieves the tracked object at the given coordinates, relative to this section.
- getHolder(int, int, int) - Method in interface net.paulem.arcana.regions.container.SubContainerHolderAccessor
-
Retrieves the tracked object at the given block coordinates.
- getHolder(int, int, int) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Retrieves the tracked object at the given coordinates, using the chunk container that contains them.
- getHolder(K) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Retrieves the tracked object located at the given key, across all worlds.
- getHolderAt(K) - Method in class net.paulem.arcana.regions.Tracker
-
Retrieves the tracked object registered at the given key, if any.
- getIntermediary(Location, Location, double) - Static method in class net.paulem.arcana.utils.LocationUtils
-
Computes a series of locations between
baseandend, evenly spaced along the Y axis bystepsIntervalblocks. - getJ17FastRandom() - Static method in class net.paulem.arcana.math.FastRandom
- getKey() - Method in interface net.paulem.arcana.regions.Tracked
- getKey() - Method in interface net.paulem.arcana.registry.RegistryKey
- getNearestEntity(Entity, double, Class<T>) - Static method in class net.paulem.arcana.utils.EntityUtils
-
Finds the closest entity of type
filterClasstoentitywithindistblocks. - getOrCreateChunkContainer(ChunkKey) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Retrieves the container for the given chunk, creating it first if it doesn't exist yet.
- getOrCreateSection(int) - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Retrieves the vertical section at the given index, creating it first if it doesn't exist yet.
- getOrCreateWorldContainer(UUID) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Retrieves the container for the given world, creating it first if it doesn't exist yet.
- getOrCreateWorldContainer(World) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Retrieves the container for the given world, creating it first if it doesn't exist yet.
- getOrDefault(K, Supplier<T>) - Method in class net.paulem.arcana.registry.AbstractRegistry
-
Fetches the value at the given key or a provided default key
- getOrDefault(K, Supplier<T>) - Method in interface net.paulem.arcana.registry.Registry
-
Fetches the value at the given key or a provided default key
- getOrDefault(K, T) - Method in class net.paulem.arcana.registry.AbstractRegistry
-
Fetches the value at the given key or a provided default key
- getOrDefault(K, T) - Method in interface net.paulem.arcana.registry.Registry
-
Fetches the value at the given key or a provided default key
- getOrNull(K) - Method in class net.paulem.arcana.registry.AbstractRegistry
-
Fetches an entry from the registry
- getOrNull(K) - Method in interface net.paulem.arcana.registry.Registry
-
Fetches an entry from the registry
- getOrThrow(K) - Method in class net.paulem.arcana.registry.AbstractRegistry
-
Fetches an entry from the registry using the specified key or throws an exception if no entry exists.
- getOrThrow(K) - Method in interface net.paulem.arcana.registry.Registry
-
Fetches an entry from the registry using the specified key or throws an exception if no entry exists.
- getRandom(Collection<T>) - Static method in class net.paulem.arcana.utils.ArraysUtils
-
Picks a random element from the given collection.
- getRandom(List<T>) - Static method in class net.paulem.arcana.utils.ArraysUtils
-
Picks a random element from the given list.
- getRandom(T[]) - Static method in class net.paulem.arcana.utils.ArraysUtils
-
Picks a random element from the given array.
- getRelative(int, int) - Method in class net.paulem.arcana.regions.ChunkKey
-
Creates a new
ChunkKeyoffset from this one by the given amount of chunks. - getSection(int) - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Retrieves the vertical section at the given index, without creating it.
- getSeed() - Method in class net.paulem.arcana.math.FastRandom
- getWorld() - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
- getWorld() - Method in interface net.paulem.arcana.regions.WorldKey
- getWorldContainer(UUID) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Retrieves the container for the given world, without creating it.
- getWorldContainer(World) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Retrieves the container for the given world, without creating it.
- getX() - Method in interface net.paulem.arcana.regions.WorldKey
- getY() - Method in interface net.paulem.arcana.regions.WorldKey
- getZ() - Method in interface net.paulem.arcana.regions.WorldKey
- GlobalBlockContainer<S,
K> - Class in net.paulem.arcana.regions.container -
A container that holds all the block containers for all worlds.
H
- handleChunkLoad(Chunk) - Method in class net.paulem.arcana.regions.Tracker
-
Called when a chunk is loaded, allowing implementations to populate the tracker with the tracked objects contained in that chunk.
- handleChunkUnload(Chunk) - Method in class net.paulem.arcana.regions.Tracker
-
Called when a chunk is unloaded.
- hashCode() - Method in class net.paulem.arcana.regions.ChunkKey
- Holder<T,
K> - Class in net.paulem.arcana.regions -
Represents a holder that encapsulates spatial coordinates (x, y, z) and a data object of type T.
- Holder(int, int, int, T) - Constructor for class net.paulem.arcana.regions.Holder
-
Creates a new holder for the given data at the specified coordinates.
- Hook<H,
K> - Class in net.paulem.arcana.hook -
Base class for hooks resolving an optional third-party implementation of type
H, chosen based on a key of typeK(typically derived from what's currently available on the server), through aHookConditionmapping keys to lazy suppliers of the implementation. - Hook(ArcanaAPI<?>, HookCondition<K, Supplier<H>>) - Constructor for class net.paulem.arcana.hook.Hook
-
Creates a new Hook.
- HookCondition<K,
V> - Class in net.paulem.arcana.hook -
A key-to-value mapping used by
Hookto resolve which implementation to use for a given key. - HookCondition(Map<K, V>) - Constructor for class net.paulem.arcana.hook.HookCondition
-
Creates a new HookCondition backed by the given map.
- HookCondition.HookConditionBuilder<K,
V> - Class in net.paulem.arcana.hook -
A builder for
HookConditioninstances. - HookConditionBuilder() - Constructor for class net.paulem.arcana.hook.HookCondition.HookConditionBuilder
I
- init() - Method in class net.paulem.arcana.ArcanaAPI
-
Initializes this API instance: registers it as the singleton returned by
getInstance()and logs that initialization completed. - INSTANCE - Static variable in class net.paulem.arcana.math.FastRandom
- invertArray(T[]) - Static method in class net.paulem.arcana.utils.ArraysUtils
-
Reverses the given array in place.
- isClassPresent(String) - Static method in class net.paulem.arcana.utils.ClassUtils
-
Checks if the given class is present in the classpath.
- isEmpty() - Method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
- isEmpty() - Method in class net.paulem.arcana.regions.container.blocks.MapContainer
- isEmpty() - Method in interface net.paulem.arcana.regions.container.blocks.SectionContainer
- isInChunk(Chunk) - Method in class net.paulem.arcana.regions.ChunkKey
-
Checks whether this key refers to the same coordinates as the given chunk.
- isLookingAt(Player, LivingEntity) - Static method in class net.paulem.arcana.utils.EntityUtils
-
Checks whether
playeris looking atlivingEntity. - isPaper() - Static method in class net.paulem.arcana.utils.Versioning
-
Checks whether the server is running Paper (or a fork of it), by testing for the presence of a Paper-specific class on the classpath.
- isPost(int) - Static method in class net.paulem.arcana.utils.Versioning
-
Checks whether the running server's Minecraft minor version is at least
v.1(i.e. strictly after minor versionv, or minor versionvwith a patch of 1 or higher). - isPost(int, int) - Static method in class net.paulem.arcana.utils.Versioning
-
Checks whether the running server's Minecraft version is strictly after
v.r.
K
- keys() - Method in class net.paulem.arcana.registry.AbstractRegistry
-
Retrieves a set of all keys from the registry
- keys() - Method in interface net.paulem.arcana.registry.Registry
-
Retrieves a set of all keys from the registry
L
- loadConfig(Class<C>, ConfigurationSection) - Method in class net.paulem.arcana.ArcanaAPI
-
Loads the config data from the given class and config.
- LocationUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with locations.
- LocationUtils() - Constructor for class net.paulem.arcana.utils.LocationUtils
M
- main(String[]) - Static method in class net.paulem.arcana.math.FastRandom
- MapContainer<S,
K> - Class in net.paulem.arcana.regions.container.blocks -
A
SectionContainerimplementation backed by a sparseInt2ObjectOpenHashMap. - MapContainer() - Constructor for class net.paulem.arcana.regions.container.blocks.MapContainer
- MapUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with maps.
- MapUtils() - Constructor for class net.paulem.arcana.utils.MapUtils
N
- net.paulem.arcana - package net.paulem.arcana
- net.paulem.arcana.config - package net.paulem.arcana.config
- net.paulem.arcana.hook - package net.paulem.arcana.hook
- net.paulem.arcana.math - package net.paulem.arcana.math
- net.paulem.arcana.regions - package net.paulem.arcana.regions
- net.paulem.arcana.regions.container - package net.paulem.arcana.regions.container
- net.paulem.arcana.regions.container.blocks - package net.paulem.arcana.regions.container.blocks
- net.paulem.arcana.registry - package net.paulem.arcana.registry
- net.paulem.arcana.utils - package net.paulem.arcana.utils
- net.paulem.arcana.uuid - package net.paulem.arcana.uuid
- newFrozen(Supplier<Map<K, T>>) - Static method in interface net.paulem.arcana.registry.Registry
-
Creates a new FrozenRegistry with the given data
- NewFrozenRegistry<T,
K> - Class in net.paulem.arcana.registry -
A registry that can be frozen, preventing any further registrations.
- NewFrozenRegistry() - Constructor for class net.paulem.arcana.registry.NewFrozenRegistry
-
Creates a new, empty, unfrozen registry backed by a
HashMap. - NewFrozenRegistry(Supplier<Map<K, T>>) - Constructor for class net.paulem.arcana.registry.NewFrozenRegistry
-
Creates a new, unfrozen registry, copying the entries from the map produced by the given supplier.
- newWriteable(Supplier<Map<K, T>>) - Static method in interface net.paulem.arcana.registry.Registry
-
Creates a new WriteableRegistry with the given data
- next(int) - Method in class net.paulem.arcana.math.FastRandom
- nextBeta(double, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Beta distribution with mean a/(a+b) and variance ab/((a+b+1)(a+b)^2).
- nextBitSet(int, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random BitSet with "size" bits, each having probability p of being true.
- nextBoolean() - Method in class net.paulem.arcana.math.FastRandom
-
Return a random boolean, equally likely to be true or false.
- nextBoolean() - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random boolean value.
Can be used to simulate a coin flip or other random boolean events. - nextBoolean(double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random boolean, with probability p of being true.
- nextBytes(byte[]) - Method in class net.paulem.arcana.math.FastRandom
- nextBytes(int) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates an array of random bytes.
- nextChiSq() - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from an Chi-squarted distribution with mean 1 and variance 2.
- nextChiSq(int) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from an Chi-squared distribution with mean df and variance 2*df.
- nextChiSq(int, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from an Chi-squared distribution with mean df+lambda and variance 2*df.
- nextDiscrete(double[]) - Method in class net.paulem.arcana.math.FastRandom
-
Draw a single sample from multinomial "a".
- nextDiscrete(double[], double) - Method in class net.paulem.arcana.math.FastRandom
-
draw a single sample from (unnormalized) multinomial "a", with normalizing factor "sum".
- nextDouble() - Method in class net.paulem.arcana.math.FastRandom
- nextDouble() - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random double within the range [0.0, Double.MAX_VALUE).
- nextDouble(double, double) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random double within a specified range.
- nextExp() - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from an Exponential distribution with mean 1 and variance 1.
- nextExp(double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from an Exponential distribution with mean beta and variance beta^2.
- nextExp(double, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from an Exponential distribution with mean beta+lambda and variance beta^2.
- nextFloat() - Method in class net.paulem.arcana.math.FastRandom
- nextFloat() - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random float within the range [0.0, Float.MAX_VALUE).
- nextFloat(float, float) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random float within a specified range.
- nextGamma() - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Gamma distribution with mean 1.0 and variance 1.0.
- nextGamma(double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Gamma distribution with mean alpha and variance 1.0.
- nextGamma(double, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Gamma distribution with mean alpha*beta and variance alpha*beta^2.
- nextGamma(double, double, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Gamma distribution with mean alpha*beta+lamba and variance alpha*beta^2.
- nextGaussian() - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Gaussian distribution with mean 0 and variance 1.
- nextGaussian(double, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double drawn from a Gaussian distribution with mean m and variance s2.
- nextInt() - Method in class net.paulem.arcana.math.FastRandom
- nextInt() - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random integer within the range [0, Integer.MAX_VALUE).
- nextInt(int) - Method in class net.paulem.arcana.math.FastRandom
- nextInt(int, int) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random integer within a specified range.
- nextLong() - Method in class net.paulem.arcana.math.FastRandom
- nextLong() - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random long within the range [0, Long.MAX_VALUE).
- nextLong(long, long) - Static method in class net.paulem.arcana.math.FastRandomUtils
-
Generates a random long within a specified range.
- nextPoisson() - Method in class net.paulem.arcana.math.FastRandom
-
Return nextPoisson(1).
- nextPoisson(double) - Method in class net.paulem.arcana.math.FastRandom
-
Return random integer from Poission with parameter lambda.
- nextUniform() - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double in the range 0 to 1, inclusive, uniformly sampled from that range.
- nextUniform(double, double) - Method in class net.paulem.arcana.math.FastRandom
-
Return a random double in the range a to b, inclusive, uniformly sampled from that range.
O
- of() - Static method in class net.paulem.arcana.math.FastRandom
- of() - Static method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Creates a new, empty
GlobalBlockContainer. - of(String) - Static method in class net.paulem.arcana.uuid.OfflineUUID
-
Creates an
OfflineUUIDfor the given player name. - of(UUID) - Static method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Creates a new, empty
WorldBlockContainerfor the given world. - of(ChunkBlockContainer<S, K>, int) - Static method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
-
Creates a new, empty
ChunkSectionBlockContainerfor the given parent chunk container and section index. - of(WorldBlockContainer<S, K>, ChunkKey) - Static method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Creates a new, empty
ChunkBlockContainerfor the given parent world container and chunk. - of(Player) - Static method in class net.paulem.arcana.uuid.OfflineUUID
-
Creates an
OfflineUUIDfor the given player, based on their name. - of(World) - Static method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Creates a new, empty
WorldBlockContainerfor the given world. - OfflineUUID - Class in net.paulem.arcana.uuid
-
Represents an offline UUID for a player based on their name.
- oldNextGamma(int) - Method in class net.paulem.arcana.math.FastRandom
- onUnload() - Method in interface net.paulem.arcana.regions.Tracked
-
Called when the chunk containing this object is unloaded, allowing implementations to persist or clean up their state.
P
- path() - Element in annotation interface net.paulem.arcana.config.ConfigEntry
-
The path of this entry in the config section, relative to the loaded section.
- PersistentDataUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with Bukkit's
PersistentDataTypesystem. - PersistentDataUtils() - Constructor for class net.paulem.arcana.utils.PersistentDataUtils
- putAll(SectionContainer<S, K>) - Method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
-
Copies every entry from the given container into this one, expanding to an array-backed container first if adding them would exceed the load factor.
R
- register(T) - Method in class net.paulem.arcana.registry.NewFrozenRegistry
-
Registers an object within the registry
- register(T) - Method in class net.paulem.arcana.registry.WriteableRegistry
-
Registers an object within the registry
- registerHolder(S) - Method in class net.paulem.arcana.regions.Tracker
-
Registers a tracked object in the global container, using its own key.
- registry - Variable in class net.paulem.arcana.registry.AbstractRegistry
- Registry<T,
K> - Interface in net.paulem.arcana.registry -
Represents a basic registry object which contained
RegistryKeyobjects - RegistryKey<K> - Interface in net.paulem.arcana.registry
-
implemented by objects which can be added to Registries
- removeChunkContainer(ChunkKey) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Removes the container for the given chunk, if present.
- removeChunkContainer(Chunk) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Removes the container for the given chunk, if present.
- removeHolder(int, int, int) - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Removes the tracked object at the given coordinates, using the vertical section that y falls into.
- removeHolder(int, int, int) - Method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
-
Removes the tracked object at the given coordinates, relative to this section, and notifies the parent chunk container to remove this section if it has become empty as a result.
- removeHolder(int, int, int) - Method in interface net.paulem.arcana.regions.container.SubContainerHolderAccessor
-
Removes the tracked object at the given block coordinates, if any.
- removeHolder(int, int, int) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Removes the tracked object at the given coordinates, if its chunk is tracked.
- removeHolder(K) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Removes the tracked object located at the given key, if any.
- removeHolder(S) - Method in class net.paulem.arcana.regions.Tracker
-
Removes a tracked object from the global container, using its own key.
- removeSection(ChunkSectionBlockContainer<S, K>) - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Removes the given section from this chunk container and notifies the parent world container to remove this chunk if it no longer has any sections left.
- removeWorldContainer(UUID) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Removes the container for the given world, if present.
S
- saveChunk(Chunk) - Method in class net.paulem.arcana.regions.Tracker
-
Saves all tracked objects held within the given chunk by invoking
Tracked.onUnload()on each of them. - saveChunk(Chunk, Consumer<Holder<S, K>>) - Method in class net.paulem.arcana.regions.Tracker
-
Invokes the given callback for every holder tracked within the given chunk.
- SectionContainer<S,
K> - Interface in net.paulem.arcana.regions.container.blocks -
Represents a container for managing sections of data associated with spatial positions.
- set(int, Holder<S, K>) - Method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
-
Stores or clears the holder at the given position, updating the tracked size accordingly.
- set(int, Holder<S, K>) - Method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
-
Stores or clears the holder at the given position in the currently active underlying container, expanding to an array-backed container first if the load factor is now exceeded.
- set(int, Holder<S, K>) - Method in class net.paulem.arcana.regions.container.blocks.MapContainer
-
Stores or clears the holder at the given position.
- set(int, Holder<S, K>) - Method in interface net.paulem.arcana.regions.container.blocks.SectionContainer
-
Stores or clears the holder at the given position.
- setHolder(int, int, int, S) - Method in class net.paulem.arcana.regions.container.ChunkBlockContainer
-
Stores a tracked object at the given coordinates, using the vertical section that y falls into.
- setHolder(int, int, int, S) - Method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
-
Stores a tracked object at the given coordinates, relative to this section.
- setHolder(int, int, int, S) - Method in interface net.paulem.arcana.regions.container.SubContainerHolderAccessor
-
Stores a tracked object at the given block coordinates.
- setHolder(int, int, int, S) - Method in class net.paulem.arcana.regions.container.WorldBlockContainer
-
Stores a tracked object at the given coordinates, creating the chunk container for those coordinates if needed.
- setHolder(K, S) - Method in class net.paulem.arcana.regions.container.GlobalBlockContainer
-
Stores a tracked object at the given key, creating the containers for its world/chunk/section as needed.
- size() - Method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
- size() - Method in class net.paulem.arcana.regions.container.blocks.MapContainer
- size() - Method in interface net.paulem.arcana.regions.container.blocks.SectionContainer
- StringUtils - Class in net.paulem.arcana.utils
-
Utility methods for working with strings.
- StringUtils() - Constructor for class net.paulem.arcana.utils.StringUtils
- SubContainerHolderAccessor<S,
K> - Interface in net.paulem.arcana.regions.container -
Common accessor contract for containers that store
Holderinstances at three-dimensional block coordinates, regardless of how they are internally organized.
T
- TickUtils - Class in net.paulem.arcana.utils
-
Utility methods for converting Minecraft server ticks to time units.
- TickUtils() - Constructor for class net.paulem.arcana.utils.TickUtils
- toChunk(World) - Method in class net.paulem.arcana.regions.ChunkKey
-
Resolves this key to the actual
Chunkin the given world. - toMilliseconds(long) - Static method in class net.paulem.arcana.utils.TickUtils
-
Converts a number of server ticks to milliseconds, assuming 20 ticks per second (50ms per tick).
- toSecond(long) - Static method in class net.paulem.arcana.utils.TickUtils
-
Converts a number of server ticks to whole seconds, assuming 20 ticks per second.
- toString() - Method in class net.paulem.arcana.regions.ChunkKey
- tpToGround(Entity) - Static method in class net.paulem.arcana.utils.EntityUtils
-
Teleports the given entity down to the ground below its current location.
- Tracked<K> - Interface in net.paulem.arcana.regions
-
Represents an object that can be tracked and associated with a unique key.
- Tracker<S,
K> - Class in net.paulem.arcana.regions -
A class to extend that tracks all the specified S type in the server.
- Tracker() - Constructor for class net.paulem.arcana.regions.Tracker
-
Creates a new tracker with an empty
GlobalBlockContainer.
U
- UuidConversion - Class in net.paulem.arcana.uuid
-
Utility methods for converting
UUIDs to and from their raw 16-byte representation. - UuidConversion() - Constructor for class net.paulem.arcana.uuid.UuidConversion
- UUIDUtils - Class in net.paulem.arcana.utils
-
Utility methods for comparing the unique identifiers of entities and UUIDs.
- UUIDUtils() - Constructor for class net.paulem.arcana.utils.UUIDUtils
V
- Versioning - Class in net.paulem.arcana.utils
-
Utility methods for detecting the running server's Minecraft version and server software.
- Versioning() - Constructor for class net.paulem.arcana.utils.Versioning
W
- when(K, V) - Method in class net.paulem.arcana.hook.HookCondition.HookConditionBuilder
-
Registers the value to use for the given key.
- WorldBlockContainer<S,
K> - Class in net.paulem.arcana.regions.container -
Represents a container for managing block-related data across a specific world, organized into smaller chunk-based containers.
- WorldKey - Interface in net.paulem.arcana.regions
-
Represents a key that locates a tracked object by its world and block coordinates.
- WriteableRegistry<T,
K> - Class in net.paulem.arcana.registry -
An Updatable registry that can have contents added arbitrarily.
- WriteableRegistry() - Constructor for class net.paulem.arcana.registry.WriteableRegistry
-
Creates a new, empty writeable registry backed by a
HashMap. - WriteableRegistry(Supplier<Map<K, T>>) - Constructor for class net.paulem.arcana.registry.WriteableRegistry
-
Creates a new, empty writeable registry backed by the map produced by the given supplier.
Z
- ZLibUtils - Class in net.paulem.arcana.utils
-
Utility methods for compressing and decompressing byte arrays using the ZLIB algorithm.
- ZLibUtils() - Constructor for class net.paulem.arcana.utils.ZLibUtils
All Classes and Interfaces|All Packages|Serialized Form