RedWire's Plugin is a thing that I've been using mostly to help with my own mod-making experience. Hopefully, some of the additions from this plugin will be useful to other people :)
Supported plugin versions:
Forge 1.19.2, Forge 1.19.4, Forge 1.20.1, NeoForge 1.20.4, NeoForge 1.20.6, NeoForge 1.21.1, NeoForge 1.21.4, NeoForge 1.21.8
For info on most procedures and other stuff, check this file
Changelog
for the full list of changes, check this file
v6.2.2
Added (value = Dist.CLIENT) to the @EventBusSubscriber of "Client tick update" to prevent dedicated server crashes (teehee woopsies)
v6.2.1
The world dependency for "Client tick update" global trigger now uses Minecraft.level instead of Minecraft.player.level()Added some automatic null-checks if a procedure using the "Client tick update" global trigger requires the "world" dependency or "x, y, z" (which null-checks Minecraft.player)
v6.2.0
Set all util methods for 1.21.4< procedures to "private static" (not that it really matters procedure-wise anyway)Added global trigger "Client tick update". This is *not* the same as "doing something on player tick but client-only", as this event can fire each tick even if target entity or world is null. (With that being said, null-checks are highly recommended to avoid crashing). Personally, I added this for my C2S packets.
v6.1.2
Added a method override for "isCancelable" for the Forge version of PlaceholderEvent to actually allow event "canceling"
v6.1.1
Added client-side indicator to "Is [entity] moving" procedure (curse you deltamovement *shakes fist at air*)Added client-side indicator to "Are overlays hidden" (This one probably should have been more obvious, but still)
Comments
Dunno, works for me fine no problem. If you wanna attempt to keep entities from targeting you, you can set a "Entity sets its attack target" global trigger, use the "Set new target of source entity to [entity]" under the event procedures tab, and use the "No entity" block
I believe it checks for the first block that is closest to Entity1 thats in the way of it and Entity2, considering the raycasting starts from that.
Also, make sure you're using the "Can Entity1 find Entity2" check from my plugin aswell, as it'll just return 0,0,0 if there is no block in the way
Is it possible to make it so that timed loops also support decimal values and not just integers?