No Description

NatureFreshMilk fa085f5662 check buildable_to of nodes 1 week ago
compat e74a4cdf63 luacheck 2 months ago
patches d8d3685bd4 proper position tracking for #9 2 months ago
screenshots 4abf7e164d docs 1 year ago
sounds 329780b4d1 added sounds 11 months ago
textures 4e205a62e5 fleet controller wip 10 months ago
.luacheckrc 7d647836d1 node blacklist 2 months ago
backbone.lua b9a9941d4e backbone emits light 10 months ago
blacklist.lua 9fa15a2b31 allow jumping of the forcefield but not the emitter_on 1 month ago
common.lua 098d58294c finer mapgen check 2 weeks ago
digiline.lua d4ff1851b7 add current position to digiline response 1 month ago
engine.lua 87f0ccd2be fix https://github.com/pandorabox-io/pandorabox.io/issues/188 2 months ago
fleet_controller.lua e74a4cdf63 luacheck 2 months ago
fleet_functions.lua bbe31875d5 luacheck 5 months ago
init.lua 098d58294c finer mapgen check 2 weeks ago
is_area_empty.lua fa085f5662 check buildable_to of nodes 1 week ago
is_area_protected.lua 03cc8b70d5 replace deprecated setting_get call 1 month ago
license.txt 1e93924854 license 1 year ago
mapgen.lua fca1994666 arithmetic fix 2 weeks ago
marker.lua aec893ef4c show center marker 2 months ago
metrics.lua 1303afc6ba enable monitoring support 2 months ago
mod.conf c0afa3707e Create mod.conf 2 weeks ago
move.lua 62520e1fe5 less stricter player move 2 weeks ago
move_metadata.lua b21530a620 fix #9 (needs a pipeworks patch) 2 months ago
move_nodetimers.lua fa085f5662 check buildable_to of nodes 1 week ago
move_objects.lua b3ea17b446 remove pipeworks entity-move: does not work anyway... 2 months ago
readme.md a893541d9b allow override of calculate_power() 4 months ago

readme.md

Minetest jumpdrive

A simple Jumpdrive for minetest

Take your buildings with you on your journey

Operation

  • Place a 'jumpdrive:engine' into the center of your creation.
  • Insert mese crystals as fuel for the jumps (optionally: connect to technic:hv network)
  • Choose your target coordinates (should be air or ignore blocks)
  • Select your cube-radius (from 1 to 19 blocks)
  • Click "show" and check the green (source) and red (target) destination markers if everything is in range
  • Click "jump"

Compatibility

Optional dependencies:

  • Mesecon interaction (execute jump on signal)
  • Technic rechargeable (HV)
  • Travelnet box (gets rewired after jump)
  • Elevator (on_place gets called after jump)
  • Locator (gets removed and added after each jump)

Fuel

The engine accepts mese crystals (configurable in init.lua) or connects to a technic hv network, if enabled. There are no fuel checks if the player has creative privs.

A crystal equals 1000 power units / EU

The fuel formula looks like this: 10 x radius x distance

For example:

  • Distance: 100 blocks
  • Radius: 5 blocks
  • Required energy: 10 x 5 x 100 = 5000 / 5 mese crystals

Protection

The source and destination areas are checked for protection so you can't remove and jump into someone else's buildings. There are currently no checks for plain populated areas (normal terrain) so you can jump happily into the mountains and make swiss cheese :) A possible solution against this would be a global height or area restriction (see Preflight check).

Crafting

Without technic mod:

With technic mod:

Screenshot

Interface:

Example:

Advanced operation

Coordinate bookmarking

You can place empty books into the drive inventory and write the coordinates to it with the "Write to book" button The "Read from book" reads the coordinates from the next book in the inventory

Settings

Settings in minetest.conf:

  • jumpdrive.maxradius max radius of the jumpdrive (default: 20)
  • jumpdrive.power_item_name item that powers the drive (default: default:mese_crystal)
  • jumpdrive.power_item_value power value of the item (default: 1000)

Technic-relevant settings:

  • jumpdrive.powerstorage power storage of the drive (default: 100000)
  • jumpdrive.power_requirement power requirement for chargin (default: 2500)

Lua api

Preflight check

The preflight check can be overriden to execute additional checks:

jumpdrive.preflight_check = function(source, destination, radius, player)
	-- check for height limit, only space travel allowed
	if destination.y < 1000 then
		return { success=false, message="Atmospheric travel not allowed!" }
	end

	-- everything ok
	return { success=true }
end

Fuel calc

The default fuel calc can be overwritten by a depending mod:

-- calculates the power requirements for a jump
jumpdrive.calculate_power = function(radius, distance, sourcePos, targetPos)
	return 10 * distance * radius
end

Sources

History

Next

  • calculate_power() override
  • overlap check
  • No fuel consumption if creative
  • Protection checks for source and destination
  • Ability to jump with smaller increments (1-block range) instead of radius min-range
  • preflight check with custom override
  • Settings in minetest.conf
  • vacuum compatibility (jump into vacuum with air filled vessel)

1.1

  • improved performance
  • Documentation
  • Removed complicated cascade function

1.0

  • Initial version
  • Cascade operation (with issues)