- Fixed mine_radius_one_deep
- Added ability to disable holder update on item pickup (Thanks EricSzabo!)
- Added sheep_color filter (Thanks exanthiax!)
- shear_entity now supports snowmen (Thanks exanthiax!)
- Added honey_level_full filter (Thanks exanthiax!)
- Added honey triggers (Thanks exanthiax!)
- Fixed points commands not working with global points (Thanks OfTeN!)
- Improved mine_radius_one_deep (Thanks b0hle!)
- Fixed damage_twice (Thanks OfTeN!)
- add_enchant, remove_enchant, and has_enchant all now support enchantments from datapacks
- has_skill_level now supports AuraSkills
- Filters can now have both the regular and inverse present at the same time
- Added spawner_entity filter (Thanks exanthiax!)
- Added custom item tags, you can create them in /plugins/libreforge/tags.yml
- Updated to eco 6.73.0, make sure to update
- Added has_enchant condition (Thanks Exanthiax!)
- Added enchant filter (Thanks Exanthiax!)
- Added add_durability effect to modify item durability (Requires Paper 1.21+)
- Improved add_enchant and remove_enchant
- Fixed EcoSkills add_stat flicker (make sure to be on latest EcoSkills)
- Added new EcoScrolls triggers, conditions, effects, and filters
- Fixed AuraSkills add_stat integration flickering on reload
- Fixed bonus_health flicker
- Added in_gamemode condition
- Fixed safe_fall_distance
- Fixed Java 17 Compatibility (1.17 - 1.19.4 servers)
- Fixed AuraSkills integration (Thanks mishonenchev!)
- Fixed attributes on pre-1.21 (Thanks Kapitowa!)
- Added AxEnvoy integration (Thanks exanthiax!)
- Added NuVotifier integration (Thanks exanthiax!)
- Fixed error with craft trigger on 1.21
- Fixed rotate effect and added new rotate_victim effect
- /libreforge points now works with global points, just pass "global" in as the player
- Added safe_fall_distance effect (1.21+)
- Added block_reach and entity_reach effects (1.21+)
- Added mining_efficiency, mining_speed_multiplier, and underwater_mining_speed_multiplier effects (1.21+)
- Added gravity_multiplier effect (1.21+)
- Added increase_step_height effect (1.21+)
- Added jump_strength_multiplier effect (1.21+)
- Added movement_efficiency_multiplier and sneaking_speed_multiplier effects (1.21+)
- trident_attack is now paper-only
- Updated various internals to be 1.21-based, please report any bugs that occur with previous versions
- Updated to Java 21
- Added option to add certain ItemFlags to all items on the server (e.g. to globally hide attributes). This will require display-without-meta to be set to true in /plugins/eco/config.yml
- Fixed cross world block break issue
- Fixed attribute bug
- Fixed 'heavy arrows' bug on 1.21+
- Fixed LevelledMobs version compatibility issues
- Fixed console spam on 1.20.6
- Fixed a long list of bugs related to slots
- Added several new effects/conditions and made several improvements to existing effects/conditions (Thanks Callum!)
- Several memory optimisations (Thanks Casper!)
- Added 1.20.6 support
- Added in_slot condition, see here for more info:
https://plugins.auxilor.io/effects/all-conditions/in_slot
- API: Added SlotType.isOrContains(SlotType) for compatibility with CombinedSlotType
- API: Added SlotItemProvidedHolder<T> which should be used instead of ItemProvidedHolder when fetching holders when possible
- Temporarily disabled holder refresh cooldown due to bugs
- Fixed memory leaks with add_holder, add_holder_in_radius, and add_holder_to_victim (Thanks Casper!)
- Massively improved general plugin performance with new holder refresh cooldown, set to 250ms by default but can be changed or disabled entirely (Thanks Casper!)
- API: Added Dispatcher<*>.forceRefreshHolders() if the cache must be bypassed. This should only be used in exceptional circumstances.
- Triggers that are disabled (i.e. not in use) will no longer have their listeners registered at all, improving performance and massively reducing memory use
- Trigger and TriggerData hashcodes are now lazy-evaluated instead of being evaluated on each call, improving performance (Thanks Casper!)
- Various improvements and fixes to several triggers, including fixing potential memory leaks (Thanks Casper!)
- Fixed dupe bug for some items with multiply_drops
- Fixed alt_click
- More optimisations to move and change_chunk
- More performance improvements
- Fixed item_points_above, item_points_below, item_points_equal (Thanks OfTeN!)
- Fixed disabled triggers still running
- Fixed add_holder_in_radius
- Fixed memory leak with add_holder_to_victim
- Improved hashCode() performance under load for holders (Thanks Kapitowa!)
- Added optional check for meta (defaults to true) for switching to an item updating the holders (Thanks Kapitowa!)
- AFK Players will no longer have their holders updated by default (Thanks Kapitowa!)
- Fixed regen_multiplier (Thanks Kapitowa!)
- Various small optimisations to effect triggering (Thanks Kapitowa!)
- spawn_particle now runs async (Thanks Kapitowa!)
- Significantly improved performance of ItemHolderFinder, this has been the main source of performance issues for users
- Fixed cancel_event not always working as expected
- Fixed condition-not-met lore not respecting some placeholders
- give_item effect now supports multiple items (Thanks OfTeN!)
- Improved send_message and shear_entity triggers (Thanks OfTeN!)
- Fixed severe bugs with static trigger
- Fixed severe bugs with /libreforge trigger
- Fixed many bugs with various effects, triggers, conditions, etc caused by reload
- Fixed many more other bugs
- Categories will no longer clear on shutdown
- Fixed the plugin not loading for certain users since last version
- Fixed compatibility with Veinminer (Thanks Choco!)
- Optimised move and change_chunk triggers (Thanks Casper!)
- Added animation effect to play animations, more will be added in the near future
- API: Added Animation API
- Fixed give_permission causing errors with NPCs
- Added Model Engine integration: play_animation effect
- API: Added EntityProvidedHolder
- Added this_item filter
- Added support for TerraformGenerator custom biomes (Thanks OfTeN!)
- Added /libreforge debug command
- Fixed broadcast effect
- API: Added TypedHolderProvider<T>, TypedProvidedHolder<T>, and further improved ItemHolderFinder
- API: Added Dispatcher#getHoldersOfType<T: Holder>(): Collection<T>
- Fixed potential memory leak with entities
- Fixed bug where some placeholders wouldn't work in some places in some effects
- API: TriggerData is no longer a data class
- Fixed custom biomes integration (Thanks OfTeN!)
- Fixed location_to_drop mutator (Thanks OfTeN!)
- Added keep_levels effect as xp counterpart to keep_inventory - use both if you want to have vanilla-style keep inventory
- Fixed transmission effect
- Fixed add_holder, add_holder_in_radius, add_holder_to_victim, and add_permanent_holder_in_radius not inheriting base holder placeholders
- Fixed several bugs with placeholders in effects / conditions / etc
- Fixed nested chains not working properly
- Fixed holder placeholders not working with permanent effects
- Several other bugfixes and stability improvements
- Added custom biomes integration with Terra (Thanks OfTeN!)
- Added location_to_drop mutator (Thanks OfTeN!)
- Updated Kotlin, should fix errors for some people
- Fixed move trigger not working
- Improved/Fixed smelt trigger (Thanks OfTeN!)
- Added drop_item_slot effect (Thanks OfTeN!)
- Removed paper-plugin.yml
- Added missing add_global_points effect
- Added complete_advancement trigger
- Added advancements filter
- Added has_completed_advancement condition
- Added smith_item trigger
- Added open_crafting effect
- Added TAB integration: has_scoreboard_visible, has_boss_bar_visible
- Fixed AttributeEffect console spam from last version
- Big improvements to are and aoe_blocks: they will now run from the supplied location, rather than from the player's location. You may need to update some effects to have a location_to_player mutator
- Fixed all_players, random_player, run_chain, and nested chains for non-player triggers
- Added victim_as_dispatcher mutator
- Fixed Block and Location dispatchers
- Added dispatcher_as_player and dispatcher_as_victim mutators
- Improved all existing triggers for Dispatcher system
- Fixed run_command effect
- Fixed click_block and click_entity triggers firing twice (Thanks PQGuanfang!)
- API: Added TriggerData#dispatcher - there is no corresponding TriggerParameter as trigger data will always contain a dispatcher
- Several other performance and stability improvements
- Added new `Dispatcher` interface. A dispatcher can represent a Player, Entity, Block, or even the Server.
- Holders (e.g. Enchantment Levels, Talismans, EcoItems) are no longer held by Players, but by Dispatchers
- Chains / Effects are now triggered by Dispatchers
- Conditions are now checked against Dispatchers
- Triggers are now triggered by Dispatchers
For Developers:
- Deprecated most core API methods and replaced them with new Dispatcher-based methods: e.g. `registerHolderProvider` has been replaced with `registerSpecificHolderProvider<T>` and `registerGenericHolderProvider`
- `Effect#onEnable` and `Effect#onDisable` have had the player versions deprecated and replaced with new versions that take Dispatchers. Update your effects!
- `Condition#isMet` has had the player version deprecated and replaced with a new version that takes a Dispatcher
- All methods like `Player#holders`, `Player#updateHolders`, etc. have been deprecated and replaced with `Dispatcher<*>#holders` etc.
To convert between an `Entity` and a `Dispatcher`, just do `Entity#toDispatcher` - the core flow and most method names have remained the same.
Your existing Effects, Conditions, etc. will still work, however you should update them ASAP as the old methods will eventually be removed!
- Added conditions.default-state-off-main-thread option in /plugins/libreforge/config.yml. This is for more advanced users and should help fix not-met-lines not showing up in rare edge cases. However, changing the value from true to false may also make not-met-lines show up when they shouldn't at times.
- Added is_expression_true filter
- Fixed take_damage causing errors on versions before 1.20
- Deprecated drop_item_for_player, use drop_item instead
- not-met-lines now also works with per-effect conditions
- Added cooldown_effects
- Added create_boss_bar, remove_boss_bar, and update_boss_bar effects
- take_damage trigger will no longer trigger for void damage, /kill, or /suicide
- API: Added RegistrableCategory
- Added is_op condition
- Added value to shoot_bow trigger, between 0 and 1 depending on bow pull
- Added value_above, value_below, and value_equals filters
- fully_charged filter now works with shoot_bow
- Added item_durability_above_percent and item_durability_below_percent filters
- smelt trigger now gives the number of items smelted as the value
- Added optional filters for mine_vein
- Job level GUI title can now be customised
- Fixed projectile_hit not working correctly
- Added damage_offhand effect
- AureliumSkills integration will no longer load if EcoSkills is installed
- Fixed is_behind_victim
- Added is_passive filter
- aoe and aoe_blocks now supports its effects having their own conditions, filters, mutators, and generic arguments
- API: Combined and deprecated MultiplierModifier and AdditionModifier. The replacement is now IdentifiedModifier
- Fixed victim placeholders (Thanks PQguanfang!)
- Improved give_food effect (Thanks Keegan!)
- Added give_saturation, set_food, and set_saturation effects (Thanks Keegan!)
- Added replant_crops effect (Thanks Callum!)
- Fixed empty slots sometimes passing conditions like in_mainhand, in_offhand, etc.
- Cleaned up ItemData and ItemPoints
- Added option to not always process blocks with telekinesis, improves compatibility with other plugins
- Fixed console spam caused by Paper ItemStack#isEmpty change for people not on the latest version
- Nested chains now support their own Conditions, Mutators, Filters, and generic arguments like 'chance', 'repeat', 'cooldown', etc.
- Fixed color parsing in run_command and run_player_command
- Fixed plugin not starting up on paper 1.17.1
- Fixed standing_on_block not working for non full-height blocks
- click_entity trigger now only fires for living entities
- Fixed spectral and tipped arrows not working with bow_attack
- aoe and aoe_blocks now start at the player's eye location
- Fixed beam and scan_in_front AOE shapes not working properly
- particle_line effect now fires from eye height
- Fixed bugs with counters
- Fixed empty_bucket
- Added aoe_blocks effect, works the same as aoe but affects blocks instead of entities
- Effects given to aoe and aoe_blocks now also have the location of the entity/block, useful to have particle animations etc
- Added beam AOE shape
- break_block effect now prevents re-triggering of other block mining effects (e.g. mine_radius)
- Fixed alt_click firing twice if clicking on a block
- Added location to consume trigger (allows more effects to be used on it)
- Added item data system, like item points but for strings: comes with two new effects (set_item_data, remove_item_data), and two new conditions (has_item_data, item_data_equals).
- Added %libreforge_item_data_<key>% placeholder to be used with items
- Added value: <value> to counters as an alternative to multiplier
- Added is_falling condition
- Added is_flying condition
- Added is_boss filter to replace only_bosses and only_non_bosses
- Fixed play_sound
- API: Improved SlotType to be more general-purpose
- Fixed deprecation messages not being sent. You may get warnings in console when updating, just update your configs with what the warnings say
- Fixed set_item_points not working in most situations
- Fixed set_custom_model_data not working in most situations
- Fixed item_durability_above and item_durability_below filters not always working as expected
- Fixed projectile_hit not working properly
- Added set_armor_trim effect (Thanks Sen!)
- Added vicitm_speed_multiplier (Thanks Sen!)
- Fixed AOE not working properly (Thanks Sen!)
- Fixed age_crop not working (Thanks Sen!)
- Removed "Effects >" prefix for cooldown, cost, and others
- Improved some default messages in lang.yml
- Added custom effect arguments, read here for more information:
https://plugins.auxilor.io/effects/custom-arguments
- Fixed server crash bug
- (For debugging) Added ability to put libreforge.jar (with no version) into /plugins/libreforge/versions to force it to load
- (API) Added Effects.compileChain without specifying an executor
- Stopped shading minimessage, fixes bugs on 1.17
- Fixed brew trigger, again (Thanks OfTeN!)
- Fixed custom run_order not working
- Added left_click_npc and right_click_npc triggers (Requires Citizens)
- Added npc filter (Requires Citizens)
- brew and brew_ingredient no longer require the player to have the brewing stand open when brewing finishes (Thanks OfTeN!)
- Added /libreforge points commands: set / give / get / take (Thanks OfTeN!)
- API: Counters are now cloneable
- Categories will now clear on shutdown
- Added run_order argument to all effects to override the default order in which effects run. This isn't needed in most circumstances and may cause unintended behaviour if used incorrectly, however it can be used (for example) to make add_damage run before damage_multiplier.
- Fixed give_permission effect not working correctly
- Fixed error with bleed effect for non-paper users
- Fixed exploit with damage_nearby_entities (Thanks Kapitowa!)
- Improved take_entity_damage trigger to work with projectiles
- Fixed click_block trigger working on left-click
- Fixed play_sound not working with placeholders
- Values in placeholder_equals and placeholder_contains can now themselves contain placeholders (Thanks Sen!)
- Added support for multiple commands in run_player_command and run_command effects (Thanks Sen!)
- Added support for glow berries with fully_grown filter (Thanks Sen!)
- Fixed block_item_drop not working with the block filter
- Fixed bug where bedrock could be broken with drill
- Improved transmission effect
- Added support for nested chains, you can put chains inside other chains now
- Deprecated drop_random_item_for_player, merged into drop_random_item
- Deprecated run_chain_inline, replaced fully with native chains
- Removed all previously deprecated APIs
- Fixed plugin performance! The vast majority of all performance was taken up by Config#getDoubleFromExpression and Config#getIntFromExpression, and this has been fixed. Make sure to update to the latest version of eco to get these performance benefits.
- Heavily optimised conditions, unused conditions will no longer trigger updates at all
- Added on_ground condition (Thanks Sen!)
- Added in_rain condition (Thanks Sen!)
- Added in_bubble condition (Thanks Sen!)
- Added in_lava condition (Thanks Sen!)
- Improved replace_near condition, it's now possible to make frost walker-style effects and an example has been added on the wiki (Thanks Sen!)
- Added click_block trigger as limited range alternative to alt_click
- Fixed in_region condition
- Fixed potential lag exploit
- Heavily optimised trigger dispatching to prevent unused triggers from ever dispatching (API-wise, TriggerDispatchEvent will now only be called if the trigger would be used by anything)
- Updated config.yml, added effects.use-setblock-break for advanced users
- 'every' argument will no longer fire the first time (Thanks Kapitowa!)
- Optimised effect triggering by >30% (Thanks Kapitowa!)
- Added tame_animal trigger
- Added name_entity effect
- Fixed MultiMultiplierEffect-based effects, e.g. skill_xp_multiplier, job_xp_multiplier, pet_xp_multiplier, regen_multiplier, etc.
- Fixed empty item_levels NBT tag
- Added rapid_bows effect
- Added telekinesis effect
- Added close_inventory effect
- Fixed elytra_boost_save_chance effect (and all ChanceMultiplierEffect-based effects)
- Improved and optimised change_world trigger (Thanks OfTeN!)
- Fixed bleed effect triggering kill multiple times
- Fixed static triggers not working since last version
- Added decimal support to bonus_health
- Added reason to regen_multiplier
- Added swarm effect
- Added target_player effect
- API: Updated how triggers are enabled
- Optimised trigger dispatching to prevent overhead from unused triggers
- Fixed effects not supporting certain triggers when the mutators would allow it
- API: Mutators now come with TriggerParameterTransformers to specify this behaviour
- Fixed bugs with dynamically registered triggers (e.g. enchant_<type>)
- Added send_minimessage effect (Requires Paper)
- Chain elements are now weighted, so you can make certain elements (effects) more likely than others if using the 'random' run-type.
- API: Chains can now be triggered directly without manually creating a DispatchedTrigger.
- Chains will now be considered executed if any element in them triggered successfully. This fixes bugs where effects lower down in chains are not executed if effects above them failed to run
- Fixed %hits% and %distance% not working
- Fixed feather_step effect breaking pressure plates
- Fixed multiply_velocity effect
- ConditionBlock#isMet is now thread-safe: this fixes many bugs, including where players could be kicked for seemingly no reason
- Massively optimised Condition not-met-lines
- Fixed custom placeholders not being formatted properly
- Fixed pets being invisible when players are invisible
- Fixed bugs with give_health effect
- Added drop_weighted_random_item effect
- Deprecated drop_random_item_for_player (merged into drop_random_item)
- API: Added more ways to register holder placeholder providers
- Unused triggers will no longer be dispatched, which should improve server performance
- Added item points and item levels, read more here:
https://plugins.auxilor.io/effects/item-levels
- Added item_level_above, item_level_below, and item_level_equals conditions
- Added item_points_above, item_points_below, and item_points_equal conditions
- Added give_item_points effect
- Added multiply_item_points effect
- Added level_item_effect
- Added set_item_points effect
- Added set_global_points effect
- Added set_custom_model_data effect
- Added level_up_item trigger
- API: Added TriggerData#foundItem as a shorthand for data.holder.getProvider<ItemStack> ?: data.item
- Added jump option to pull_to_location
- Fixed set_block effect
- Fixed leave_region trigger
- Fixed configs that exist by default occasionally losing all formatting
- Fixed flicker with permanent_potion_effect
- Fixed send_message not working in action bar since a few versions ago
- Fixed tons of triggers firing multiple times (Fixes multiply_drops among others)
- Added conditional custom placeholders, you can now make completely dynamic placeholders based on conditions that integrate with PlaceholderAPI! Read more here:
https://plugins.auxilor.io/effects/custom-placeholders
- Added drop_random_item and drop_random_item_for_player effects
- Fixed bug with Attribute effects
- Identical triggers will no longer dispatch in the same tick: this not only removes the cooldown workaround as a necessity, but this should also lead to significant performance improvements!
- Added global points which belong to the server rather than to the player: you can access these with %libreforge_global_points_<id>% and control them with new give_global_points and multiply_global_points effects, and new above_global_points, below_global_points, and global_points_equal conditions
- Added custom placeholder system, read more here:
https://plugins.auxilor.io/effects/custom-placeholders
- Added load-weight option to all configs, you can add it to any config to change the load order, read more here:
https://plugins.auxilor.io/effects/configuring-an-effect#load-weight
- Added reel_speed_multiplier effect
- Added multi-message support to send_message effect
- Fixed pointless limitation with points
- API: Cleaned up ProvidedHolder, to get the ItemStack from a ProvidedHolder you can do holder.getProvider<ItemStack>() now
- Added damage_twice effect
- Added brew_ingredient trigger
- catch_fish now passes the XP dropped as the value
- Added damage_item effect
- Added repair_item effect
- Added `multiplier` option to multiply_drops instead of fortune
- Counters now support all effect arguments (e.g. chance, every, etc.)
- Added brew_time_multiplier effect
- Added potion_duration_multiplier effect
- Added dont_consume_lapis_chance effect
- Added dont_consume_xp_chance effect
- Added item_durability_above filter
- Added item_durability_below filter
- add_holder (and related effects) no longer require specifying conditions
- Various fixes
- Added run_command trigger
- Added teleport trigger (Thanks Sen!)
- Fixed add_stat flickering for AureliumSkills users
- Added homing effect to make projectiles hone in on enemies (Homing Arrows, Homing Tridents)
- Added piercing effect to allow projectiles to pass through entities and hit multiple at once
- (API) Added new TriggerPlaceholder API to generate placeholders from TriggerData, much cleaner than using a TriggerDispatchEvent listener
- Fixed crit_multiplier
- TriggerData#item will now be passed in to get ItemStack-based placeholders if the holder provider is not an ItemStack
- Added %location_x%, %location_y%, %location_z%, and %location_world% placeholders (shorthand: %x%, %y%, %z%, %world%)
- Added /libreforge reloadextensions command
- Fixed repeats not working correctly
- Fixed elytra_boost_save_chance
- Fixed placeholder injections not working for permanent effects
- Updated to use new eco 6.56.0 placeholder system
- Added enable and disable triggers
- Added create_hologram effect
- Added kick effect
- Added clear_invulnerability effect
- Optimised mining effects (mine_radius, vein, drill, etc)
- Various other optimisations
- Reworked holder loading, duplicate holders will now load properly
- Fixed critical bug with bonus_health and health with add_stat (Thanks SenMC for testing!)
- Fixed bug with the price effect argument (Thanks OzzeR for providing a config to test with!)
- Prices will now throw an exception if they are set to a negative value
- Fixed all effect arguments being called twice for direct-ID chains
- (API) Made all block (EffectBlock/ConditionBlock/etc) constructors internal, this was an oversight, these should not have been public
- Rewrote AttributeModifier-based effects
- Fixed flight effect
- Fixed inverse filters not working
- Fixed potential 'flicker' bug with attribute effects
- Fixed points not integrating with price system
- Config categories can now preload to resolve load order issues
- Removed any use of DefaultArtifactVersion to fix 1.17 support
- Updated to eco 6.55.0
- Fixed extremely critical bug with Counters (Thanks everyone who reported!)
- (API) LibreforgePlugin#categories is now locked, you have to use LibreforgePlugin#addCategory to prevent desync
- (API) Added ViolationLogger and SilentViolationContext to allow for silent compilation
- Fixed ignite effect errors
- Added item_durability_multiplier effect
- Fixed DefaultArtifactVersion not existing for 1.17 users
- Improved exception handling and error logging on reload / startup
- Fixed legacy chains.yml's not working
- Fixed spawn_entity effect being marked as permanent
- Fixed inverse: true not working for conditions
- Fixed several critical bugs with permanent effects
- Fixed legacy config loading
- Added launch-at-location option to shoot and shoot_arrow
- Fixed loading error with mismatched libreforge versions (Thanks in part to OfTeN!)
- Improved violation messages (Thanks OfTeN!)
- Fixed points placeholder
- Fixed spawn_mobs effect being considered permanent (Thanks OfTeN!)
- Fixed AOE effects compiling wrong (Thanks OfTeN!)
- Added holder placeholders
- And added %text%, %string%, and %message% to access the TEXT parameter in placeholders
- Fixed top-level conditions not working
- Fixed not met effects not working
- Conditions can now access ProvidedHolder
- Deprecated config methods without ProvidedHolder, will be removed in a future release
We've updated from libreforge v3 to v4!
libreforge is the system that powers all of the effects in my plugins, and the v4 update is a total rewrite from the ground up to make your effects faster, more flexible, and more powerful!
So what's new?
- libreforge 4 installs
itself as a standalone plugin, making libreforge 4 up to 11 times faster
- One unified API for all libreforge plugins; it's easier than ever to create extensions and make your own custom Effects/Conditions/Triggers, etc
- Streamlined project setup for developers with the new libreforge gradle plugin, and no more boilerplate config / lang / chains / etc. This also comes with a move to repo.auxilor.io rather than jitpack!
- Native support for CompileData, Chains, etc.
- Ability to actually access and modify the item / entity that provides effects; in the future it will be possible to change the actual item damage etc.
- Streamlined configuration found at /plugins/libreforge instead of having 11 different lrcdb.yml's, etc. config.yml and lang.yml are simpler now too!
- Massively improved performance and stability
- Tons of bugfixes
Will my configs break?
No! All your configs will still work exactly as they did before, it's just a new engine under the hood to bring them to life.
As you can see - I'm absolutely thrilled about this update and the possibilities it's going to bring in the future. It's been over 2 months in the making and I've never been happier to publish a release!
- Changed load order to POSTWORLD
- Fixed elytra_boost_save_chance (Thanks WobbyChip!)
- Fixed damage_item trigger (Thanks WobbyChip!)
- Made damage_item cancellable (Thanks Casper!)
- Removed ProtocolLib as a dependency
- Removed PlaceholderAPI as a dependency
- Improved alt_click location detection (Thanks OfTeN!)
- Improved change_world trigger (Thanks OfTeN!)
- Added %ecojobs_top_<job>_<place>_name% and %ecojobs_top_<job>_<place>_amount% placeholders (Thanks OfTeN!)
- Added %level_numeral% placeholder (Thanks PQguanfang!)
- Added support for joining multiple jobs at once, with a configurable limit and the ecojobs.limit.<limit> permission for groups
- Updated main GUI to work with multiple jobs
- Fixed edge cases with craft trigger (Thanks Jeck!)
- Fixed bug with shuffle_hotbar (Thanks OfTeN!)
- Fixed flight effect (Thanks OfTeN!)
- Added fill_bucket, empty_bucket, and shear_entity triggers (Thanks Exanthian!)
- (API) Added JobEvent interface
- Fixed keep_inventory effect not clearing drops, breaking support with some plugins (Thanks PQguanfang!)
- Updated points placeholders to not require initialization
- Fixed projectile effects not working on bow_attack (Thanks OfTeN!)
- Fixed has_job_level condition (Thanks OfTeN!)
- Added flight effect (Thanks OfTeN!)
- Added block parameter to alt_click (Thanks OfTeN!)
- Added block_to_location mutator (Thanks OfTeN!)
- Recoded remove_item effect to use the Price system under the hood
- Fixed bug with autosmelt and block_item_drop
- Fixed bug with entity_item_drop
- Added villager_trade trigger
- Fixed leave_job trigger
- Fixed has_active_job condition
- Fixed block_item_drop and entity_item_drop being called on empty block drops (e.g. breaking glass)
- Updated prices internally for grouping in messages
- Fixed potential bug with static trigger / triggers where the player is the victim not working with certain antigrief integrations
- Added enter_bed and leave_bed triggers
- Added entity_target trigger
- Updated to new eco price API (fixes support with EcoShop)
- Added player_name and victim_name filters
- Added at_least_of condition, like any_of except you specify a minimum number of conditions to be met
- Added near_entity condition
- Added is_npc filter (Thanks OfTeN!)
- Fixed bugs with chunk loading/unloading and the glow_nearby_blocks effect (Thanks OfTeN!)
- Fixed alt_click firing with pressure plates (Thanks danieleguglietti!)
- Fixed bug with craft trigger (Thanks OfTeN!)
- Fixed bug from last update
- Fixed lumberjack.yml (Thanks Kris!)
- Added /jobs <job> to directly open level GUI for any specific job
- Added can_afford_price condition
- Fixed many triggers not working with effects that they should work with (because location can automatically be inherited from victim, etc); you now only have to specify the exact parameters you export and inherited trigger parameters will automatically be applied.
- Added give_price and pay_price effects
- Fixed multiply_all_stats
- Added job filter to join_job trigger (Thanks OfTeN!)
- Added add_holder_to_victim (Thanks OfTeN!)
- Fixed placeholder parsing with victim_as_player and player_as_victim mutators
- Reworked level GUI internally to use ecomponent
- Added option to not specify items with multiply_drops trigger
- Added potion_effect filter (Thanks OfTeN!)
- Fixed bug with tab completion (Thanks OfTeN!)
- Fixed traceback not working
- Added damage_mainhand effect
- Added is_behind_victim filter
- Fixed add_holder_in_radius not working
- Fixed camelCase config keys not working (if you use them)
- Removed debug messages that were accidentally left behind when using cooldowns
- Fixed remove_item not working properly
- Added item as an option instead of items to in_mainhand, in_offhand, wearing_helmet, wearing_chestplate, wearing_leggings, wearing_boots, and recoded all of those conditions
- Added true-damage option to damage_victim, to bypass reductions (armor, defense, etc)
- Added AOE effect to run effects on a group of entities around the player (or in a cone, ahead of the player, etc) - read more about it here:
https://plugins.auxilor.io/effects/all-effects/aoe
- Reworked filters (again) and rewrote them with a much cleaner API
- Massively cleaned up Effect / ConfiguredEffect internals
- Added API for generic effect arguments to add your own (e.g cost, mana_cost, chance, cooldown, etc.)
- Added %hits% placeholder to track the amount of times a player has hit an entity
- Added require as a generic argument, which requires some expression to be true (e.g. require: %hits% < 3) - this functions like a shorthand version of is_expression_true
- Optimisations to chains / add_holder / other effect groups
- Lots of internal cleanups and various other bug fixes
- Added drop_item and drop_item_for_player effects
- Fixed spawn_mobs effect allowing the mobs to attack the player
- Fixed bugs with filters, camelCase config keys, and a couple related bugs
- Added lrcdb support - an open, accessible area to share and download configs for EcoEnchants, EcoBosses, Talismans, EcoArmor, EcoItems, Reforges, EcoPets, EcoJobs, and Actions! (Boosters coming soon). You can export configs from in-game, and download them with a command. Have a look around on
https://lrcdb.auxilor.io!
- Fixed config not recognising camelCase separated words (underscore_separated, hyphen-separated and unseparated work too)
- Added drop_item trigger (Thanks MillionthOdin16!)
- Added is_swimming condition (Thanks MillionthOdin16!)
- Added leash_entity trigger (Thanks MillionthOdin16!)
- Fixed default builder.yml (Thanks OfTeN!)
- Added %ecojobs_job_level% placeholder (Thanks devbaraus!)
- Added pick_up_item trigger
- Fixed skill_xp_multiplier not working with AureliumSkills
- Added 3 more default jobs
- Added teleport_to_ground effect
- Added in_block condition
- Fixed disable_antigrief_check not working
- Fixed autosmelt and multiply_drops not working together
- Added knock_away effect
- Added pull_to effect
- Added fully_charged filter
- Added spawn_entity effect
- Added take_money effect
- Fixed give_money not working with negative amounts