Skip to content

[Settings] Compatibility

asofold edited this page Jan 21, 2018 · 4 revisions

This section of the configuration file provides you with additional settings to improve overall compatibility stuff.

managelisteners
bukkitapionly Setting this to true will force NoCheatPlus to only run with the BukkitAPI instead of also using internals.

Blocks

To reference block types, you need to use the proper Bukkit Material names from here: https://hub.spigotmc.org/javadocs/spigot/org/bukkit/Material.html
(At a later stage also minecraft names may get supported.)

allowinstabreak The Fastbreak check will ignore every block you put on this list which means that players can mine them faster then possible.

breakingtime

Enables you to override the breaking time of a block for specific side conditions.
An entry in this section maps a condition definition to the breaking time in milliseconds.

Definitions for side conditions can be:

  • BLOCK_TYPE:TOOL_TYPE:TOOL_MATERIAL_BASE:EFFICIENCY_LEVEL
    • In-air/water/aqua-affinity/haste are not possible to add at this stage. Those will get automatically evaluated. Later specifying these will be possible.


Example: SAND:AXE:DIAMOND:0: 10000
(Changes the breaking time for sand with a diamond axe with no efficiency enchantment to 10 seconds, thus fastbreak will trigger.)


BLOCK_TYPE: Bukkit block names. Currently no extras are possible, such as data values/variants.
TOOL_TYPE: NONE, SWORD, SHEARS, SPADE, AXE, PICKAXE
TOOL_MATERIAL_BASE: NONE, WOOD, STONE, IRON, DIAMOND, GOLD
EFFICIENCY_LEVEL: Level of the efficiency enchantment.

Overrideflags

This section allows you to tell NCP how to interpret blocks, concerning shape, if you can walk on them, walk through them and the like. The section represents a mapping from blocks to "flags". Blocks can be input by id (if it doesn't recognize numbers, use strings, e.g. "49" instead of 49) or by the Bukkit name (TODO: java doc link to bukkit + maybe latest spigot?).

Typical settings would be:
Air: TODO
Full blocks like stone: TODO
Blocks to both walk on and through (e.g. with complex yet unseen shape): TODO

There is one flag called "default", which you can use for using the already set flags, which NCP might already have initialized, e.g. if you want to just add a flag. (Only use where you know what it means, set checks.blockbreak.debug to true, in order to dump the flags that NCP is using internally to the log-file).
Example to both pass through and stand on: default+ign_passable+ground_height
(It's recommended to set dimensions too, if possible.)

Flag (dimensions) Meaning
f_full The block has full bounds (0..1), inaccurate!
f_xz100 Block has full xz-bounds.
height100 Override bounding box: 1 block height. NOTE: This should later be ignored by passable, rather.
height150 Override bounding box: 1.5 blocks high, like fences. NOTE: This might have relevance for passable later.
f_height_8sim_dec The height is assumed to decrease from 1.0 with increasing data value from 0 to 0x7, with 0x7 being the lowest. (repeating till 0x15)). 0x8 means falling/full block. This is meant to model flowing water/lava. However the hit-box for collision checks will be set to 0.5 height or 1.0 height only.
f_height_8sim_inc The height is assumed to increase with data value up to 0x7, repeating up to 0x15. However the hit-box for collision checks will be set to 0.5 height or 1.0 height only, as with the 1.4.x snow levels.
f_height_8_inc The height increases with data value (8 heights). This is for MC 1.5 snow levels.
height8_1 0.0625 height, useful for low blocks like water_lily, with multi client protocol support - note that some of these types of flags might automatically get added.
Flag (ground/passability) Meaning
solid Minecraft isSolid result. Used for setting ground flag - Subject to change / rename.
ground The player can stand on these, sneaking or not.
ign_passable Compatibility flag: regard this block as passable always.
passable_x4 Fence gate style with 0x04 being fully passable.
f_ground_height This flag indicates that even though a passable workaround, everything above passable height is still ground.
min_height16_1 0.0625 minimum height for use with ground_height, in order to prevent complete passability of the bock.
min_height16_15 1 - 0.0625 minimum height for use with ground_height, in order to prevent complete passability of the bock.
Flag (liquid) Meaning
liquid General liquid
water Like water.
lava Like lava.
Flag (special behavior) Meaning
f_variable The block can change shape, like fences. This is most likely not 100% accurate...
thin_fence THIN FENCE (glass panes, iron fence)
thick_fence Thick fence (default wooden fence).
stairs Stair blocks. Like a solid half block, but stand on it up to full block height.
facing_low3d2_nswe The facing direction is described by the lower 3 data bits in order of NSWE, starting at and defaulting to 2, which includes invalid states. Main purpose is ladders, no guarantees on defaults for other blocks yet.
attached_low2_snew The direction the block is attached to is described by the lower 2 bits in order of SNEW.
Flag (moving/other) Meaning
ice Ice - for sliding on it.
climbable Climbable like ladder and vine (allow to land on without taking damage).
bounce_25 Allow slime-like bouncing. Only makes sense for slime currently, unless a client mod allows other blocks to behave exactly alike.
falldist_half lLiquid only: fall distance halfs with each move that goes (fully) through this medium.
allow_lowjump Special flag for moving checks. Prevent the lowjump detection with this block somehow.
rails All rail types a minecart can move on.
leaves Just an indicator.
carpet Just an indicator.
Flag (meta) Meaning
collide_edges Meta-flag to indicate that the (max.-) edges should mean a collision, can be passed to collidesBlock.

References
Passable
Fastbreak
Internals
BukkitAPI

Clone this wiki locally