ItemsAdderAdditionsItemsAdderAdditions
Voortgang

Spelerspredicaten

Voeg extra vereisten voor de spelerstatus toe aan elk aangepast voortgangscriterium, zoals flags, gamemode, level, inventarisslots, effecten, locatie en vanilla-achtige entiteitspredicaten.

Since v1.0.9

Spelerspredicaten laten je extra vereisten toevoegen aan een criterium, bovenop de trigger zelf. Plaats ze onder conditions.player. De trigger moet eerst afgaan; daarna wordt het spelerspredicaat gecontroleerd vlak voordat het criterium wordt toegekend.

criteria:
  sneaky_sleep:
    trigger: slept_in_bed
    conditions:
      player:
        flags:
          is_sneaking: true

conditions.player werkt met runtime-triggers. De trigger impossible negeert spelerspredicaten, omdat die alleen handmatig kan worden toegekend.

Object- en lijstformaten

Gebruik één object wanneer je maar één predicaat nodig hebt. Alle sleutels in het object moeten overeenkomen.

conditions:
  player:
    type: minecraft:player
    flags:
      is_sneaking: true
    type_specific:
      type: minecraft:player
      gamemode: survival

Je kunt ook een lijst gebruiken. Elke invoer in de lijst moet overeenkomen. Dit is handig wanneer je liever vanilla-achtige predicaatwrappers gebruikt.

conditions:
  player:
    - condition: minecraft:entity_properties
      predicate:
        flags:
          is_sneaking: true
    - condition: minecraft:entity_properties
      predicate:
        type_specific:
          type: minecraft:player
          gamemode: survival

Bereiksyntaxis

Numerieke waarden accepteren een exact getal of een min/max-object.

level: 10

level:
  min: 10
  max: 30

Deze syntaxis wordt gebruikt door spelerslevel, voedselniveau, bewegingssnelheid, potionduur, enchantmentlevel, itemaantal, duurzaamheid, lichtniveau en andere numerieke controles.

Veelgebruikte spelercontroles

conditions:
  player:
    flags:
      is_sneaking: true
      is_sprinting: false
    type_specific:
      type: minecraft:player
      gamemode: adventure
      level:
        min: 10
      food:
        level:
          min: 16
        saturation:
          min: 4.0
SleutelTypeBeschrijving
flags.is_babybooleanKomt overeen met baby-/volwassenstatus wanneer de entiteit dit ondersteunt.
flags.is_on_firebooleanVereist dat de speler wel of niet in brand staat.
flags.is_sneakingbooleanVereist sluipstatus.
flags.is_sprintingbooleanVereist sprintstatus.
flags.is_swimmingbooleanVereist zwemstatus.
flags.is_on_groundbooleanVereist status op de grond.
flags.is_flyingbooleanKomt overeen met creative flight of glijden.
flags.is_fall_flyingbooleanVereist glijden met elytra.
type_specific.gamemodestring of lijstKomt overeen met één of meer gamemodes: survival, creative, adventure of spectator.
type_specific.levelgetal of bereikKomt overeen met het XP-level van de speler.
type_specific.food.levelgetal of bereikKomt overeen met het voedselniveau.
type_specific.food.saturationgetal of bereikKomt overeen met verzadiging.

gamemode, level, food, advancements, recipes, stats, input en looking_at kunnen ook direct in player worden geplaatst, maar type_specific is duidelijker en ligt dichter bij de vanilla-predicaatstructuur.

Inputcontroles

Inputpredicaten kunnen de huidige bewegingsinvoer van de speler controleren wanneer de server die informatie beschikbaar stelt. sneak en sprint vallen terug op de Bukkit-spelerstatus wanneer directe inputdata niet beschikbaar is.

conditions:
  player:
    type_specific:
      type: minecraft:player
      input:
        forward: true
        jump: true
        sneak: false
        sprint: true
SleutelTypeBeschrijving
input.forwardbooleanVereist de status van de vooruit-toets.
input.backwardbooleanVereist de status van de achteruit-toets.
input.leftbooleanVereist de status van de links-toets.
input.rightbooleanVereist de status van de rechts-toets.
input.jumpbooleanVereist de status van de spring-toets.
input.sneakbooleanVereist sneak-input of sluipstatus.
input.sprintbooleanVereist sprint-input of sprintstatus.

Locatiecontroles

conditions:
  player:
    location:
      dimension: minecraft:overworld
      world: world
      biomes:
        - minecraft:plains
        - minecraft:forest
      position:
        x:
          min: 100
          max: 200
        y:
          min: 60
        z: 0
      block:
        blocks: minecraft:grass_block
      light:
        min: 8
      can_see_sky: true
SleutelTypeBeschrijving
location.dimension / dimensionsstring of lijstKomt overeen met de wereldomgeving, zoals minecraft:overworld, minecraft:the_nether of minecraft:the_end.
location.worldstringKomt overeen met de Bukkit-wereldnaam.
location.biome / biomesstring of lijstKomt overeen met bioomsleutels.
location.position.xgetal of bereikKomt overeen met X-coördinaat.
location.position.ygetal of bereikKomt overeen met Y-coördinaat.
location.position.zgetal of bereikKomt overeen met Z-coördinaat.
location.blockblokpredicaatKomt overeen met het blok op de locatie.
location.lightgetal of bereikKomt overeen met het bloklichtniveau.
location.can_see_skybooleanVereist zicht op de lucht.

location.structure en location.structures worden niet ondersteund. Als je ze configureert, zal het predicaat niet overeenkomen.

Blokpredicaten

Blokpredicaten worden gebruikt door location.block, stepping_on en movement_affected_by.

conditions:
  player:
    stepping_on:
      block:
        blocks: minecraft:stone
        state:
          axis: y
SleutelTypeBeschrijving
blockstring of sectionVerkorte vorm voor één blok, of een volledige blokpredicaatsectie.
blocks / idstring of lijstBlok-ID's om mee te vergelijken.
state.<name>string of bereikKomt exact overeen met een blokstatuswaarde, of met min/max.

ItemsAdderAdditions custom bloktags worden eerst opgelost. Als er geen custom tag bestaat, wordt bloktagsyntaxis zoals #minecraft:logs opgelost met vanilla-bloktags. Vanilla tags komen alleen overeen met vanilla-blokken.

Item- en uitrustingspredicaten

Itempredicaten kunnen worden gebruikt in equipment, slots en geneste entiteitspredicaten. Ze accepteren ItemsAdder-ID's, MMOItems-ID's, vanilla item-ID's, vanilla itemtags zoals #minecraft:planks en ondersteunde custom tags.

conditions:
  player:
    equipment:
      mainhand:
        items: my_pack:ruby_sword
        count: 1
        durability:
          min: 100
        components:
          minecraft:custom_model_data: 123
        enchantments:
          - enchantment: minecraft:sharpness
            levels:
              min: 3
SleutelTypeBeschrijving
item / itemsstring of lijstItem-ID's om mee te vergelijken. Een gewone string kan worden gebruikt als verkorte vorm voor één item.
countgetal of bereikKomt overeen met het stapelaantal.
durabilitygetal of bereikKomt overeen met resterende duurzaamheid.
components.minecraft:custom_model_dataintegerKomt overeen met custom model data.
components.minecraft:custom_namestringKomt overeen met de weergavenaam van het item.
components.minecraft:damageintegerKomt overeen met itemdamage.
enchantments[].enchantment / idstringEnchantmentsleutel.
enchantments[].levelsgetal of bereikVereist enchantmentlevel.

ItemsAdderAdditions custom itemtags worden eerst opgelost. Als er geen custom tag bestaat, worden vanilla itemtags opgelost met het vanilla-itemregister. Itemsecties predicates worden nog niet ondersteund en laten het itempredicaat gesloten falen in plaats van per ongeluk te matchen.

Slots

Gebruik slots wanneer je de inventaris van de speler moet controleren in plaats van alleen uitgeruste items.

conditions:
  player:
    slots:
      weapon.mainhand:
        items: minecraft:diamond_sword
      inventory.0:
        items: minecraft:apple
        count: 2
      hotbar.2:
        items: my_pack:ruby_staff
SlotsleutelBeschrijving
mainhand of weapon.mainhandItem in de hoofdhand.
offhand of weapon.offhandItem in de off-hand.
head of armor.headHelm-slot.
chest of armor.chestBorstplaat.
legs of armor.legsLeggings.
feet of armor.feetLaarzen.
*, inventory.*, container.*Elk slot in de spelersinventaris.
hotbar.<slot>Hotbar-slot, van 0 tot 8.
inventory.<slot> of inventory.<start>-<end>Hoofdinventarisslots, na de hotbar.
container.<slot> of container.<start>-<end>Ruwe containerslotnummers.

Potioneffecten

conditions:
  player:
    effects:
      minecraft:speed:
        amplifier:
          min: 1
        duration:
          min: 100
        ambient: false
        visible: true
SleutelTypeBeschrijving
effects.<effect>.amplifiergetal of bereikKomt overeen met de potionversterker.
effects.<effect>.durationgetal of bereikKomt overeen met resterende duur in ticks.
effects.<effect>.ambientbooleanKomt overeen met de ambient-flag.
effects.<effect>.visiblebooleanKomt overeen met de zichtbaarheid van particles.

Voortgang, recepten en statistieken

conditions:
  player:
    type_specific:
      type: minecraft:player
      advancements:
        minecraft:story/mine_stone: true
        my_pack:custom_root:
          root_trigger: true
      recipes:
        minecraft:diamond_sword: true
      stats:
        - type: minecraft:custom
          stat: minecraft:jump
          value:
            min: 50
SleutelTypeBeschrijving
advancements.<id>boolean of sectionVereist dat een andere voortgang wel of niet voltooid is. Een section controleert genoemde criteria.
recipes.<id>booleanVereist dat een recept ontdekt of niet ontdekt is.
stats[].typestringStatistiekgroep, zoals minecraft:custom, minecraft:mined, minecraft:used, minecraft:killed of minecraft:killed_by.
stats[].statstringStatistieksleutel, materiaalsleutel of entiteitsleutel afhankelijk van het statistiektype.
stats[].valuegetal of bereikVereiste statistiekwaarde.

Geneste entiteitscontroles

Hetzelfde entiteitspredicaatsysteem kan worden gebruikt voor gerelateerde entiteiten.

conditions:
  player:
    type_specific:
      type: minecraft:player
      looking_at:
        type: minecraft:zombie
        distance:
          absolute:
            max: 12
    vehicle:
      type: minecraft:horse
SleutelTypeBeschrijving
passengerentiteitspredicaatKomt overeen met een van de passagiers van de speler.
vehicleentiteitspredicaatKomt overeen met de entiteit waarop de speler rijdt.
targeted_entityentiteitspredicaatVoor mobs: komt overeen met hun huidige doelwit.
type_specific.looking_atentiteitspredicaatVoor spelers: komt overeen met de entiteit waarnaar ze kijken binnen 100 blokken.
distancesectionKomt overeen met de afstand van de speler tot de gerelateerde entiteit. Ondersteunt absolute, horizontal, x, y en z.

Andere typespecifieke predicaten

Geneste entiteitspredicaten kunnen ook een paar entiteitsspecifieke controles gebruiken.

TypeSleutelsBeschrijving
minecraft:sheepshearedKomt overeen met of het schaap geschoren is.
minecraft:slime, minecraft:magma_cube, minecraft:cube_mobsizeKomt overeen met slimegrootte met een getal of bereik.
minecraft:raideris_captain, has_raidKomt overeen met raider-patrouillekapitein en raidstatus wanneer beschikbaar.
minecraft:fishing_hookin_open_waterKomt overeen met open-waterstatus van de vishaak wanneer beschikbaar.

Beperkingen

  • Entiteitstypetags worden syntactisch geaccepteerd maar niet opgelost. Vanilla item- en bloktags worden opgelost waar item-/blokpredicaten worden ondersteund.
  • Entiteitsniveau-secties components en predicates worden niet ondersteund en laten het predicaat gesloten falen.
  • Locatiestructuren worden niet ondersteund.
  • NBT-matching is bewust beperkt; het ondersteunt alleen eenvoudige scoreboard-tagcontroles binnen een nbt-string.

On this page