What's new:
Base:
A bunch of stuff was moved out of Base to make it less version dependent.
- FakeWorld is now a standalone module. If you want to use it or Screen Particles, you have to include
cracker-util-fake-world
. - ValueTracker has been deprecated and will be removed in the future with no replacement. Although it might receive updates, it is not a priority.
- CrackerLog is now internal and should not be used. Use PrependingLogger with a preset instead.
Utilities#nextBetween()
is deprecated and should be replaced withMathStuff#nextInt()
.- Mutable Immutable has been separated into modules that require it. RecipeBookGroup and RecipeBookOptions are now part of cracker-util-recipe-book, and TextColor is patched on demand by TextFormattingUtil (part of cracker-util-content) and an accesswidener.
UnsafeAccess#writeField()
has been renamed toUnsafeAccess#putObject()
.- DrawUtil remains part of Base, but may be moved to a different module in the future. Additionally, the fillGradientHorizontal() method has been added.
- Added ColorUtil.
- PredicateTwo and ConsumerTwo are now deprecated, because BiConsumer and BiPredicate exist.
- Added
mapObjectFromAnnotation(Object value, boolean loadEnums, boolean loadClasses)
to ExtendedPlugin. - MixinShouldApply is now removed from target classes.
- Added
getField
andsetField
to ReflectionUtil. These work like the oldwriteField
andgetObject
from UnsafeAccess. - UnsafeAccess's
putObject
andgetObject
now don't use reflection. They will also check fields for volatility.- Also removed the
e.printStackTrace()
which was left there by mistake.
- Also removed the
- Added
Utilities#getCallerClass()
andUtilities#getCallerClass(depth)
- Added Tuple and MutableTuple.
- Added Tri(Consumer/Predicate/Function)
Content
- removed
put1
from NbtBuilder.
Danger
- InstrumentationAccess should no longer implode if invoked from a LanguageAdapter.
- Added the forgotten
break;
to thefor
loop, which checked if InstrumentationAccess should be enabled. - Changed
InstrumentationAccess#bootstrap
to store the jar in the game-dir and not to write the file every game load.
Screen Particles:
- Due to changes in Base, you now have to include
cracker-util-fake-world
. - VanillaParticle has undergone some minor changes, but nothing should be affected or break.
- You can now add your own Particle instance.
- Also, there's now a ctx with
velZ
- private
createParticle
is now publiccreateScreenParticle
What's new:
- New module! Danger... Currently, allows you to access Instrumentation and retransform Classes at runtime with ASM.
- Added new RegistryUtil methods, instead of using reflection, you can use an Item Supplier.
- In a similar fashion, ScreenParticleHelper now has Supplier methods, including one with
count
. - Added findMethod(Class<T>, String, Object...) to ReflectionUtil.
- Modules' dependencies are now declared in fabric.mod.json.
- On Minecraft <=1.19.2, FakeWorld constructor is no longer public.
- The
extend
method is now implemented on single-constructor enums. - Fixed an issue with Raid.Member extension.
- You now can't instantiate Utility classes.
- Updated Fabric Loader.
What's new:
- Added vanilla particle support to
cracker-util-screen-particles
. - On <=1.19.3, Fixed an NPE when rendering particles during world loading.
- On the same note, fixed particle ticking during world load.
- Added FakeWorld.FAKE_WORLD. Which is a fake ClientWorld, currently used by
cracker-util-screen-particles
to create particles. On >=1.19.3 Suspends client loading to init the class. - Updated Loom.
Checkout the wiki! Now updated with more info.