[REQ] Spreading Creep

Discussion in 'Archived: Plugin Requests' started by Sbirematqui, Apr 23, 2011.

  1. Offline

    Sbirematqui

    So, i have a plugin request. I will present you my idea...
    (I'm french and images tell more than text.) :D

    [​IMG]
    I place some "creep"...

    [​IMG]
    And my "creep" will spread slowly...

    [​IMG]
    But it never stop... more and more "creep"... everywhere...

    [​IMG]
    ARrrrh ! It eat my home !
    [​IMG]
    Now, every morning, i must wash the land...

    Somebody understand ?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  2. Offline

    mutiny

    funny idea
     
  3. Offline

    robin0van0der0v

    Yes, I try it to make it. :)
     
  4. Offline

    Sbirematqui

    So, how are you progressing ? [sheep]
     
  5. Offline

    Qzzrbl

    Heh, this is a neat idea! :D
     
  6. Offline

    Sbirematqui

    Now, i think we must be patient. :D
     
  7. Offline

    mindless728

    oh god this would be hilarious to do on a creative server
     
  8. Offline

    valdark

    Use igrow. You will have to define the recipe but it will do the job.
     
  9. Offline

    Sbirematqui

    Nope !
    Indeed, Igrow can spread any material on anything, but...

    The "creep" would'nt destroy the land, trees, your house... Just spread ON the land, trees...etc
    (Is my english correct ? >< )
     
  10. Offline

    Mixcoatl

    Better than most Americans' English. :p
     
  11. Offline

    GGreenBass

    At first I thought this was going to be some dumb starcraft mod.

    But this is HILARIOUS. I think this would be awesome right around the time we start to get bored on a Minecraft server, just dump this on everyone in secret, hidden away locations, so the creep becomes HUGE before anyone ever finds it XD
     
    Benjaneer likes this.
  12. Offline

    Sbirematqui

    Huhu, i thought on something :
    Ok, we can put creep on the land... but... if we put some creep on a cave... or a manor... :D
     
  13. Offline

    Mixcoatl

    Agreed.
    Probably want to control the drops, too. Might not want players to come into possession of tens of thousands of blocks of netherrack. :eek:
     
  14. Offline

    GGreenBass

    xD That's a good point.
    WHAT IF IT WAS WITH SPONGES? ATTACK OF THE SPONGES<3
     
  15. Offline

    1337

    StarCraft 2 :D
     
  16. Offline

    Mixcoatl

    I think you would still want to control the drops: tens of thousands of blocks of sponge isn't a lot better. ;)
     
  17. Offline

    Sbirematqui

    And what if it was with adminium ? [bedrock]
     
  18. Offline

    Qzzrbl

    And what if there were a config file that allowed us to define what block is the creep?! :D

    There are already plugins out there that allow us to control drops. x]
     
  19. Offline

    Mixcoatl

    If it were adminium then, well, nobody would be able to stop it from completely consuming the entire world :oops:
    That would be good planning; but we would probably want to blacklist certain blocks from being used as creep. Adminium is a good example.
    True. But it's nice to not have to use a one plug-in to prevent another plug-in from annihilating your economy. It could be such that creep blocks never drop, or only drop 1 in 10 breaks, while normal blocks even of the creep block type break normally and produce normal drops, for example.
     
  20. Offline

    valdark

    Actually it could with the proper configuration you can get the creep to replace any block. You would just need a separate recipe for each material it can "consume".

    Example:
    #Recipes file for iGrow #Lines that starts with the '#' sign, will be ignored!! #Usage: # oldBlock,newBlock,needBlock,Chance:OutOf,enableNear # - oldBlock = The block it was before # - newBlock = The block it will change to # - needBlock = The oldBlock needs to be connected to this block # - Chance:OutOf = The chance to let the block change # - enableNear = Spread newBlocks over the oldBlocks

    #This would replace air with netherrack when next to other netherrack
    0,87,87,1:100,false
    #This would replace wood planks with netherrack when next to other netherrack
    5,87,87,1:100,false

    end of example

    The configuration is the key here and no additional mod would be necessary.

    However iGrow does have issues when run too quickly. If someone could simply update it's timer code we'd have a flawless version.
     
  21. Offline

    Sbirematqui

    Try to do this with Igrow, it's impossible...
    [​IMG]
     
  22. Offline

    valdark

    if you want it to replace wood and leaves add the following

    18,87,87,1:100,false
    17,87,87,1:100, false

    if you don't add these two lines then trees will not be "eaten"
     
  23. Offline

    mindless728

    been messing around with some code for this idea, not liking how it is working out and thinking of changing from a Deterministic solution to a non-Deterministic solution using random numbers

    I'll keep you guys posted
     
  24. Offline

    valdark

    To the OP. Thanks for the great idea... going to have netherportals spread rack all over the place. :)
     
  25. Offline

    SamV522

    Going to commence coding now. Shouldn't take long
     
  26. Offline

    mindless728

    its not hard to do (took like 10min maybe), its just takes a little while to get the spreading algorithm just the way you want it
     
  27. Offline

    SamV522

    I'm going to try and set it up so it only grows/creeps where it can "feed" off other blocks :D

    Update: The code is finished, I just need to compile it and test, which I'll do when I get home in approximately 6 hours, isn't senior highschool fun?
    Edit:
    One thing I forgot to add was drop protection. Once I've tested and confirmed that the current code works, I'll get to work on implementing some sort of drop protection, not sure how I'd go about it though? Not sure it'd be a good idea to add all the creep blocks to an ArrayList, would it? :/

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  28. Offline

    Mixcoatl

    Generally, no, but I do have a suggestion! You could reasonably use one bitvector for each chunk that contains creep blocks. You can set on the bitvector the bits corresponding to the indexes in the chunk data array that are creep blocks. This would allow you to reduce the tracking overhead to 4kb per chunk. That information would also need to be saved when the chunk is unloaded and re-loaded when the chunk is loaded again.
     
  29. Offline

    SamV522

    Whoa whoa whoa, I'm new to the Bukkit API, so I'd have to initialise a bitvector per chunk, and set a byte that specifised some sort of Identifier for each block, and then add it to the chunk?

    From what I read, do chunks store a byte index for each block inside the chunk or what? You lost me at that part

    Update:
    I compiled it and I'm just squashing out some small bugs, then onto some testing, expect a possible release tonight unless things turn horribly ugly.

    Okay, so it's partially working. It starts spreading like I planned, but it's overloading the server after the first creep. Source available on request

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 14, 2016
  30. Offline

    valdark

    How fast are you running the replacement? If you are running it more than once every 5 minutes it could be your issue. Also is this running on player near? If so at what distance?
     

Share This Page