* Move command API icon to correct location
* Add client-sided command API
* Add jd note about threads
* Add license headers
* ArgumentBuilders => ClientArgumentBuilders
* Yeet custom prefixes
* Migrate testmod to lifecycle-events-v1
* Improve client command test
* Make client command test more similar to the server one
* Update to new yarn names
* Add handling for requires() in command suggestions
* Remove outdated TODO
* Playerification
* Clarify comments in ClientCommandInternals
* Use "s" instead of "it"
* Improve CommandSyntaxException logging
* Add missing import
* Add /fcc help command
* Add comments about server-client precedence rules
* Add missing license header
* Add /fabric-command-api-v1:client as an alias for /fcc
(cherry picked from commit 871300cf73)
This migrates all uses of v0 networking to v1 api, and changes the readme to not mention networking-v0 in the example for dependencies.
This effectively makes v0 removable if it breaks in the future beyond repair. Though I expect v0 to last quite a bit longer.
(cherry picked from commit bf770ed853)
* Implement screen api
* Actually update to 20w27a
* Split render and tick events to before and after
* Rename and update
* A bit of javadoc and profiler name fixes
* Add functional interface annotations, move render and ticking events to actual FabricScreen instance.
* Add after screen resize event
* Implement key and mouse click/press and release events.
* Move keyboard and mouse events to their own pojos
* Init and resize are the same thing. Maybe Screen#init needs a rename
* Add mouse scroll events
* checkstyle
* Refresh event instances after init
* Before init is nessecary to listen to addition/removal of child elements
* Polish up the javadoc and do a rename to the public api interface.
* Mappings updates on testmod
* javadoc formatting again
* Rework screen api design to be more ergonomic.
* Add remove event, some javadoc
* Add allow phase
* Module dependencies
* Fix null ticking when no screen is open
* Refer to GLFW constants in mouse click/release events
* Keyboard event GLFW constant javadoc
* Remove redundant qualifier
* Some docs, degetterifying
* Because global go brr add screen params back around
* Add module lifecycle to FMJ
(cherry picked from commit 8e23c1d877)
* Add custom value denoting module lifecycles.
* Make the module validation work.
My hand has been forced - we must use buildSrc since JsonSlurper is not available in main buildscript.
* Apply task to each project and dont cross projects
* A horrible hack
* Wait what
* It works now.
* Not needed
* Drop unneeded maven repo, cache map lookup
(cherry picked from commit daa38b3d82)
* Correct ordinal of `afterWorldChanged` mixin to the correct return
Co-authored-by: i509VCB <git@i509.me>
* Handle null entity when unable to be created
* Comply with Checkstyle
* Remove redundant ordinal and only use null return to check valid teleports
Co-authored-by: Player <player@player.to>
Co-authored-by: i509VCB <git@i509.me>
Co-authored-by: Player <player@player.to>
(cherry picked from commit c7d5c83208)
* Allow passing UV coordinates as Vec2f
Rotating UV coordinates using vector math becomes extremely annoying when every `sprite` call requires the individual `u` and `v` coordinates to be extracted again.
This change will allow passing UV coordinates in a container that will always be available.
* Revert b0fe27e0d7
* Allow Vec2f UVs in MutableQuadView
This seems like the better place to put this.
* Fix return type
oops
* Add override in QuadEmitter
* Fix JavaDoc styling
* Duplicate JavaDoc and function definition
There is probably a way in Java to override the method while keeping the JavaDoc, but I can't be bothered, and this way, the user gets a more relevant JavaDoc anyway.
* Remove Trailing Whitespace
I'm pretty sure QuadEmitter allowed trailing whitespace, though...
* Fix JavaDoc styling in QuadEmitter
Also removes trailing whitespace
(cherry picked from commit 00f5b23648)
* Add WorldRenderEvents
* Fix typos
* Incorporate PR feedback
* Simplify context and block outline events
* Update implementation
* Ensure the BLOCK_OUTLINE mixin does nothing if BEFORE_BLOCK_OUTLINE mixin is disabled
* Document event order in class header
* Update fabric-rendering-v1/src/main/java/net/fabricmc/fabric/api/client/rendering/v1/WorldRenderEvents.java
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
* Add environment tag to nested type
* More envionment tags
Co-authored-by: Juuxel <6596629+Juuxel@users.noreply.github.com>
(cherry picked from commit c26373137e)
* Extend ModelAppender to allow loading non-blockstate paths
* Use a new interface instead of adding to the old one
* Rename new interface
(cherry picked from commit 6bec8f284f)
* Entity Events v1.
First up is an event fired after a living entity is damaged. All vanilla living entities except armor stands work with this event.
* Events related to killing of entities, changing world, player respawn/copyFrom
Death related:
an entity killing something and an entity being killed by an adversary
Player related:
After respawn, copy to
* Adversary stuff isn't needed
* checkstyle again
* Call AFTER_KILLED_OTHER on a ServerPlayerEntity upon death.
* Add event which is fired when a player first joined a server and add functional interface annotations
* Update build.gradle
* mispelled
* Some renames, test events, drop damage event
Damage events need further consideration in future
* Comments and null check
* Update for mappings
* Warning comment
* Remove first join event and teleport helper
First join does not work atm and teleport is in dimensions pr
* Module dependencies
* Javadoc tweaks
* The serverening
(cherry picked from commit 79b23bee5b)
* Fix example implementation of using FAPI modules for Groovy
The previous implementation does not quite correctly describe what it does
* Improve description of adding dependencies
* Undo the last commit changes for Kotlin DSL
(cherry picked from commit a404f47683)
* Fix resource reload listeners not being sorted.
Fix missing/broken reload listener keys.
Add a debug log line for missing reload keys
Add some basic tests.
* Undo adding new keys, we can look at this later.
* use AssertionError
* Fix test on server
(cherry picked from commit 67abea83c2)