Addition
AdvConfigureEventJS.removeAll()AdvConfigureEventJS.enableRecipeAdvancementsRemoval()
Remove
{ mod: "*" }of AdvancementFilter
Fixed a stupid bug about AdvancementFilter
Fix
- Removed compat with Revelationary(EventHorizon), so that ProbeJS could successfully generate js doc
- common.properties will create AdvJS configures correctly
Fix
AdvancementFilterwill filter icon correctlyDamagePredicateBuilder.setType(predicate)->DamagePredicateBuilder.setTypeByPredicate(predicate)
Addition
- Client example in
/advjs
Compat
Better Advancements: the new server event:AdvJSEvents.betterAdv
Addition
- AdvLockEventJS.itemUse(toLock: Item, lockBy: ResourceLocation): void
- AdvLockEventJS.blockInteract(toLock: Block, lockBy: ResourceLocation): void
- AdvLockEventJS.entityInteract(toLock: EntityType<any>, lockBy: ResourceLocation): void
Binding
- AdvHelper: for checking server player's advancement isn't done
Upgrades
- AdvancementFilter: compound type is available
Addition
AdvBuilder.repeatable()andAdvGetter.repeatable()- If invoked this method, the advancement will revoke after grant automatically.
AdvGetter.changeParent(parentId: ResourceLocation)- PlayerPredicateBuilder.checkAdvancementCriterions(advancement: ResourceLocation, criterions: Map<String, Boolean>)
Fix
- If an advancement has no display, the displayModifier will not throw error, but create a new display
/advjswill generate correct code
Rename
AdvRemoveFilter->AdvancementFilterGameType->GameModeBaseTrigger->CustomTrigger
Updates to latest version
Diff
- No
/advjscommand - No example script
Breaking Changes
Compat
Revelationary(Fabric only), the new client event:AdvJSEvents.revelationEventHorizon(Forge only), the new client event:AdvJSEvents.revelation
Reconstruct
ServerEvents.advancement->AdvJSEvents.advancementAdvConfigureEventJS.lock->AdvJSEvents.lock
Addition
- The new startup event
AdvJSEvents.trigger, for registering custom trigger- Use
CustomTriggers.of(id: ResourceLocation): BaseTriggerto get your custom trigger for triggers - Use
Trigger.custom(id: ResourceLocation): BaseTriggerInstanceto create a trigger instance for criteria
- Use
Addition
- BlockDestroyedTrigger.Builder.ofTag(tag: ResourceLocation): void
- AdvConfigureEventJS.lock(toLock: Ingredient, lockBy: ResourceLocation): void
- AdvConfigureEventJS.lock(toLock: ItemPredicate, lockBy: ResourceLocation): void
- Trigger.fromJson(json: JsonObject): CriterionTriggerInstance
Removal
- AdvConfigureEventJS.lock(toLock: ItemStack, lockBy: ResourceLocation): void
- AdvConfigureEventJS.lock(toLock: ItemStack, lockBy: AdvBuilder): void
Fix
- Allow
requireParentDoneandrequireOthersDoneuse in same advancement
New method
- requireOthersDone(requires[]: ResourceLocation...)
- It will check if advancements that you put in had done.
New feature
- Outputting more debugging information.
- More advancement warning message show in advancement.
- Banding Bounds to KubeJS
- New trigger: increasedKillScore
- Triggers when the player killed an entity, it will match the score that player increased.
Rename
- AdvBuilder.getSavePath() -> AdvBuilder.getId()
1.18.2 will stop updatting, and just fix bug.



