MemoryStone

Memorize and teleport to special Memory Stone structures in game using your compass.

This is a great for exploration: You can head in a direction and explore the depths of caves, but when you want to go home it's a simple teleport out. Also, because you have to find the Memory Stones first, it makes exploration of existing servers with pre-setup Memory Stones a little more rewarding.

I would find that I would build myself a little home and maybe explore a little bit, but not too far in case I get lost.. I'd also find very interesting parts of my world, but would never return there because it's too far or I just can't find it again. Now it's a matter of building Memory Stones where significant marking points are. Have a castle in the sky? No need for ladders..

Changes in 1.1.0 & 1.0.9

  • Interaction with other sign based plugins sometimes throws NPE's onSignChange event.
  • pointCompassOnly config option if you don't want teleportation, but just set compass to destination.
  • Fixed small quirk where memorizing a stone would select that stone to teleport to instead of leaving it as it was before.
  • Fixed a pretty show-stopping bug where the compass totally didn't work. Whoops.

Changes in 1.0.8

  • Fixed up an NPE when only one location is memorized and you try teleport stone to stone from it
  • Fixed a small bug if you use lava buckets in water to create your memory stones.

Changes in 1.0.7

  • Set the default distanceLimit in structureTypes.yml to infinite on all default structure types. This was tripping a lot of people up.
  • Replaced lightningEffect config option with effects.lightningOnCreate and effects.lightningOnBreak
  • Added effects.lightningOnTeleportSource and effects.lightningOnTeleportDestination for effects when teleporting
  • Allow for teleportItem to be set to NONE, which disabled teleporting with an item.
  • Added stonetostone.enabled, to enable teleporting directly from a Memory Stone (without compass)
  • Added stonetostone.item and stonetostone.maxUses if you want to have people pay for stonetostone teleporting
  • Remove 'already memorized' message if stonetostone.enabled
  • Fixed up a charges left bug (was rolling over to 3 charges regardless of max uses)
  • Default language refers to <material> now instead of compass (lang.chargesleft, lang.consumed, lang.teleportitemnotfound)

Download

If you are upgrading from older than 1.0.5, you need to remove the structuretypes.yml to so that it can regenerate and include the new teleportation, memorization and build costs..

Released Files

Installation

Simply put the memory-stone.jar into your plugins folder. Upon first run, you'll see MemoryStone/structuretypes.yml that you could play around with if you'd like to customize the memory stone structure on your server.

When you start creating and memorizing Memory Stones, you will also see locations.yml and structures.yml files - they are for storing the extra player and physical structure data for your worlds.

There's also a configuration.yml file generated, scroll down to the bottom to see the configuration options available.

Setup

Create a 3x3 Stone slab with a 3 high Obsidian pillar in the middle like so :

Structure

Put a sign somewhere on it and enter the first line of the sign as the name you'd like to give the memory stone :

Sign

And if all is well, you'll get a green 'Memory Stone' sign :

Finished|

Structure Types

Please see the image library here to see all the different structure setups

There are a few different structures, basically :

  • Local: Teleport from your location to a Local Memory stone in your current world within distance
  • Global: Teleport from where you are to a larger range in the current world, but doesn't need to be memorized first
  • Crossworld: Teleport from any world to any crossworld stone. Distance doesn't matter.
  • Global Crossworld: Same as a crossworld teleport, but you don't need to find and memorize it first.
  • NoTeleport: Players can't teleport out while within a certain distance of these.

Economy Support

As of 1.0.5 with economy support, when setting up a sign, you can enter a memorization cost / teleportation cost like so :

Cost setup

When you complete that, it will add the preconfigured base costs and display that on the sign :

Finished Memory Stone

Usage

All of the following needs to be done with a compass in hand:

Left click on the *sign* of a memory stone. You'll get a confirmation to say that you have successfully memorized the location.

If you have Spout installed (and Spoutcraft client), you can right click to bring up the following screen - select destination and it'll teleport you there: Location Selection

Similarly, you can hit a shortkey key (default 'C') to show that screen as long as you have a compass in your inventory somewhere. If you have Spout on the server and running Spoutcraft :)

If you don't have Spout installed, you can right click to teleport back to the stone you've just memorized. You need to stand still for 3 seconds after you've activated teleporting, and if you have multiple memory stones memorized, you can left click to cycle to your destination.

As of 1.0.7, if you have glowstone dust in your inventory (configurable) you can left click on a memory stone sign to cycle through destinations and right click to teleport without the use of a compass. If you have Spout & Spoutcraft, you only need to right click on the sign.

Configuration Options

In the configuration.yml file, you can change these options to customize MemoryStone for your server:

  • lang.* - This is all the text the players will see from this plugin.
  • teleportItem - Configure to use something different to a compass if you like. Accepts names or typeId's
  • castingTime - The time the player (and target if teleporting another player) needs to stand still for until teleport happens.
  • cooldownTime - The cooldown after teleporting successfully, in seconds.
  • fizzleCooldownTime - The cooldown after fizzling (player cancelled teleportation somehow), in seconds.
  • maxUsesPerItem - How many charges an item has before it is consumed. If this is set to zero, it will be unlimited.
  • lightningEffect - Whether to show the lightning effect when a Memory Stone structure is setup correctly. No longer supported as of 1.0.7, see effects.*
  • sortByDistance - If true, sorts the location list by distance instead of alphabetically
  • economy.enabled - Enable economy support. You may have economy plugged in but don't want to use it for memory stones
  • economy.ownerGetsPaid - The person who setup this memory stone will get paid whatever anyone spends on this memory stone
  • economy.addCustomValue - Allows a person setting up a memory stone to specify extra costs (above base costs) on placing the sign.

Added in 1.0.7:

  • effects.lightningOnCreate - Lightning effect on creation of memory stones
  • effects.lightningOnBreak - Lightning effect on breaking of memory stones
  • effects.lightningOnTeleportSource - Lightning effect when teleporting (player source location)
  • effects.lightningOnTeleportDestination - Lightning effect when teleporting (player destination location)
  • stonetostone.enabled - Enable stone to stone teleportation
  • stonetostone.item - Item to consume on stone to stone teleporting - set to NONE if you don't want it to consume anything
  • stonetostone.maxuses - Maximum number of uses on the item to consume before destroying it - set to zero for infinite or to 1 for a single use.

Permissions

  • memorystone.*: Gives access to all normal MemoryStone permissions
  • memorystone.op: Allows free, zero casting time and no cooldown to user, default: false
  • memorystone.build: Allows user to build Memory Stones, default: true
  • memorystone.break: Allows user to break Memory Stones, default: true
  • memorystone.use: Allows user to teleport to Memory Stones, default: true
  • memorystone.usestonetostone: Allows user to use stone to stone teleportation
  • memorystone.usefree: Allows user to teleport without costing charges (if applicable), default: false
  • memorystone.useonothers: Allows user to teleport others, default: true
  • memorystone.usewithoutcooldown: Allows user to teleport without cooldowns, default: false
  • memorystone.useinstantly: Allows user to teleport without casting time, default: false
  • memorystone.allmemorized : User will doesn't need to memorize stones.
  • memorystone.create.*: Can create any structure
  • memorystone.create.local: Can create local memory stones
  • memorystone.create.global: Can create global memory stones
  • memorystone.create.crossworld: Can create crossworld memory stones
  • memorystone.create.crossworldglobal: Can create crossworld global memory stones
  • memorystone.create.noteleport: Can create noteleport zone stones

Known Plugin Incompatibilities

  • SpoutTrade: Because of using the right-click on players, it requests a trade and teleports.. Not sure how to stop SpoutTrade from firing.

Credits

Some shout out to some awesome devs out there!

  • The Bukkit team
  • The Spout team - Go install Spout and Spoutcraft. Now. Believe me, it's a better place.
  • tprk77 for HealingTotem - I used his awesome structure code - this should really be in the Core Bukkit code.
  • krinsdeath for ChestSync - I used some of his coding ideas and signage code.
  • The guys who built BlueTelepads - Their code helped me get the yaw and pitch correct.
  • Nijikokun for Register - Awesome work!

Also, credit goes to the following people for their fantastic input:

Tylui, PhantomX, Kaiemi, hammerKlavier and SirMonsterSlayer


Comments

  • To post a comment, please or register a new account.
Posts Quoted:
Reply
Clear All Quotes

About This Project

Categories

Members

Recent Files

Bukkit