* Add FabricItemSettings and an API for custom item equipment slots
Closes#952.
* Bump module version
* Rename duck method to have fabric_ prefix and add Unique to mixin field
* Switch to FabricItemInternals + ExtraData like in FabricBlockSettings
* Add callback to allow registration of feature renderers.
* Laymans terms for those who don't map yarn for a living.
* Be a little less generic
* Dispatch events in a better spot, play with generics again, move to renderer-registries.
Also move this to render registries
* Handle players as well
* Tweak generics
* Hide acceptor impl
* Add actual testmod, fix where player events are fired, Simplify to returning a list.
* the old style worked fine
* registerRenderers
* Rename the event interface
* Javadoc fixes
* Decoupled effective checks and mining speed
* Fixed typo
* Bump major for method sig change
* Fix semvar
* Re-add original API method
* Extend test mod
* Fix bug discovered by testing
* Change current to vanillaResult, update doc for postProcessMiningSpeed
* Remove </p> tag
* Add vanilla tests and rename vars
rendering flat-shaded quads. Use the cull-face (if present)
to determine where the light-value is being sampled from,
and use the light-face to apply diffuse lighting.
Also do not force the light-face to be set to the cull-face,
since some blocks use faces where these are both set and different
(see the insides of a Cauldron for example).
* Add a few new server lifecycle events
Server starting, Load World, Before server resource reload, After server resource reload
* Save event
* Split world load into ServerWorldEvents, add failure event for data pack reload
* cause
* Merge fail and regular end.
* Present tense lol
* So we can just plainly specify the system properties
* use handleAsync instead
* 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