- requireOthersDone(requires[]: ResourceLocation...)
- It will check if advancements that you put in had done.
- 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 triggerTest the score that player increased.
- AdvBuilder.getSavePath() -> AdvBuilder.getId()
- 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
- AdvConfigureEventJS.lock(toLock: ItemStack, lockBy: ResourceLocation): void
- AdvConfigureEventJS.lock(toLock: ItemStack, lockBy: AdvBuilder): void
- Allow
requireParentDoneandrequireOthersDoneuse in same advancement
Revelationary(Fabric only), the new client event:AdvJSEvents.revelationEventHorizon(Forge only), the new client event:AdvJSEvents.revelation
ServerEvents.advancement->AdvJSEvents.advancementAdvConfigureEventJS.lock->AdvJSEvents.lock
- 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
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>)
- If an advancement has no display, the displayModifier will not throw error, but create a new display
/advjswill generate correct code
AdvRemoveFilter->AdvancementFilterGameType->GameModeBaseTrigger->CustomTrigger
- AdvLockEventJS.itemUse(toLock: Item, lockBy: ResourceLocation): void
- AdvLockEventJS.blockInteract(toLock: Block, lockBy: ResourceLocation): void
- AdvLockEventJS.entityInteract(toLock: EntityType<any>, lockBy: ResourceLocation): void
- AdvHelper: for checking server player's advancement isn't done
- AdvancementFilter: compound type is available
AdvancementFilterwill filter icon correctlyDamagePredicateBuilder.setType(predicate)->DamagePredicateBuilder.setTypeByPredicate(predicate)
- Client example in
/advjs
Better Advancements: the new server event:AdvJSEvents.betterAdv
- Send custom message to player who tried to interact with locked things
AdvJSEvents.betterAdvsupport modify vanilla displayBetterAdvModifiersupport more override method
- Removed compat with Revelationary(EventHorizon), so that ProbeJS could successfully generate js doc
- common.properties will create AdvJS configures correctly
requireAnyDone(ResourceLocation... requires)forAdvBuilderandAdvGetterAdvancementFilter- Use
{ mod: "*" }for match all mod - Use
{ mod: "!modid" }for not matchmodid
- Use
AdvConfigureEventJS.removeAll()AdvConfigureEventJS.enableRecipeAdvancementsRemoval()