Index

A B C D E F G H I K L M N O P R S T U V W Z 
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 calling Math.acos directly.
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 SectionContainer implementation 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 UUID to 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 UUID from a 16-byte array, as produced by UuidConversion.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 HookCondition containing 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 DynamicSectionContainer with the given load factor and capacity.
create(int) - Static method in class net.paulem.arcana.regions.container.blocks.ArraySectionContainer
Creates a new, empty ArraySectionContainer with the given fixed capacity.
create(int) - Static method in class net.paulem.arcana.regions.container.blocks.DynamicSectionContainer
Creates a new DynamicSectionContainer with 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 a that are not present in b.
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 MapContainer and an ArraySectionContainer based 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 toExclude removed.

F

faceToVector(BlockFace) - Static method in class net.paulem.arcana.utils.BlockUtils
Converts a BlockFace to a unit vector pointing in that direction.
faceToVector(BlockFace, int) - Static method in class net.paulem.arcana.utils.BlockUtils
Converts a BlockFace to a vector pointing in that direction, scaled by distance.
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.
Because FastRandom is not thread-safe, this class keeps one FastRandom instance per thread in a ThreadLocal, 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 than FastRandomUtils.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 ChunkKey from the coordinates of the given chunk.
fromCoordinates(int, int) - Static method in class net.paulem.arcana.regions.ChunkKey
Creates a ChunkKey from block coordinates, converting them to chunk coordinates.
fromLocation(Location) - Static method in class net.paulem.arcana.regions.ChunkKey
Creates a ChunkKey for the chunk containing the given location.
fromLong(long) - Static method in class net.paulem.arcana.regions.ChunkKey
Creates a ChunkKey from a packed long representation, as produced by ChunkKey.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, extending radiusX, radiusY and radiusZ blocks on each axis (inclusive).
getBlocksBetween(Location, Location) - Static method in class net.paulem.arcana.utils.BlockUtils
Walks from loc1 towards loc2 and 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 Class object for the fully qualified class name provided.
getCorrespondType(C) - Static method in class net.paulem.arcana.utils.PersistentDataUtils
Resolves the built-in PersistentDataType that 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 dist blocks of player that 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 base and end, evenly spaced along the Y axis by stepsInterval blocks.
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 filterClass to entity within dist blocks.
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 ChunkKey offset 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 type K (typically derived from what's currently available on the server), through a HookCondition mapping 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 Hook to 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 HookCondition instances.
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 player is looking at livingEntity.
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 version v, or minor version v with 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 SectionContainer implementation backed by a sparse Int2ObjectOpenHashMap.
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 OfflineUUID for the given player name.
of(UUID) - Static method in class net.paulem.arcana.regions.container.WorldBlockContainer
Creates a new, empty WorldBlockContainer for the given world.
of(ChunkBlockContainer<S, K>, int) - Static method in class net.paulem.arcana.regions.container.ChunkSectionBlockContainer
Creates a new, empty ChunkSectionBlockContainer for 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 ChunkBlockContainer for the given parent world container and chunk.
of(Player) - Static method in class net.paulem.arcana.uuid.OfflineUUID
Creates an OfflineUUID for the given player, based on their name.
of(World) - Static method in class net.paulem.arcana.regions.container.WorldBlockContainer
Creates a new, empty WorldBlockContainer for 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 PersistentDataType system.
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 RegistryKey objects
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 Holder instances 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 Chunk in 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
 
A B C D E F G H I K L M N O P R S T U V W Z 
All Classes and Interfaces|All Packages|Serialized Form