Place special items on glass, cacti, glowstone, etc.

Discussion in 'Archived: Plugin Requests' started by PapiDimmi, Sep 7, 2014.

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

    PapiDimmi

    What should the features be?
    I want a plugin that allows you to place ladders, torches, redstone torches, rails, powered rails, activator rails, detector rails, trapdoors, doors, iron doors, item frames, signs, etc. on glass, glowstone, Oak/Spruce/Jungle/Dark Oak/Acacia/Birch Leaves and possible TNT and cacti as well.

    But.. Isn't there already a plugin like this?
    Indeed, but they are outdated. (BlocksOnGlass, ItemsOnAnything) They do not work with CB 1.7.10.

    Commands and permissions:
    There should be no commands. There could be a permission that's "pluginname.place.torch" and "pluginname.place.fence", etc. with the last word being what you can place, and the first word being the name of the plugin ("pluginname" in the example).




    Config.yml:
    In the config, you can set what you can place or not.
    Example (everything is set to false at the beginning so you can configure it to your heart's content):
    Code:
    #true: Allows you to place the said item on glass, glowstone and cacti.
    #false: Denies you to place the said item on glass, glowstone and cacti.
    torch: false
    redstone-torch: false
    fence: false
    fence-gate: false
    rail: false
    powered-rail: false
    detector-rail: false
    activator-rail: false
    trapdoor: false
    door: false
    iron-door: false
    ladder: false
    sign: false
    item-frame: false
     
    #Here you can configure what you can place the items set to true on that you cannot normally place on.
    glass: false
    cactus: false
    tnt: false
    glowstone: false
    oak-leaves: false
    birch-leaves: false
    acacia-leaves: false
    jungle-leaves: false
    dark-oak-leaves: false
    spruce-leaves: false
    When I'd like to have it:
    As soon as possible. I need it right now, in fact, but take your time. I, and hopefully others, will appreciate your work!
     
    UnwrittenPaper likes this.
  2. Offline

    mrCookieSlime

    PapiDimmi
    First of all, ladders, fences, torches,... are NOT entities. An entity f.e. would be a Creeper...

    (Nice Ood btw)
     
  3. Offline

    PapiDimmi

    I realize that now. I've changed the title! :)

    By the way, you're actually wrong. Mobs aren't the only entities. Entities could also be arrow, experience orb, boat, minecart, item drops, Eye of Ender, Enderpearl, etc. (source)

    (Thanks.)
     
    UnwrittenPaper and MrEditor97 like this.
  4. Offline

    mrCookieSlime

    PapiDimmi
    0_0 When did I say that "Mobs are the ONLY entities"...

     
    timtower likes this.
  5. Offline

    PapiDimmi

    That's what I thought you meant when you said "Enteties f.e. would be a Creeper". Sorry for misunderstanding.
     
    UnwrittenPaper likes this.
  6. Offline

    mrCookieSlime

    PapiDimmi
    Well, weird, but example means example and not everything...
    Otherwise I would have said "Entities are mobs" and not "An Entity f.e. would be a Creeper"
     
  7. Offline

    PapiDimmi

    You could've said "An entity would for example be a Creeper, an arrow, etc." instead.

    By the way, f.e. is wrong. "E.g." is the correct term. (learn more)
     
  8. Offline

    mrCookieSlime

    PapiDimmi
    0_0 I'm not gonna say anything to that now...
     
  9. Offline

    PapiDimmi

    *cough*
     
  10. Offline

    MrEditor97

    So who is actually going to make this plugin then?
     
  11. Offline

    timtower Administrator Administrator Moderator

    Nobody yet
     
  12. Offline

    PapiDimmi

    No one has agreed to make this sort of plugin, but I hope someone will. This plugin will be amazing, and if I were good at Java, I would make it myself, but unfortunately, I'm not. I

    know this is possible in Bukkit. It's actually quite simple, and it has been done before as well, as mentioned in the original post.
    I guess the person that decides to make this awesome plugin can just use and modify the source code of ItemsOnAnything (a plugin that does what I want, but it's outdated). (click here for source code)
     
  13. Offline

    MrEditor97

    *You can't say it's simple because you can't code*

    I will make it, I will keep you up to date with progress.
     
  14. Offline

    PapiDimmi

    I knew someone would say that.
    I mean that it's probably simple. Coding blocks to be able to be put on other blocks when they're really not supposed to is actually not that advanced. I'm not that dumb at coding (OK, maybe I am.)
    Also, it has been done before - multiple times too. It can't be that hard.

    Thanks. I will look forward to it.
     
  15. Offline

    MrEditor97

    Do you mind making a list of all the blocks that you would like to have?

    *Edit*
    Just remember that its at the top of the page
     
  16. Offline

    PapiDimmi

    MrEditor97 I do not understand? It's already in the original post.

    Look in my example config.yml:
    config.yml (open)
    Code:
    #true: Allows you to place the said item on glass, glowstone and cacti.
    #false: Denies you to place the said item on glass, glowstone and cacti.
    torch: false
    redstone-torch: false
    fence: false
    fence-gate: false
    rail: false
    powered-rail: false
    detector-rail: false
    activator-rail: false
    trapdoor: false
    door: false
    iron-door: false
    ladder: false
    sign: false
    item-frame: false
     
    #Here you can configure what you can place the items set to true on that you cannot normally place on.
    glass: false
    cactus: false
    tnt: false
    glowstone: false
    oak-leaves: false
    birch-leaves: false
    acacia-leaves: false
    jungle-leaves: false
    dark-oak-leaves: false
    spruce-leaves: false


    The first list of items are the items that should be allowed to place on the special blocks.
    The second list of items are the special blocks that the items should be placeable on.
    Add more if you can think of some, but that's really only what I want. No more, no less. Most important; no less.
     
  17. Offline

    MrEditor97

    I realised yes. Thanks. It is currently underway. I have used https://github.com/xGhOsTkiLLeRx/ItemsOnAnything plugin, so all credit must go to him.
     
    PapiDimmi likes this.
  18. Offline

    PapiDimmi

    MrEditor97 Indeed.

    Credit to xGh0sTkiLLeRx for the source.
    Credit to you, MrEditor97, for updating and recreating ItemsOnAnything.
    Credit to me, PapiDimmi, for suggesting it.

    Most credit goes to me. Without me, the plugin wouldn't exist. I'm so special now. Woo. I deserve an award of some sort.
     
    MrEditor97 likes this.
  19. Offline

    MrEditor97

    What reward are you hoping for :p
     
  20. Offline

    PapiDimmi

    Knowledge that I have done something to help the community would be good, thanks.
     
  21. Offline

    MrEditor97

    I think that knowledge that you have done something to help the community will be enough.
     
  22. Offline

    xGhOsTkiLLeRx

    Hi there,

    besides what's going on with the project right now, here is some clarification:

    BlocksOnGlass relied completely on NMS code (that means the Minecraft Server code itself was modified)
    ItemsOnAnything used to be a clean approach from scratch to remove all this buggy and "hard to keep updated" NMS code.

    The main reason for ItemsOnAnything was that the Client code changed. I was no longer "notified" when the player e.g. placed a rail on glass - the Client didn't send the event to the server with the information, "Hey I tried to place rails on Glass". (see here)

    The new approach was to modify the physics of Minecraft with Bukkit, which is just possible.
    With some special cases this does work in general and the basic source "framework" should work. fine.

    However (and that's why I stopped developing/fixing it) is that redstone is broken, because the physics event is blocked.
    Due to his major flaw I was unable to complete it. If I try to let redstone through the physics event all the items popped up from the block they were on, too.

    If you have another approach: awesome!
    BlocksOnGlass was one of my favorites, too ;)

    Feel free to solve this problem or mystery and just tag/PM me if you have any questions.
    The code is CC BY-NC-SA, so just make your own fork but remember to keep the license.

    Cheers,
    xGhOsTkiLLeRx

    PapiDimmi MrEditor97
     
  23. Offline

    PapiDimmi

    xGhOsTkiLLeRx So it's not possible to make this sort of plugin for 1.7.10?
     
  24. Offline

    xGhOsTkiLLeRx

    I last tried it with 1.7.2 builds. Haven't checked more recent 1.7.X Minecraft versions
    Maybe my approach was just wrong, too.

    Let's see if MrEditor97 is able to achieve a nice clean solution :)

    I'm leaving the community, too, so I won't put any effort in another rewrite ;P
    Cheers,
     
    PapiDimmi likes this.
  25. Offline

    PapiDimmi

  26. Offline

    Sabersek

  27. Offline

    MrEditor97

    Well currently I think that were going to have to create some sort of custom event that is triggered on the place of the blocks that aren't sent to the server...
     
  28. Offline

    Sabersek

    MrEditor97
    Cancel the onPlace event, and create a custom trigger.
     
  29. Offline

    MrEditor97

    I think that would be the way we should do it. PM me, then we can do different bits.
     
  30. Offline

    Sabersek

Thread Status:
Not open for further replies.

Share This Page