-
-
Notifications
You must be signed in to change notification settings - Fork 82
Example Craft File
Movecraft requires .craft file templates to function, None are included in the initial download, as to not conflict/overwrite existing .craft files during an update. You will need to create or use the examples below to get started. {name}.craft files are stored in the plugins/movecraft/types folder. The {name}.craft template's define characteristics and capabilities of each moveable_craft_, Whether you want to use Sea based ships, Air ships, Submarines or Torpedo's; each needs its own {name}.craft file.
- You can't use tabs in the {name}.craft file. You have to use spaces instead.
- Use # to put comments in your {name}.craft file. The # character and everything after it on that line will be ignored.
- .craft files are a YAML format file, and any .craft file in the types directory will be loaded.
- Permission to use each ship is based on the {name}.craft files name, For example, if you have a craft named "Airship", you would need movecraft.Airship.pilot, movecraft.Airship.move, and movecraft.Airship.rotate in order to completely use it, Check the permissions section below.
- Your .craft file must consist of at least the following fields in the basic example below.
Movecraft uses the following permissions:
movecraft.<craft name>.pilot
movecraft.<craft name>.move
movecraft.<craft name>.rotate
For example, if you have a craft named "Airship", you would need movecraft.Airship.pilot, movecraft.Airship.move, and movecraft.Airship.rotate in order to completely use it.
Filename: example.craft
Location: plugins/movecraft/types
# This is the name of the craft type.
# To pilot this craft type, A sign needs to be put on the craft with this exact name.
name: example
# The Maximum size in blocks this craft type can be.
maxSize: 1000000
# The minimum size in blocks this craft type can be.
minSize: 1
# true for planes, false for boats.
blockedByWater: false
# if you can use cruise command or cruise signs
canCruise: true
# prevent piloting craft above that y level
maxHeightLimit: 200
# false for something liek an elevator or space rocket?
allowHorizontalMovement: true
# false for something that should never leave the y level it was made on.
allowVerticalMovement: true
# speed in blocks per second, to move when using pilot stick
speed: 1.0
# how much of the needed fly blocks can be missing to sink automatically
# A value >0 is needed for the moveblock related checks
sinkPercent: 99.0
# how much of the original blocks need to be missing to sink automatically
overallSinkPercent: 60.0
# prevent piloting craft below that y level
minHeightLimit: 10
# how fast the craft uses its fuel type (like coal) don't exceed 64
fuelBurnRate: 0.01
# if set to false, will rotate around helm sign, otherwise true takes the ships center.
rotateAtMidpoint: true
# similar to the other cruise skip blocks, but for use when cruising vertically?
vertCruiseSkipBlocks: 1
# how many blocks per second the cruise speed of the vessel is
cruiseSpeed: 12
# decides how many blocks of travel can be skipped, try using 1/3 the cruisespeed.
cruiseSkipBlocks: 4
# be a boat, not an airplane, if no water, no move
requireWaterContact: false
# ticks between each sink move
sinkRateTicks: 60
# prevent piloting craft above that y level above the ground?
maxHeightAboveGround: 100
# range before "contact" message is given to other craft pilots
detectionMultiplier: 10.0
# range before "contact" message is given to other craft pilots when underwater
underwaterDetectionMultiplier: 1.0
# when fully under water, should vessel speed be half
halfSpeedUnderwater: true
# vessel is started its automatically cruising, not ideal for piloted
cruiseOnPilot: false
# must be part another craft in order to create this craft.
mustBeSubcraft: false
# prevent using remote rotate sign.
blockRemoteRotate: true
# good for planes, will continue flying while sinking.
keepMovingOnSink: true
# should the entire craft blow up in one explosion
focusedExplosion: false
# number of blocks to skip per gravity drop move
gravityDropDistance: 0
# to get all entities to move with, set only players to false, and move entities to true
onlyMovePlayers: false
# to get no entities to move with, set both onlymoveplayers and move entities to false.
moveEntities: true
# can hover a certain distance above terrain, will follow contours of ground
canHover: false
# can hover a certain distance above water and ground?
canHoverOverWater: false
# Over powered, sign "Teleport:" second line example "100,87,300" teleport sign enabled.
canTeleport: false
# How high up is hovering, keep value low due to lag?
hoverLimit: 0
# if set craft will fall until it reaches hover limit
useGravity: false
# when a piloted craft impacts another nonpassable block, it should explode with the given power
collisionExplosion: 3.0
# when a craft sinks, 5% chance to explode at the given power, per block that impacts a solid block
explodeOnCrash: 5.0
# set this to the water level, will replace the ships area with water if block(s) are below that y level
staticWaterLevel: 62
# allows static move signs, 1st line "Move:"or"Rmove:" 2nd line example "0,0,10"
canStaticMove: false
# sets the max value a craft sign can attempt a staticmove.
maxStaticMove: 0
# if a piston extends outside the bounding box oft he craft, this will increase the bounding box with the piston.
mergePistonExtensions: true
# leftclick with pilot stick to enable, allows using sneak, left/right clicking, and slots 4/6 to steer.
canDirectControl: false
# prevent moving up and down, only allow diagonal up and down.
allowVerticalTakeoffAndLanding: true
# a factor for how much a crafts cruise speed is slowed by lag
dynamicLagSpeedFactor: 0.25
# a factor for how much a crafts cruise speed is slowed by lag
dynamicLagPowerFactor: 0.875
# This is a list of blocks, using their Block ID, you can make your craft out of.
# If you have a block that isn't on the list, that block won't be part of your ship.
# This could prevent your craft from being able to be piloted or possible being able to move, because it is blocking the ship.
allowedBlocks:
- "#planks"
- "#logs"
- "#glass"
- "#beds"
- "#wool"
- "#slabs"
- "#stairs"
- "#chests"
- "#signs"
- "#all_hanging_signs"
- "#doors"
- "#pressure_plates"
- "#buttons"
- "#fences"
- "#trapdoors"
- "#stone_bricks"
- "#fence_gates"
- "#walls"
- "#heads"
- "#anvil"
- "#concrete"
- "#carpets"
- "#shulker_boxes"
- "#candles"
- "#banners"
- crafter
- sculk_shrieker
- vault
- skeleton_skull
- player_head
- piglin_head
- zombie_head
- dragon_head
- creeper_head
- wither_skeleton_skull
- skeleton_wall_skull
- player_wall_head
- piglin_wall_head
- zombie_wall_head
- dragon_wall_head
- creeper_wall_head
- wither_skeleton_wall_skull
- respawn_anchor
- beehive
- bee_nest
- decorated_pot
- lodestone
- campfire
- soul_campfire
- conduit
- raw_gold_block
- raw_iron_block
- raw_copper_block
- redstone_block
- copper_block
- gold_block
- emerald_block
- diamond_block
- lapis_block
- amethyst_block
- coal_block
- iron_block
- quartz_block
- chiseled_quartz_block
- slime_block
- honey_block
- shroomlight
- pearlescent_froglight
- verdant_froglight
- ochre_froglight
- obsidian
- crying_obsidian
- observer
- mossy_cobblestone
- cobblestone
- dispenser
- sticky_piston
- piston
- bricks
- bookshelf
- chiseled_bookshelf
- torch
- wall_torch
- soul_torch
- soul_wall_torch
- fire
- redstone_wire
- ladder
- lever
- redstone_torch
- redstone_wall_torch
- lantern
- soul_lantern
- sea_lantern
- clay
- glowstone
- cake
- repeater
- iron_bars
- nether_brick
- dragon_egg
- redstone_lamp
- ender_chest
- tripwire_hook
- beacon
- chain
- flower_pot
- comparator
- daylight_detector
- hopper
- quartz_pillar
- smooth_quartz
- activator_rail
- dropper
- end_stone_bricks
- end_rod
- smooth_stone
- bell
- crafting_table
- furnace
- blast_furnace
- smoker
- enchanting_table
- brewing_stand
- cauldron
- cartography_table
- composter
- fletching_table
- grindstone
- lectern
- loom
- smithing_table
- stonecutter
# check these values on craft creation, but not checked after that time. Often used to limit useful blocks
detectionblocks:
["#minecraft:chests"]:
- 0.0
- 1.0
["#minecraft:smelter"]:
- 0.0
- N200
"#wool":
- 50.0
- 100.0
furnace:
- 50.0
- 100.0
# This is a list of blocks that if your ship is touching when you go to pilot a craft, will cause it to fail.
# You can add blocks to this list to use as "locks", for example a piston_head, piston_head can cause issues if not forbidden.
forbiddenBlocks:
- piston_head
# blocks use to enable fuel use, and ship movement.
moveblocks:
redstone_block: # redstone represents engines
- 1.0
- 100.0
iron_block: # iron represents ballast tanks
- 10.0
- 100.0
# This is the type of block(s) that are required for the craft to be piloted.
# Block Types are measured in percentages (Second - {num}) from your entire ship size that are required number of flyblocks your ship must have.
# In the example below; If the total number of blocks in your craft equal 100. 25 of those blocks, but no more than 50, must be wool blocks. The rest can be any other allowedBlocks.
# the example also shows Obsidian (Block 49) is not required, but can only have a maximum of 10% on the craft.
flyblocks:
"#wool":
- 50.0
- 100.0
["#planks", "#wooden_slabs"]:
- 25.0
- 100.0
# when these blocks contact harvestBlocks, they will "mine up" the blocks.
harvesterBladeBlocks:
- iron_block
# the blocks that are "broken/mined" when coliding with the harvesterBladeBlocks
harvestBlocks:
- "#flowers"
# types of fuel that the ship will use if found inside a container block.
fuelTypes:
- COAL_BLOCK: 2.0
# blocks you aren't allowed to hover over
forbiddenHoverOverBlocks:
- magma
# blocks that the craft will move through, and will not be destroyed after passing through.
passthroughBlocks:
- kelp_plant
- seagrass
- kelp
- tall_seagrass
- bubble_column