* Lifecycle Events V1
Now includes Chunk and (Block)Entity (un)load events
* Add some tests to verify worlds are ticking in the log
* Lambda boogaloo
* Add some docs. Distinguish between a server starting to stop and server which has stopped.
* Split up test mods, some tweaks to (block)entity (un)load events.
Bind the ServerWorld being closed during shutdown to unload (block)entities.
* Shift around a few profiler variables and finalize
* Complete the tests, Block entities on server should be reliably tracked now.
Entities on the server obviously still need to be wrangled.
* Drop Server Entity Unload callback.
Believe me, this was a hard decision but it stands on the fact that about 20-40% of entities silently unload without going through the proper "unloadEntity" method in ServerWorld. No amount of debug hacks, double tracking unload events and even replacing the entity maps do not fix this issue. So I have decided to drop this from the feature set.
* checkstyle
* generic-events -> item-api
* Server start -> Server started
* Allow getting current server from Lifecycle
People have asked for this, but it is not encouraged for obvious reasons. Should be staged well enough to revert if we decide to.
* checkstyle lol
* update injection name
* Checkstyle lol: Redundant modifiers
* Add client starting, stopping and stopped callbacks.
* Loicenses
* Reorganize so each event category has it's own class.
Also this collapses the pretty widely reaching interfaces into more specific inner classes to avoid issues with generics.
* Some docs and slight name changes
* Add start tick callbacks to worlds, server and client
* Enhance some client related docs to life cycle
* Deprecate for reasons of discouraging singletonish server getter methods in lifecycle
* Add some description related to integrated server on server stopping.
* Add small test to verify tick starts are right spot of load
* Docs and a tiny bit more testing.
* Try clarifying client docs
* Drop a slightly unnessecary event
* Actually call and implement START_SERVER_TICK event
* Remove non-existent test
* again
* Refer to minecraft itself in client lifecycle docs
* Refer to Minecraft itself within ServerLifecycleEvents
* Remove primary server getters
* IJ DO YOU SPEAK RESOLVING IMPORTS
(cherry picked from commit c9257e8a11d8361469349f4171263121bb111af7)
* Prune the tests that shouldn't exist
* Listen here checkstyle you bugger
(cherry picked from commit 9701bba4002cec089c9d3738b1f226128078c130)
* Split up events to individual interfaces. Make Chunk events use WorldChunk instead.
* Edited Clone of #244
- Fixed checkstyle issues
- Migrated to fabric-keybindings-v1
- Removed sticky keybindings from #244 as it sounds useless and you can just around it by simply adding that functionality yourself, I might add it back if someone can tell me the advantages of sticky keys except bloat
- Added a test mod
- Added FabricKeyBinding#getBoundKeyOf for getting vanilla bound keys with ease
- Renamed `registered` to `automaticallyRegister` as that is more of a better name
- Added a couple Objects.requireNonNull validations
* Add back StickyFabricKeyBinding as it is in vanilla, did not notice.
* Remove extra "key."
* Bump to 1.0.0
* build().register()
* Remove `register()`
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Fix test
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Rename module
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Fix checkstyle violation
Signed-off-by: shedaniel <daniel@shedaniel.me>
* major refactor
Signed-off-by: shedaniel <daniel@shedaniel.me>
* revert some stuff
Signed-off-by: shedaniel <daniel@shedaniel.me>
* fix build
Signed-off-by: shedaniel <daniel@shedaniel.me>
* major stuff
Signed-off-by: shedaniel <daniel@shedaniel.me>
* fix license, of course
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Add resource loader v0
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Let's not break the api.
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Rename to buildAndRegister
Signed-off-by: shedaniel <daniel@shedaniel.me>
* resolve reviews
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Use GLFW
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Dump the builder entirely
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Rename to Key Binding
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Add Object builders for simplifying the process of creating villager professions and point of interest types.
* Move everything to new object-builders-api
* flatten a bit down
* a few javadoc changes
* More JD tweaks
* Actual support
* Remove this useless mixin
* Resolve some issues
* Remove duplicate entries
* maybe?
* fix max breaking speed
* choose an item that is the closest
* Set version to 1.1
* better docs remove stuff
* deprecation doc and no todo comments
* Check if block has valid mining level
* javadocs
* Most of the issues resolved
* Some more javadoc and resolve some issues
* Forgot to change order for these
* Adds post process method to DynamicAttributeTool
Fixed going to vanilla again to query
Fixed tool mining level < 0
Fixed vanilla items on modded blocks not working
Renamed taggedToolHandlerInvoker to toolHandlerInvoker
Renamed entries to ENTRIES
* New comparision method for modded tools to vanilla blocks
* Remove useless mixins and use getMaterial().getMiningSpeed to support more tools.
* Simply mixin
* Some useful javadocs
* Fix license
* Bump fabric-object-builders-v0 because we are good
* Bump version of fabric-object-builder-api-v1 because we are nice
* Resolve some issues
* a
* remove vanilla tools vanilla blocks thing ok
* descriptive
* Get the faster speed instead
* Rename ModdedToolsVanillaBlocksToolHandler
* Remove tri state
* Fix compile errors
* testmod
* fix formatting
* fix testmod javadoc
* forgot to license format testmod
* Bump to 1.1.0
Moves the ToolManager and tool tags declared in fabric-mining-levels-v0 to a new fabric-tool-attributes-v1, along with adding new interfaces to be implemented on tools so that mining speed, mining level, and entity attribute modifiers can be decided by the itemstack.