90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...
Filter channels...

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

  • AdvancementFilter will filter icon correctly
  • DamagePredicateBuilder.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() and AdvGetter.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
  • /advjs will generate correct code

Rename

  • AdvRemoveFilter -> AdvancementFilter
  • GameType -> GameMode
  • BaseTrigger -> CustomTrigger

Updates to latest version

Diff

  • No /advjs command
  • No example script

Breaking Changes

Compat

  • Revelationary(Fabric only), the new client event: AdvJSEvents.revelation
  • EventHorizon(Forge only), the new client event: AdvJSEvents.revelation

Reconstruct

  • ServerEvents.advancement -> AdvJSEvents.advancement
  • AdvConfigureEventJS.lock -> AdvJSEvents.lock

Addition

  • The new startup event AdvJSEvents.trigger, for registering custom trigger
    • Use CustomTriggers.of(id: ResourceLocation): BaseTrigger to get your custom trigger for triggers
    • Use Trigger.custom(id: ResourceLocation): BaseTriggerInstance to create a trigger instance for criteria

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 requireParentDone and requireOthersDone use 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.


Project members

westernat233

Owner

Details

Licensed LGPL-2.1-only
Published 10 months ago
Updated 6 months ago