2.8.2+1.21.1-fabric
Curse Maven Snippet
What's new
2.8.2 - 1.21.1
Added
- MRPG FX (
com.mrpg_lib.fx): code-defined particle and sound effects sent as one packet per effect and built on the client. - These defined were mainly added for the Loot & Explore Update. Relic's & Weapons with Abilities will use it.
- 14 shapes, velocity and motion modes, anchors, orientations, timed effects that follow an entity, delayed layers, sounds and child effects
- 13 FX presets that are adjusted with one call: Explosion, Burst, Shockwave, Aura, Swirl, Beam, Trail, Impact, Cast, Pillar, Cloud, Slash and Storm
- Client setting
fx_densityinconfig/mrpg_lib/client_fx_v1.json - Colored copies of 13 vanilla particles, that use the vanilla textures and take any color and a scale
FxLayer.lifetime(ticks)sets how long the particles of a layer live,FxParams.startAge(ticks)starts a timed effect part way throughmrpg_lib:floating_bubbleparticle: a bubble that floats and lives for a few seconds, also outside of water- Dynamic spell school
spell_power:dynamic: always uses the strongest of your melee, ranged and magic schools, including that school's haste, critical chance, critical damage (Critical Strike for melee and ranged) and damage type - Structure processor
mrpg_lib:random_replace: turns a random number of blocks of a structure piece into another block, optional with a loot table. The other ones can stay, become a fallback block or copy the blocks around them - Structure processor
mrpg_lib:item_frame_items: gives item frames in a structure a random item from a list of item ids and tags, items of missing mods are skipped - Structure block modifiers (
data/<namespace>/mrpg_lib/structure_block_modifier/*.json): replace blocks in any structure with a chance, also in structures that are built in code like strongholds, mineshafts or nether fortresses, optional with a loot table.StructureBlockModifierProvidercreates them with datagen mrpg_lib:random_replacecan replace every target block with achance(optionally capped bycount), andkeep_propertieskeeps the old block's state properties- Structure processor
mrpg_lib:container_loot: gives chests, barrels, decorated pots, suspicious blocks and other lootable blocks of a structure a loot table with a chance, and keeps the rest of the block (facing, pot sherds) MobSpellCastGoal.withWeaponSkills(true)/MobSpellCastGoal.forWeaponSkills(...): mobs use the active skills of the weapon in their main hand (Swift Strikes, Cleave, Impale, ...) and prefer them over their other spells. The weapon is read every time a spell is picked- Spell casting mobs with an owner (
Ownable, tamed or controlled) now hit and help the same targets their owner would, so a player's summon doesn't hit its owner or other players with area spells - Beam spells of mobs don't stick to the target anymore. The beam turns towards the target with a limited speed (1.5 degrees per tick,
withBeamTurnSpeed(degrees), 0 = old behaviour) and the mob turns with it, only hits what it really touches and stops at walls, so a fast target can outrun it - Mobs also use weapons with a spell choice pool: one random spell of the pool is picked when the mob spawns, or a new one after every cast with
withWeaponSpellChoice(WeaponSpellChoice.PER_CAST) MobSpellCastGoal.withCustomCasting(CustomCasting): for mobs with their own cast animation, no Spell Engine player animation, the mob's own cast length and hooks for cast start, release and stop- Hostile mobs using the Better Combat goal or casting spells can now hit their own current target even if it is another hostile mob (for example a skeleton that shot them by accident). Other hostile mobs nearby are still spared
- Mobs with Spell Engine's evasion chance attribute play the
spell_engine:dodgeanimation when they dodge (needs playerAnimator), and spell casting mobs can't dodge while casting, like players.MobEvasion.setEvasionChance(mob, chance)sets it from code - Dev command:
/mrpg_goal <targets> weaponskills [reroll]and/mrpg_goal <targets> spellcast <spell> custom <ticks> - Loot condition
mrpg_lib:spells_available: true when Spell Engine has spells in the given pools and tiers, so a spell scroll entry is only rolled when it can get a spell (always false without Spell Engine)
Fixed
- Lifesteal, Spell Vampire, Rage, Fuse and the burning / poison chances could stop working for a long time after switching to another singleplayer world. Their cooldowns are now kept per entity, so nothing carries over into another world and old entries are cleaned up
- With Critical Strike installed, mobs couldn't cast spells of the Frost Ranged, Fire Ranged and Rage Melee schools
- Crash on startup without Spell Engine: Tiny Config is now included in the jar. Before it only came with Spell Engine
- Loot tables that use the spell scroll or spell pool function no longer stop working completely without Spell Engine. The functions just do nothing then
- The conditional item entry no longer gives an empty roll when its item is missing, one of the other entries is picked instead.
- The conditional item entry ran its functions twice. A spell scroll got two spells and
enchant_randomlytwo enchantments. Now they run once - Path processors (
path_adaptation,water_pillar,terrain_blending) now check the ground where the block really ends up, also interrain_matchingpieces. Before they looked at the height the template was saved at, which removed or swapped path blocks water_pillarbuilds each pillar once, in the chunk of its corner. Before it was built again for every chunk the path touched, which could leave a path block on top of the pillar, no fence, and "setBlock in a far chunk" errors- Unknown block ids in structure processors no longer turn into air (which made every air block of the template count as a marker), they are skipped with a warning
terrain_blendingonly copies full terrain blocks, no more plants, stairs, slabs, bricks or ores, never blocks of the structure itself, and doesn't turn snow into powder snow anymorepath_adaptationgot afallback_blockoption.stop_on_wateris ignored, it never had an effect- The conditional jigsaw structure supports
pool_aliasesand checksmax_distance_from_centerlike the vanilla jigsaw structure - NeoForge: the rage attribute and the Duelist's Focus damage changes had no effect, NeoForge ignores the damage value they changed
All Relations
- All Relations
- Embedded Library
- Optional Dependency
- Required Dependency
- Tool
- Incompatible
- Include