Code Monkey home page Code Monkey logo

memorystone's People

Contributors

cmdrdats avatar ryantheleach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

memorystone's Issues

StructureTypes.yml Readability.

Would the program freak out if there was more then 1 structure for each type of memorystone?

If not I was thinking we could add in a free memory stone structure as an example of having multiple configurations.

Also I don't understand the structure files very well,

structuretypes:
-   structure:
    -   z: 1
        material: STONE
        y: 0
        x: 1
**trimmed**
    -   z: 1
        material: OBSIDIAN
        y: 1
        x: 1
    rotator: NONE
    name: Memory Stone
    metadata:
        distanceLimit: '0'
        memorizecost: '200'
        teleportcost: '50'
        global: 'false'
        buildcost: '1000'
        type: MEMORYSTONE
        permissionRequired: memorystone.create.local

Is it possible to reformat them at all to this: it would make it a Lot more readable but probably break compatibility....

structuretypes:
-   structure:
    name: Memory Stone
    rotator: NONE
    metadata:
        distanceLimit: '0'
        memorizecost: '200'
        teleportcost: '50'
        global: 'false'
        buildcost: '1000'
        type: MEMORYSTONE
        permissionRequired: memorystone.create.local
    -   material: STONE
        x: 1
        y: 0
        z: 1

**trimmed**

    -   material: OBSIDIAN
        x: 1
        y: 1
        z: 1

Spout update has broken list, when using Spoutcraft

From updating spout on server build: 502. Broken in spoutcraft build: 710. Still works as normal in original minecraft.

When pressing 'c' no longer brings up list, and shows this error in console. (Bukkit build: 1337)

[SEVERE] Could not pass event CUSTOM_EVENT to MemoryStone
java.lang.NoSuchMethodError: org.getspout.spoutapi.gui.GenericPopup.setBgVisible(Z)Lorg/getspout/spoutapi/gui/GenericScreen;
at za.dats.bukkit.memorystone.ui.SpoutLocationPopupManager$LocationPopup.updatePage(SpoutLocationPopupManager.java:60)
at za.dats.bukkit.memorystone.ui.SpoutLocationPopupManager$LocationPopup.createPopup(SpoutLocationPopupManager.java:134)
at za.dats.bukkit.memorystone.ui.SpoutLocationPopupManager.showPopup(SpoutLocationPopupManager.java:159)
at za.dats.bukkit.memorystone.CompassManager.fireTeleportWithItem(CompassManager.java:676)
at za.dats.bukkit.memorystone.CompassManager$2.onKeyReleasedEvent(CompassManager.java:224)
at org.getspout.spoutapi.event.input.InputListener.onCustomEvent(InputListener.java:54)
at org.bukkit.plugin.java.JavaPluginLoader$96.execute(JavaPluginLoader.java:934)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at org.getspout.spoutapi.packet.PacketKeyPress.run(PacketKeyPress.java:77)
at org.getspout.spout.packet.CustomPacket.a(CustomPacket.java:130)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)

Also when clicking on a sign to cycle through destination it shows this error:

[SEVERE] Could not pass event PLAYER_INTERACT to MemoryStone
java.lang.NoSuchMethodError: org.getspout.spoutapi.gui.GenericPopup.setBgVisible(Z)Lorg/getspout/spoutapi/gui/GenericScreen;
at za.dats.bukkit.memorystone.ui.SpoutLocationPopupManager$LocationPopup.updatePage(SpoutLocationPopupManager.java:60)
at za.dats.bukkit.memorystone.ui.SpoutLocationPopupManager$LocationPopup.createPopup(SpoutLocationPopupManager.java:134)
at za.dats.bukkit.memorystone.ui.SpoutLocationPopupManager.showPopup(SpoutLocationPopupManager.java:159)
at za.dats.bukkit.memorystone.CompassManager.fireTeleportWithItem(CompassManager.java:676)
at za.dats.bukkit.memorystone.CompassManager.fireTeleportFromBlock(CompassManager.java:652)
at za.dats.bukkit.memorystone.CompassManager.onPlayerInteract(CompassManager.java:741)
at org.bukkit.plugin.java.JavaPluginLoader$11.execute(JavaPluginLoader.java:330)
at org.bukkit.plugin.RegisteredListener.callEvent(RegisteredListener.java:58)
at org.bukkit.plugin.SimplePluginManager.callEvent(SimplePluginManager.java:339)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:171)
at org.bukkit.craftbukkit.event.CraftEventFactory.callPlayerInteractEvent(CraftEventFactory.java:142)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:560)
at net.minecraft.server.Packet15Place.a(SourceFile:57)
at net.minecraft.server.NetworkManager.b(NetworkManager.java:226)
at net.minecraft.server.NetServerHandler.a(NetServerHandler.java:92)
at org.getspout.spout.SpoutNetServerHandler.a(SpoutNetServerHandler.java:501)
at net.minecraft.server.NetworkListenThread.a(SourceFile:108)
at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:471)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:374)
at net.minecraft.server.ThreadServerApplication.run(SourceFile:417)

Thanks

can't select other stones

Thanks for adding the distance feature, I'm now eager to get this working and installed on my server.

I was testing this locally and found that if I have the 'memorystone.allmemorized' permission, I can use the compass to left-click to swap between memorized stones fine. If I don't have this permission, then despite memorizing the stones, it won't let me change to anything but the closest stone.

Memory stones not built by players are not memory stones.

if someone worldedits or creates a memory stone by otherwise means.

so clashes badly with the plugin creeper heal.

memory stones are still able to be teleported to while destroyed, and when rebuilt by something other then a player, the memory stone has no protection.

Custom structuretypes failing to load

So I've edited the structuretypes.yml file to customize the default shape and blocks to be used in a standard memorystone like this:

-   structure:
    -   z: 1
        material: OBSIDIAN
        y: 1
        x: 1
    -   z: 1
        material: GLOWSTONE
        y: 3
        x: 1
    -   z: 1
        material: BEDROCK
        y: 0
        x: 1
    -   z: 1
        material: OBSIDIAN
        y: 2
        x: 1
    rotator: NONE
    name: Memory Stone
    metadata:
        distanceLimit: '0'
        memorizecost: '200'
        teleportcost: '50'
        global: 'false'
        buildcost: '1000'
        type: MEMORYSTONE
        permissionRequired: memorystone.create.local

The structure works fine and memorystones are created, which function normally.

However upon reloading the server the existing stones do not load and I receive these errors:

19:26:59 [INFO] [MemoryStone] loaded 1 structure types
19:26:59 [WARNING] [MemoryStone] New: structure was bad
19:26:59 [WARNING] [MemoryStone] A structure couldn't be loaded
19:26:59 [INFO] [MemoryStone] Loaded 0 structure(s)

Upon reverting the structuretypes.yml to default it works fine and reloads the structures on server reload.

TnT Blows Up signs attached to memory stones.

tnt will blow up signs attached to memory stones, but not blow up memory stones.

I was expecting the memorystones and signs to be protected from non permission players and all other forms of destruction.

Compasses Point "off"

Compasses point off from the center of the stone, this could be due to a bug, design, or the origin being off on the structure?

Id suggest that the compass should point to the origin of the structure if it doesn't already. If the origin is where the players spawn then for more "realism" compasses should point at the block that the sign is attached to, or otherwise find the center of the memory stone.

Support for register.

Just wondering why you don't support the register API from what I can see, register would allow you to remove dependencies to iconomy 4 5 6 and boseconomy and instead just rely upon the register api, there are also more economy plugins that work with register then just the ones i have listed.

Re-code

To be honest this project while coded well has become messy and disorganized, I'm wondering if it would be easier to re-code it with these latest features as opposed to trying to re-factor it.

Require standing on one stone to use

Cool plugin, I love the "must find a stone first to use it" mechanic. However, I want to be able to set some limits on how people can use stones even once they've been found. The simplest one would be that they have to be standing on a stone to teleport to another one, this prevents them from "free teleporting" anywhere in the world to any stone. They have to get to the nearest stone first.

Thanks for considering.

Implement stone-to-stone teleportation

The option to entirely disable using a compass - so if you set the material to NONE, you can't use your compass anymore (no ad-hoc teleporting)

Memorize a memory stone by punching it for the first time. (with or without a compass)

Add a setting for stone-to-stone teleportation

Punching a memorized stone's sign will scroll through your destinations (without spoutcraft)

Right clicking the sign will then teleport you to destination (without spoutcraft)

With spoutcraft, right clicking the sign will show teleport screen.

Add a new optional setting for material cost if using stone-to-stone teleport

Add permission nodes for using stone-to-stone teleport

Memorizationcost on every tap

With user of iConomy 6 I've got the following issue: The first tap on a Local memory Stone (I don't use/allow others) works good: Stone is memorized and the fee is payed to the owner. But if I have stone-to-stone enabled (which I can't turn off somehow) and Itap the sign to find the correct target I have too pay the memo-fee on every click.

Hopoe that can get fixed soon as this is the best teleporot plugin oout there!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.