* Add detail about default value to MiningLevelManager jd
* Fix shears being the ultimate mining tool
In more technical terms, fix an invalid
comparison in TaggedToolsModdedBlocksToolHandler.
The code was supposed to check if the tool's
mining level was at least the block's minimum
mining level. Instead, the check succeeded
whenever the block required a tool
(min level >= 0).
* WIP fixing tool attribute api bugs
* Fix mostly everything
* Simplify to (== 0) with explanation
* Mining Level API, part 1
* Fix incorrect netherite mining level in MiningLevelManager docs
* Add some format checks in dynamic mining level tag checking
* Add mining level API test mod
* Grammar
* Add cursed basic support for the tool attribute api
* Fix tool attribute JD
* Add proper compat for tool attribute api
Also fixes the remaining bugs in it!
* Update license headers
* stuff
* better comments
* more test mod work
* more
* Fix test mod
* i'm done with this module
* Address some code review things
* Use Reference2IntMap (basically IdentityHashMap for int values)
* Prefix mixin handlers with fabric$
* Add missing license header
* Update fabric-object-builder-api-v1/src/main/java/net/fabricmc/fabric/api/object/builder/v1/block/FabricBlockSettings.java
* Resolve liach's comment
* Update to use TagFactory
* dynamic tool attributes v2, part 1
* move duck interface to impl package
* add licenses
* fix mixin build failure on a dedicated server
* remove unused shadow of getItem()
* add a simple user-context-based attribute tool to the test item suite
* add clarifying comments in DynamicAttributeTool jdoc regarding parameter reliability + extended docs on getDynamicModifiers for attribute freshing
* player -> user because context is not always a player
* add license to TestNullableItem
* 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)
* Clean up to tool-attributes, add annotations and add test for custom tool types.
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Change version to 1.2.3
Signed-off-by: shedaniel <daniel@shedaniel.me>
* remove unrelated change
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Turn build.gradle to tabs
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Fix checkstyle
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Fix some review issues
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Add license to package-info.java
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Remove line between the javadoc and the package line
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Move the @NotNull annotation
Signed-off-by: shedaniel <daniel@shedaniel.me>
* Boost to Loom 0.5
Add null related annotations
* Rearrange nullable to be overline
* Fix anno sorting for picky
* Add imports
* Address feedback
* Fix import
* 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
* 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
# Conflicts:
# fabric-object-builder-api-v1/build.gradle
# fabric-tool-attribute-api-v1/build.gradle
# fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/api/tool/attribute/v1/DynamicAttributeTool.java
# fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/MixinItemStack.java
# fabric-tool-attribute-api-v1/src/main/java/net/fabricmc/fabric/mixin/tool/attribute/MixinPlayerInventory.java
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.