Skip to content

Releases: the-h-team/Labyrinth

Release.

31 Mar 10:23
Compare
Choose a tag to compare
  • Un-deprecated and re-purposed Applicable#apply
  • Added silent array processing.
  • Added new Comment annotation.
  • Added new Counter object for cross-thread atomic usage.
  • Optimized skull cache.
  • Added new scoreboard utility mimicking the tablist utility.
  • Added new WebResponse interface, static method available for downloading resources.

Early release.

04 Feb 10:50
Compare
Choose a tag to compare
  • Optimized PlayerSearch.java value display
  • Created new information processing distribution service called CollectionTask.java
  • Created new URL based image to ascii utility called ImageBreakdown.java & MessageBreakdown.java
  • Added completion getter to ProgressBar.java
  • Added .equals override to SpecialID.java
  • Fixed task cancellation issues in SynchronousTaskChain.java
  • Added casting method to Task.java
  • Added awt.Color to #Hex string conversion method in ColoredString.java
  • Added awt.Color to ChatColor conversion method in DefaultColor.java
  • Kept and transformed LabyrinthUser.java into a registration type service used with PlayerSearch.java
  • Cleaned up deprecated methods in Cooldown.java
  • Cleaned up deprecated constructor in HFEncoded.java
  • Postponing further reconstruction and additions til 1.7.7

Optimization & Fixes.

06 Jan 06:04
Compare
Choose a tag to compare
  • ContainerModification now inherits ContainerQuestion
  • Fixed hard stop user validation issues on start up
  • Created new MenuRegistration service
  • Created new menu type Animated
  • Fast deprecated PlayerSearch#getRecordedId with PlayerSearch#getId
  • Added playtime variable to PlayerSearch (beta)
  • Removed redundant Cooldown#getTimeLeft method
  • Item.java can now be used to set empty lore.
  • SimpleTabCompletion can have multiple completions mapped to the same index.
  • Fixed new player spawn location problem with region service impl
  • Added methods to StringUtils
  • Fixed nms problems with chat component itemstack content in 1.18

The collection update.

21 Dec 20:21
Compare
Choose a tag to compare
  • Modified the See.java annotation to allow for multiple classes
  • Introducing the new labyrinth provided collection and map interfaces
  • Added 6 new collection types (LabyrinthSet, LabyrinthSerializableSet, LabyrinthList, LabyrinthEntryMap, ImmutableLabyrinthCollection & ImmutableLabyrinthMap)
  • Removed concurrency issue from TaskChain.java switching out HashMap for LabyrinthMap o(1) time complexity optimization.
  • Cleaned up Item.java now allowing for key mapping via Item#shape
  • Replaced Set in KeyedServiceManager.java with quicker time complexity alternative LabyrinthSet
  • Switched out IllegalArgumentException throwings with NullPointerException's
  • Update RegionServicesManager to usage of LabyrinthCollection.
  • Added class loader provision support to element deserialization w/ HFEncoded.java
  • Finalized the ability to inject sub-commands into any plugin command & also hide command visibility from players w/ CommandUtils.java
  • Added new container editing utility ContainerQuery.java for any time of modification / search.
  • Finalized new labyrinth collection types and maps
  • Removed generic array creation from pagination pages.
  • Added more universally uniqueness to HUID.java
  • Created new universally unique id creation utility SpecialID.java
  • Added item giving method to ItemCompost.java
  • Moved some slower default collection type usages to new labyrinth collection types for time complexity decrease.
  • Made StringUtils.java & TimeUtils.java a final class
  • Fixed version check for 1.18 with old component utility TextLib.java & String utility ColoredString.java
  • Experimental.java & Note.java annotations can now be used on constructors
  • Fixed Unity library live meta pagination problems and migrated utility usage to new AbstractPaginatedCollection.
  • Deprecated LabyrinthUser.java for new more lightweight provision PlayerSearch.java
  • Gave Cooldown.java a face lift
  • Added new time parser ParsedTimeFormat.java (Also localized to StringUtils.java)
  • Re-made ItemCompost.java inner functionality
  • HFEncoded.java now demands delegation through HFEncoded#of
  • Added new Removal.java annotation for marking code for removal in specific versions.
  • Added java.io.Serializable support to json adapted elements (Now used in HFEncoded)
  • Fixed SimpleTabCompletion.java to allow for multiple completions @ the same index w/ multiple predicates.
  • Finalized deprecation of old LabyrinthUser utility.
  • Added new methods to CooldownService.java
  • Migrated Page.java usage to LabyrinthPaginatedCollection.java
  • Added mapping function to ContainerQuery.java
  • Added new serializable map LabyrinthSerializableMap.java

Java 17

11 Dec 09:32
b57d42e
Compare
Choose a tag to compare
  • Added new method to Constant.java
  • Debugged DefaultEvent.Communication.ChatCommand
  • Added new PlaceholderFormatService for formatting placeholders from both labyrinth & PlaceholderAPI simultaneously
  • Added labyrinth placeholder translation support to StringUtils
  • Finished new labyrinth placeholder provision api
  • Finished new Tablist display api
  • Removed old tab completion utility
  • Added new SimpleTabCompletion for easy tab completion configuring.
  • Added new SimpleKeyedValue & ReplaceableKeyedValue
  • Optimized LabyrinthUser validation check method.
  • New task schedulers created (TaskScheduler.java & LabyrinthApplicable.java)
  • Started migration of Schedule.java to new TaskScheduler.java
  • Renamed plugin messaging utility to labyrinth pattern.
  • Fixed some exception throwing within OrdinalProcedure
  • Fixed & Optimized PlaceholderTranslationUtility
  • FileManager can now convert from Json to Yaml
  • Added correct placeholder & color translation method within TablistInstance enable methods.
  • Removed public visibility of primary void method in Task.java (Now depends on a singular provided Ordinal.java annotation)
  • Ready for 1.18
  • Added new annotation's Disabled & See
  • Removed all deprecated methods from FileManager
  • Created linked set object LabyrinthSet from scratch!
  • Fixed getContents method in Page.java
  • Added operate method to Registry.java
  • Renamed Group.java from common to VaultGroup.java
  • Added WideFunction.java

Release bomb.

05 Sep 02:57
cc4c1d8
Compare
Choose a tag to compare
  • Moved pagination related stuff from InventoryElement to InventoryElement.Paginated
  • Renamed PagedPlayer to MenuViewer
  • Added relative InventoryElement access to respective menu types
  • Changed loader source from plugin to any object type in Registry
  • Added new annotation LabeledAs for labeling VentListener's (if key contains 'test' method invocation obsoletes and debugs)
  • Added functionality to the ControlType enum.
    It now has default click implementations for common use cases. These are assigned automatically with ItemElement#setType. Also, there is an option to merge the default behaviour with a custom action. In accordance with these changes, adapted the ItemElement() constructor to delegate to the ItemElement(data) constructor, where a new default type, ItemElement.ControlType.DISPLAY, is set.
  • Fixed gradient colors not properly displaying in text component meta.
    For the longest time this has been an issue and its now resolved!
  • Added Service.java inheritance to all default Labyrinth services from LabyrinthAPI
    Custom services can be used/loaded into the manager.
  • Added public group list to Group.java
    Group.LIST - A list of all known groups
  • Optimized material matcher in Items.java replacing Items#getMaterial with Items#findMaterial
  • New utility for efficient random hex coloring! RandomHex
  • New small service manager for loading/using services similar to VentMap w/ ServiceManager
  • Added MagicConstant information to UpdateChecker for IDE's
  • Added random color generation to DefaultColor.java
  • Added inheritance Runnable to Applicable.java and moved .apply to .run
    This way any thing that takes a runnable will work with applicables
  • Added easy access service getter to LabyrinthProvider.java
    LabyrinthProvider#getService(ServiceType<? extends Service> type) is now here!
  • Fixed vent listener exception handling
  • Finalized Node interfacing with parsing from Primitive.java
  • Added new annotations Note & Experimental
  • Fixed services not properly casting upon retrieval
  • Added for each to AnnotationDiscovery and added Iterable inheritance
  • Added new Consumer like interface WideConsumer.java for double value applications that require no return value.
  • Added new read/write methods to FileManager
  • Filled in javadoc
  • Cooldown.java now uses json for data storage for quicker read/write
    master
  • Changed the internal behaviour of listener creation, caching, and execution for improving runtime and functionality.
  • Finished new FileManager overhaul w/ Configurable abstraction delegation.
    Configurable abstraction complete with full file support functionality
  • RandomHex fully serializable w/ both Yaml & Json
  • Added ConfigurationSerializable like interfacing with JsonAdapter for easy json element serialization.
  • Finished Json file support!!
  • Marked methods in FileManager deprecated to be removed next patch! Get used to Configurable!
  • Added component creation to StringUtils
  • Marked Items.getMaterial deprecated, being replaced with Items.findMaterial to instead heavily suggest inquiry aswell as search smarter for matches.
  • Added new method isNew to LegacyCheckService for 1.16-17 verification.
  • Added a new annotation type compatible with @subscribe, which will make it possible to catch and handle return values of listeners.
    The redirections are defined recursively, so that the workflow doesn't stop if you don't want it to stop. Also, you are able to pass return values to multiple methods with one annotation instead of 10 subsequent calls.
  • 9/7/21 - Updated jar due to slight issue with file stream reading not allowing the deletion of files in use.

API changes.

27 Jul 01:11
Compare
Choose a tag to compare

Resolved cyclic module dependency

Welcome Maven! We've been waiting for you :D

Big change: (Using the common module) LabyrinthProvider is the new game in town.

it's not Labyrinth.getProvider(), anymore--it's LabyrinthProvider.getInstance()

Removed complex Vault and Enterprise shade logic

Replaced with careful runtime checks and local variables

Redesigned EconomyProvision service to really be like a service

We kept the static getter, but now implementations use the Bukkit ServicesManager API
to register themselves. We provide Vault and Enterprise hook+implementations for you,
but you can override these quite simply with a High or Highest priority service!

Cleared out old project meta (included in .gitignore)

Watch out .idea, /out and target/ folders; .iml files; it's time to say farewell.

Fixed a big with RegionServicesManager in legacy versions

Fixed Invalid CEN header bug with resource filtering exclusion

Added Legacy org.bukkit.Location serialization

Added templates project as a native resource

Reformed RegionServicesManager & VentMap into abstractions; RegionServices now utilize primarily Vent Subscriptions

New class AnnotationDiscovery for finding labeled methods within objects

Deprecated all old gui utility

Finished new Unity library

A unified builder for every possible menu type? Sign me up!

Added listener support for Vent.java using the new Subscribe.java annotation

Added static item modification methods to Items.java

Added legacy safe persistent data container access to Item.Edit

Added config to allow disabling of misc. features.

Added new DefaultEvent DefaultEvent.Communication for command & chat formatting.

Added entity spawning utility to Entities.java

Stable.

29 Jun 04:35
Compare
Choose a tag to compare
  • New legacy detection method in Labyrinth.java
  • New temporary storage method in PersistentContainer
  • Changed all Region related listener information to Vent abstraction.
  • Added new PrintedPaginationBuilder for automatic FinishingCompliment implementation
  • Force creation of /Services/ parent folder on start if non existent.
  • Removed SkullItem.java Use CustomHead.java instead
  • Finished UniformedComponents.accept method

LEGACY!!!

24 Jun 04:48
Compare
Choose a tag to compare
  • Introduced locally copied NamespacedKey since versions prior to 1.12 don't have it.
  • Fixed some listener information regarding legacy builds
  • Labyrinth now supports versions 1.8 through 1.17 B)
  • New head database use CustomHead.java SkullItem is marked for removal next patch.
  • Added isValid boolean to EconomyProvision

PEOPLE RUNNING CLANS PRO 1.2.8_R1 WAIT TO UPGRADE YOUR LABYRINTH PAST 1.5.8 UNTIL PRO 1.2.8_R2 IS DONE.

1.17 bugs ironed out.

22 Jun 15:11
Compare
Choose a tag to compare
  • New head database working for 1.14-1.17
  • New anvil gui backend auto injection for 1.14-1.17

PEOPLE RUNNING CLANS PRO 1.2.8_R1 WAIT TO UPGRADE YOUR LABYRINTH PAST 1.5.8 UNTIL PRO 1.2.8_R2 IS DONE.