Skip to main content

Block Conditions

Condition settings

All conditions are formated the same, you have:

  • {theCondition}
  • {theCondition}Msg: The message to send if the condition is invalid
  • {theCondition}Cancel: Whether or not the event should be cancelled if the condition is invalid
  • {theCondition}Cmds: The command(s) to run if the condition is invalid
  • Example:
blockConditions:
ifBlockAge: <2
ifBlockAgeMsg: "héhéhé you can custom your message here"
ifBlockAgeCancel: true
ifBlockAgeCmds:
- say how sad
info

For numerical conditions, you can assign 2 conditions at the same time. Example: "I want to create a condition that only activates if the value is greater than 50 but less than 250" {theCondition}: 50 < CONDITION < 250

ifContainerEmpty - Not

  • Description: Check if the block contains items or not.
  • Example:
blockConditions:
ifContainerEmpty: true
ifContainerNotEmpty: true

ifContainerContains

  • Description: Check if the block contains material(s)
  • Example:
blockConditions:
requiredItems:
requiredItem0:
material: STONE
amount: 1
notExecutableItem: false

ifContainerContainsEI

  • Description: Check if the block contains EI(s)
  • Example:
 blockConditions:
requiredExecutableItems:
requiredEI0:
executableItem: Bergbauhammer
amount: 1

ifIsPowered - Not

  • Description: Checks if the target block is (or must not be) powered by a redstone signal
  • Example:
blockConditions:
ifIsPowered: false
ifIsPoweredMsg: ''

ifMustBeNotPowered: true
ifMustBeNotPoweredMsg: ''
  • Example Situations:
    • If the block you are clicking at is a lit redstone lamp, the activator will activate
  • Required: NO (Default: false)

ifMustBeNatural - ifMustBeNotNatural

  • Description: Checks if the target block is a natural block (so not a placed block) (CORE PROTECT MUST BE INSTALLED)
danger

Don't use that in an activator very frenquetly used because it will require a lot of performances

  • Example:
    blockConditions:
ifMustBeNotNatural: true
ifMustBeNotNaturalMsg: ''
ifMustBeNotNaturalCancel: true

blockConditions:
ifMustBeNatural: true
ifMustBeNaturalMsg: ''
ifMustBeNaturalCancel: true
  • Example Situations:
    • If the block you are clicking is/isn't natural, the activator will activate
  • Required: NO (Default: false)

ifPlayerMustBeOnTheBlock

  • Description: Checks if the target block has a player on top of it
  • Example:
blockConditions:
ifPlayerMustBeOnTheBlock: false
ifPlayerMustBeOnTheBlockMsg: ''
  • Example Situations:
    • If the block you are clicking has a player on top of it, the activator activates
  • Required: NO (Default: false)

ifNoPlayerMustBeOnTheBlock

  • Description: Checks if the target block has no player on top of it
  • Example:
blockConditions:
ifNoPlayerMustBeOnTheBlock: false
ifNoPlayerMustBeOnTheBlockMsg: ''
  • Example Situations:
    • If the block you are clicking has a player on top of it, the activator doesn't activate
  • Required: NO (Default: false)

ifPlantFullyGrown - ifPlantNotFullyGrown

  • Description: Checks if the target block is a fully grown plant.
  • Example:
blockConditions:
ifPlantFullyGrown: true
ifPlantFullyGrownMsg: ''
##################################################
blockConditions:
ifPlantNotFullyGrown: true
ifPlantNotFullyGrownMsg: ''
  • Example Situations:
    • If the wheat crop is fully grown, the activator will activate.
  • Required: NO (Default: false)

ifBlockAge

  • Description: Checks the target block age (crops)
  • Example:
blockConditions:
ifBlockAge: <2
ifBlockAgeMsg: "héhéhé you can custom your message here"

ifBlockLocationX - Y -Z

  • Description: Checks the target block location X / Y / Z
  • Example:
  blockConditions:
ifBlockLocationX: 500 < CONDITION < 1500
ifBlockLocationXMsg: "héhéhé you can custom your message here"

ifBlockLocationY: 50 < CONDITION < 150
ifBlockLocationYMsg: "héhéhé you can custom your message here"

ifBlockLocationZ: 500 < CONDITION < 1500
ifBlockLocationZMsg: "héhéhé you can custom your message here"

ifUsage

  • It checks the usage of the clicked ExecutableBlock, if the usage is valid, the activator will work, otherwise an error message is displayed.
  • Example:
  blockConditions:
ifUsage: 4< #it also supports intervals like 4 < CONDITION <= 8
ifUsageMsg: "&cError the executableBlock clicked must have more than 3 usages but less than 10"
  • Required: NO

ifContainerContainsSellableItem

  • Description: Checks if the clicked container has items that can be sold
  • Example:
  blockConditions:
ifContainerContainsSellableItem: true
ifContainerContainsSellableItemMsg: "&cError the executableBlock clicked must have more than 3 usages but less than 10"

Block Around Conditions

  • Description: Checks the blocks around the clicked block:
  • Example:
blockConditions:
blockAroundCdts:
blockAround0:
southValue: 0
northValue: 0
westValue: 0
eastValue: 0
aboveValue: 1
underValue: 0
errorMsg: '&#x26;c&#x26;oA block is not placed correctly !'
blockTypeMustBe:
- STONE
- COBBLESTONE
- ANDESITE
- ITEMSADDER:turquoise_block
- EXECUTABLEBLOCKS:CUSTOMDIRT
- !DIRT
- ALL_ORES
blockConditions:
requiredItems: {}
requiredExecutableItems: {}
blockAroundCdts:
blockAround0:
southValue: 0
northValue: 0
westValue: 0
eastValue: 0
aboveValue: 0
underValue: 1
errorMsg: ''
blockTypeMustBe:
- stone
placeholdersConditions:
plchCdt0:
type: PLAYER_STRING
comparator: EQUALS
part1: '%var_x%'
part2: '10'
cancelEventIfNotValid: false
messageIfNotValid: ''
messageIfNotValidForTarget: ''
stopCheckingOtherConditionsIfNotValid: true
placeholderConditionCmds:
- say not run

Q: What exactly is going on in placeholder conditions?
A: The placeholder %var_x% is being parsed according to the block in that position. Meaning, you can use this method to assign a specific number to insane amount of unique EBs without writing each id that may change overtime in blockTypeMustBe