Ships Mod

Block properties

In Ships Mod, every block has physical properties. These properties are used by the physical simulations that let your ships float and sail around the world.

  • Mass: Mass of the block in tonnes (t). For reference, the mass of a block of water is 1000 kg, or 1 tonne.
  • Volume: Volume of the block in m3. For reference, the volume of a full block of water is 1 m3. Since measurement standards happen to be based on water, this volume is also the mass of water that would be displaced by a fully-submerged instance of this block.
  • Is watertight: The watertight flag indicates whether or not water can passthrough the block. You will want to build your ship's hull out of watertight blocks.
  • Ignored by ships: If the ignored-by-ships flag is true, then the block can never be a part of a ship. These blocks would be useful for docks.
  • Is water: The is-water flags sets whether or not the block is treated as water. This is useful for mods that define different kinds of water blocks.

Setting custom properties

All the default block properties used by Ships Mod are listed in a big table below. You can change these values on your server if you want. Just create a config/shipBlockProperties.cfg file on your server. This file isn't created by default. If you want to change blocks, you need to create this file. Once you have the file created, you can fill it with lines like:

minecraft:planks=1;1;true;true;false

This format is basically a key value pair, like key=value where the value is a concatentation of all the block properties using the ; character. The key is the id name of the block. It always starts with minecraft: or modid:. The next two values are the mass and volume, as floating point numbers. The final three values are boolean flags that indicate watertightness, ignored-by-ships, and is-water respectively. So the template for each line looks like this:

blockid=mass;volume;is-watertight;ignored-by-ships;is-water

Note that if you're playing on a server, putting this file on your client won't do anything useful at all. =)

Where do I find the block id names?

For vanilla blocks, you can find a list of all the block id names in the big table below. Getting id names for mod blocks is a little bit harder. Hopefully, modders can post the id names of their blocks somewhere. If not, here's a trick you can use to ask the mod itself what its block id names are:

  • Download the latest version of bspkrsCore to your mods folder
  • Run Minecraft, then close it
  • Look for a file called UniqueNames in your config folder
  • Find the block id names you want in the file

Checking your configuration

Getting the config file setup correctly and be tricky. Ships Mod has some tools to help you make sure you got it right.

Checking the log

The first tool is the Forge log (the ones in the logs folder). If you don't have any config file set up, Ships Mod will write a log entry like this to let you know it didn't load any block properties:

Skipping ships block config. No config file found at: <expected config file path>

If Ships Mod does load block properties, it will log this instead:

Read 5 block properties from: <expected config file path>

or 1 or 17,432, or however many blocks you have configured. If Ships Mod doesn't know how to read a line in your config file, it will log this:

Malformed block entry: <the line Ships Mod can't read>

If for some reason, Ships Mod can't find the block you're trying to configure, it will log this:

Unknown block id name: <the id name of the block Ships Mod can't find>

If you set your block id name to be something like minecraft:unpossible, Ships Mod probably won't find it.

The blockprops command

Entering /ships blockprops into your chat box will list all the blocks that have properties overridden by your config file. If you don't have a config file (or haven't overridden any blocks), the command will just output a blank line.

If you want to query for the current properties of a block in particular, then enter /ships blockprops minecraft:planks or whatever block you like. You'll be greeted with a line like this:

minecraft:planks Ovr:N Mass:0.5 Vol:1.0 WT:Y Ignrd:N Water:N

All of the properties are listed in order using abbreviated names. The only new thing is the Ovr property. This is simply a Y/N flag that shows if the block has been overridden by a config file or not.

The default properties

Here they all are. For reference.

BlockMassVolumeIs watertightIgnored by shipsIs water
cuchaz.ships:blockShip41Yes
cuchaz.ships:blockHelm0.51Yes
cuchaz.ships:blockBerth0.21
cuchaz.ships:blockProjector21
minecraft:air0.011Yes
minecraft:stone31Yes
minecraft:grass21
minecraft:dirt21
minecraft:cobblestone31Yes
minecraft:planks0.51Yes
minecraft:sapling0.51
minecraft:bedrock31Yes
minecraft:flowing_water11YesYes
minecraft:water11YesYes
minecraft:flowing_lava21Yes
minecraft:lava21Yes
minecraft:sand21
minecraft:gravel21
minecraft:gold_ore31Yes
minecraft:iron_ore31Yes
minecraft:coal_ore31Yes
minecraft:log0.51Yes
minecraft:leaves0.51
minecraft:sponge0.21
minecraft:glass0.61Yes
minecraft:lapis_ore31Yes
minecraft:lapis_block41Yes
minecraft:dispenser31Yes
minecraft:sandstone31Yes
minecraft:noteblock0.51Yes
minecraft:bed0.21
minecraft:golden_rail21
minecraft:detector_rail21
minecraft:sticky_piston21
minecraft:web0.11
minecraft:tallgrass0.51
minecraft:deadbush0.51
minecraft:piston21
minecraft:piston_head21
minecraft:wool0.21
minecraft:piston_extension21
minecraft:yellow_flower0.51
minecraft:red_flower0.51
minecraft:brown_mushroom0.51
minecraft:red_mushroom0.51
minecraft:gold_block41Yes
minecraft:iron_block41Yes
minecraft:double_stone_slab31Yes
minecraft:stone_slab1.50.5Yes
minecraft:brick_block31Yes
minecraft:tnt21
minecraft:bookshelf0.51Yes
minecraft:mossy_cobblestone31Yes
minecraft:obsidian31Yes
minecraft:torch21
minecraft:fire01Yes
minecraft:mob_spawner31Yes
minecraft:oak_stairs0.3750.75Yes
minecraft:chest0.51Yes
minecraft:redstone_wire21
minecraft:diamond_ore31Yes
minecraft:diamond_block41Yes
minecraft:crafting_table0.51Yes
minecraft:wheat0.51
minecraft:farmland21
minecraft:furnace31Yes
minecraft:lit_furnace31Yes
minecraft:standing_sign0.51Yes
minecraft:wooden_door0.150.3
minecraft:ladder0.20.1
minecraft:rail21
minecraft:stone_stairs31Yes
minecraft:wall_sign0.10.2
minecraft:lever21
minecraft:stone_pressure_plate0.60.2
minecraft:iron_door1.20.3
minecraft:wooden_pressure_plate0.10.2
minecraft:redstone_ore31Yes
minecraft:lit_redstone_ore31Yes
minecraft:unlit_redstone_torch21
minecraft:redstone_torch21
minecraft:stone_button21
minecraft:snow_layer0.61
minecraft:ice0.81Yes
minecraft:snow0.61
minecraft:cactus0.51
minecraft:clay31Yes
minecraft:reeds0.51
minecraft:jukebox0.51Yes
minecraft:fence0.250.5
minecraft:pumpkin0.51
minecraft:netherrack31Yes
minecraft:soul_sand21
minecraft:glowstone0.61Yes
minecraft:portal21Yes
minecraft:lit_pumpkin0.51
minecraft:cake0.51
minecraft:unpowered_repeater21
minecraft:powered_repeater21
minecraft:stained_glass0.61Yes
minecraft:trapdoor0.10.2
minecraft:monster_egg31Yes
minecraft:stonebrick31Yes
minecraft:brown_mushroom_block0.51Yes
minecraft:red_mushroom_block0.51Yes
minecraft:iron_bars20.5
minecraft:glass_pane0.120.2Yes
minecraft:melon_block0.51
minecraft:pumpkin_stem0.51
minecraft:melon_stem0.51
minecraft:vine0.51
minecraft:fence_gate0.250.5
minecraft:brick_stairs2.250.75Yes
minecraft:stone_brick_stairs2.250.75Yes
minecraft:mycelium21
minecraft:waterlily0.51
minecraft:nether_brick31Yes
minecraft:nether_brick_fence1.50.5
minecraft:nether_brick_stairs2.250.75Yes
minecraft:nether_wart0.51
minecraft:enchanting_table31Yes
minecraft:brewing_stand41Yes
minecraft:cauldron41Yes
minecraft:end_portal21Yes
minecraft:end_portal_frame31Yes
minecraft:end_stone31Yes
minecraft:dragon_egg1.21
minecraft:redstone_lamp21
minecraft:lit_redstone_lamp21
minecraft:double_wooden_slab0.51Yes
minecraft:wooden_slab0.250.5Yes
minecraft:cocoa0.51
minecraft:sandstone_stairs2.250.75Yes
minecraft:emerald_ore31Yes
minecraft:ender_chest31Yes
minecraft:tripwire_hook21
minecraft:tripwire21
minecraft:emerald_block41Yes
minecraft:spruce_stairs0.3750.75Yes
minecraft:birch_stairs0.3750.75Yes
minecraft:jungle_stairs0.3750.75Yes
minecraft:command_block41Yes
minecraft:beacon0.61Yes
minecraft:cobblestone_wall31Yes
minecraft:flower_pot21
minecraft:carrots0.51
minecraft:potatoes0.51
minecraft:wooden_button21
minecraft:skull21
minecraft:anvil61Yes
minecraft:trapped_chest0.51Yes
minecraft:light_weighted_pressure_plate0.80.2
minecraft:heavy_weighted_pressure_plate0.80.2
minecraft:unpowered_comparator21
minecraft:powered_comparator21
minecraft:daylight_detector0.51Yes
minecraft:redstone_block41Yes
minecraft:quartz_ore31Yes
minecraft:hopper41Yes
minecraft:quartz_block31Yes
minecraft:quartz_stairs2.250.75Yes
minecraft:activator_rail21
minecraft:dropper31Yes
minecraft:stained_hardened_clay31Yes
minecraft:stained_glass_pane0.61Yes
minecraft:leaves20.51
minecraft:log20.51Yes
minecraft:acacia_stairs0.3750.75Yes
minecraft:dark_oak_stairs0.3750.75Yes
minecraft:hay_block21
minecraft:carpet0.21
minecraft:hardened_clay31Yes
minecraft:coal_block31Yes
minecraft:packed_ice0.81Yes
minecraft:double_plant0.51