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.

Block Mass Volume Is watertight Ignored by ships Is water
cuchaz.ships:blockShip 4 1 Yes
cuchaz.ships:blockHelm 0.5 1 Yes
cuchaz.ships:blockBerth 0.2 1
cuchaz.ships:blockProjector 2 1
minecraft:air 0.01 1 Yes
minecraft:stone 3 1 Yes
minecraft:grass 2 1
minecraft:dirt 2 1
minecraft:cobblestone 3 1 Yes
minecraft:planks 0.5 1 Yes
minecraft:sapling 0.5 1
minecraft:bedrock 3 1 Yes
minecraft:flowing_water 1 1 Yes Yes
minecraft:water 1 1 Yes Yes
minecraft:flowing_lava 2 1 Yes
minecraft:lava 2 1 Yes
minecraft:sand 2 1
minecraft:gravel 2 1
minecraft:gold_ore 3 1 Yes
minecraft:iron_ore 3 1 Yes
minecraft:coal_ore 3 1 Yes
minecraft:log 0.5 1 Yes
minecraft:leaves 0.5 1
minecraft:sponge 0.2 1
minecraft:glass 0.6 1 Yes
minecraft:lapis_ore 3 1 Yes
minecraft:lapis_block 4 1 Yes
minecraft:dispenser 3 1 Yes
minecraft:sandstone 3 1 Yes
minecraft:noteblock 0.5 1 Yes
minecraft:bed 0.2 1
minecraft:golden_rail 2 1
minecraft:detector_rail 2 1
minecraft:sticky_piston 2 1
minecraft:web 0.1 1
minecraft:tallgrass 0.5 1
minecraft:deadbush 0.5 1
minecraft:piston 2 1
minecraft:piston_head 2 1
minecraft:wool 0.2 1
minecraft:piston_extension 2 1
minecraft:yellow_flower 0.5 1
minecraft:red_flower 0.5 1
minecraft:brown_mushroom 0.5 1
minecraft:red_mushroom 0.5 1
minecraft:gold_block 4 1 Yes
minecraft:iron_block 4 1 Yes
minecraft:double_stone_slab 3 1 Yes
minecraft:stone_slab 1.5 0.5 Yes
minecraft:brick_block 3 1 Yes
minecraft:tnt 2 1
minecraft:bookshelf 0.5 1 Yes
minecraft:mossy_cobblestone 3 1 Yes
minecraft:obsidian 3 1 Yes
minecraft:torch 2 1
minecraft:fire 0 1 Yes
minecraft:mob_spawner 3 1 Yes
minecraft:oak_stairs 0.375 0.75 Yes
minecraft:chest 0.5 1 Yes
minecraft:redstone_wire 2 1
minecraft:diamond_ore 3 1 Yes
minecraft:diamond_block 4 1 Yes
minecraft:crafting_table 0.5 1 Yes
minecraft:wheat 0.5 1
minecraft:farmland 2 1
minecraft:furnace 3 1 Yes
minecraft:lit_furnace 3 1 Yes
minecraft:standing_sign 0.5 1 Yes
minecraft:wooden_door 0.15 0.3
minecraft:ladder 0.2 0.1
minecraft:rail 2 1
minecraft:stone_stairs 3 1 Yes
minecraft:wall_sign 0.1 0.2
minecraft:lever 2 1
minecraft:stone_pressure_plate 0.6 0.2
minecraft:iron_door 1.2 0.3
minecraft:wooden_pressure_plate 0.1 0.2
minecraft:redstone_ore 3 1 Yes
minecraft:lit_redstone_ore 3 1 Yes
minecraft:unlit_redstone_torch 2 1
minecraft:redstone_torch 2 1
minecraft:stone_button 2 1
minecraft:snow_layer 0.6 1
minecraft:ice 0.8 1 Yes
minecraft:snow 0.6 1
minecraft:cactus 0.5 1
minecraft:clay 3 1 Yes
minecraft:reeds 0.5 1
minecraft:jukebox 0.5 1 Yes
minecraft:fence 0.25 0.5
minecraft:pumpkin 0.5 1
minecraft:netherrack 3 1 Yes
minecraft:soul_sand 2 1
minecraft:glowstone 0.6 1 Yes
minecraft:portal 2 1 Yes
minecraft:lit_pumpkin 0.5 1
minecraft:cake 0.5 1
minecraft:unpowered_repeater 2 1
minecraft:powered_repeater 2 1
minecraft:stained_glass 0.6 1 Yes
minecraft:trapdoor 0.1 0.2
minecraft:monster_egg 3 1 Yes
minecraft:stonebrick 3 1 Yes
minecraft:brown_mushroom_block 0.5 1 Yes
minecraft:red_mushroom_block 0.5 1 Yes
minecraft:iron_bars 2 0.5
minecraft:glass_pane 0.12 0.2 Yes
minecraft:melon_block 0.5 1
minecraft:pumpkin_stem 0.5 1
minecraft:melon_stem 0.5 1
minecraft:vine 0.5 1
minecraft:fence_gate 0.25 0.5
minecraft:brick_stairs 2.25 0.75 Yes
minecraft:stone_brick_stairs 2.25 0.75 Yes
minecraft:mycelium 2 1
minecraft:waterlily 0.5 1
minecraft:nether_brick 3 1 Yes
minecraft:nether_brick_fence 1.5 0.5
minecraft:nether_brick_stairs 2.25 0.75 Yes
minecraft:nether_wart 0.5 1
minecraft:enchanting_table 3 1 Yes
minecraft:brewing_stand 4 1 Yes
minecraft:cauldron 4 1 Yes
minecraft:end_portal 2 1 Yes
minecraft:end_portal_frame 3 1 Yes
minecraft:end_stone 3 1 Yes
minecraft:dragon_egg 1.2 1
minecraft:redstone_lamp 2 1
minecraft:lit_redstone_lamp 2 1
minecraft:double_wooden_slab 0.5 1 Yes
minecraft:wooden_slab 0.25 0.5 Yes
minecraft:cocoa 0.5 1
minecraft:sandstone_stairs 2.25 0.75 Yes
minecraft:emerald_ore 3 1 Yes
minecraft:ender_chest 3 1 Yes
minecraft:tripwire_hook 2 1
minecraft:tripwire 2 1
minecraft:emerald_block 4 1 Yes
minecraft:spruce_stairs 0.375 0.75 Yes
minecraft:birch_stairs 0.375 0.75 Yes
minecraft:jungle_stairs 0.375 0.75 Yes
minecraft:command_block 4 1 Yes
minecraft:beacon 0.6 1 Yes
minecraft:cobblestone_wall 3 1 Yes
minecraft:flower_pot 2 1
minecraft:carrots 0.5 1
minecraft:potatoes 0.5 1
minecraft:wooden_button 2 1
minecraft:skull 2 1
minecraft:anvil 6 1 Yes
minecraft:trapped_chest 0.5 1 Yes
minecraft:light_weighted_pressure_plate 0.8 0.2
minecraft:heavy_weighted_pressure_plate 0.8 0.2
minecraft:unpowered_comparator 2 1
minecraft:powered_comparator 2 1
minecraft:daylight_detector 0.5 1 Yes
minecraft:redstone_block 4 1 Yes
minecraft:quartz_ore 3 1 Yes
minecraft:hopper 4 1 Yes
minecraft:quartz_block 3 1 Yes
minecraft:quartz_stairs 2.25 0.75 Yes
minecraft:activator_rail 2 1
minecraft:dropper 3 1 Yes
minecraft:stained_hardened_clay 3 1 Yes
minecraft:stained_glass_pane 0.6 1 Yes
minecraft:leaves2 0.5 1
minecraft:log2 0.5 1 Yes
minecraft:acacia_stairs 0.375 0.75 Yes
minecraft:dark_oak_stairs 0.375 0.75 Yes
minecraft:hay_block 2 1
minecraft:carpet 0.2 1
minecraft:hardened_clay 3 1 Yes
minecraft:coal_block 3 1 Yes
minecraft:packed_ice 0.8 1 Yes
minecraft:double_plant 0.5 1