"Exploits."

Discussion in 'Plugin Development' started by Xandaros, Mar 11, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    Xandaros

    Okay... so you implemented a check to prevent editing of already made signs...
    Now... how the hell do I turn it off?

    We are not only allowing, but even supporting a client mod that allows sign editing, and I made a plugin to prevent griefing this way.

    It would be really nice if you could tell me how to get rid of it :)
     
  2. Offline

    Edward Hand

    Your best bet would be to make a plugin for editing signs. It's safer that way anyway.
     
  3. Offline

    Xandaros

    But you don't have the Sign GUI, then :D
    Also I plan to allow more characters, later. (Obviously not the §)

    It should be pretty save, as every sign edit is being checked.

    But this is not a discussion about how save this would be :)

    Thanks for the advice, anyways.
     
  4. Offline

    Edward Hand

    Yes. The server wont let you add §. That, in fact, was the trigger that made me move from making client hacks to plugin development (and making my first plugin - SignColours).

    It's not all that easy to get around bukkit security even by use of a plugin but it should be just about possible. TileEntitySigns now have a 'fresh' property. You need to set this property to true before editing the sign. You could make a plugin to do this either by clicking on the sign or by use of a command, which you could then automate and build into your client mod.

    Let me know if you need any specific code hints
     
  5. Offline

    Xandaros

    Meh, I guess I have to use a shitty workaround :D
    Okay, so how do I turn my CraftSign into a TileEntitySign?

    Thanks for your great help, I didn't even know this new field existed.
    We definitely need a way to easily access the security functions. But I guess there are more urgent problems right now.
     
  6. Offline

    Edward Hand

    Code:
    CraftWorld cWorld = (CraftWorld)theBlock.getWorld();
    Location loc = theBlock.getLocation();
    TileEntity tileEntity = cWorld.getHandle().getTileEntity(loc.getBlockX(),loc.getBlockY(),loc.getBlockZ());
    TileEntitySign tileEntitySign;
    if(tileEntity instanceof TileEntitySign)
        tileEntitySign = (TileEntitySign)tileEntity;
     
  7. Offline

    Xandaros

    Thank you, I managed to workaround this :)

    Edit: we need a way to change the tile of a post. It's always nice to add a [Solved], so anyone trying to do the same will know the information is there and someone who might be able to help knows which posts are unsolved.
     
Thread Status:
Not open for further replies.

Share This Page