[RPG/MECH] HealingTotem v?? - Health Regeneration from Totem Poles [??]

Discussion in 'Inactive/Unsupported Plugins' started by tprk77, Aug 7, 2011.

  1. Offline

    tprk77

    This plugin is currently being transitioned from the forums.bukkit.org to dev.bukkit.org.

    ===============================================================

    I don't like pork. And I don't like eating it to gain health.

    ...ok, pork is delicious, but I need motivation for this plugin.

    HealingTotems allows players to create totem poles that radiate healing powers and damage mobs. Once a player builds a totem, a "safe bubble" is created where players are continually healed and mobs are continually damaged. Totems are configurable: you can choose which blocks the totem is made out of, the healing power, and the range.

    For more information, go to BukkitDev.
     
    kahlilnc and undeadmach1ne like this.
  2. Offline

    Shivanous

    Haha! Congratulations on getting it up. I gave 0.6 a try, works great, no bugs that I saw, absolutely love it!
     
  3. Offline

    Olick

    You have video ?
     
  4. Offline

    tprk77

    I just made a quick video to show the basic idea. The quality doesn't seem that great, so maybe I'll try and make a better one later.
     
  5. Offline

    Shivanous

    I've got a question. I've noticed that there are particle emitters in minecraft (Torches and portal for example), would it be possible to have the totems emit particles?
    Also, like someone mentioned in your WIP thread, would it be possible for healing totems to damage Vampires and such? Like in Megacraft's Vampires plugin? And/or some of the others?
     
  6. Offline

    Imm0rt41

    this would go great with the mcmmo plugin i just download for my server. i really think it adds a nice feature to the rpg element. you should join with mcmmo and add this in to that. also can i use not bukkits permission system
     
  7. Offline

    undeadmach1ne

    i already said this in the wip thread, but its worth repeating. this is f'ing awesome man. thanks for making it [cake]
     
  8. Offline

    Ogm

    This is a really neat idea. I might give it a try on my server.
     
  9. Offline

    tprk77

    Particle emmitters seems like a good idea. I've been trying to figure out a way to provide feedback for totem creation without spamming the chat. I'll have to do some research.

    I'm not sure about the vampires thing. What is it exactly? Can you provide me a link?
     
  10. Offline

    skeletonofchaos

    I have a question if a guy breaks into a house and hits your wolf then would the totem kill the wolf?
     
  11. Offline

    tprk77

    As I understand it, bukkit permissions should be compatible with the Permissions plugin, because the Permissions plugin is a layer over bukkit permissions (or at least it will be in the future). Correct me if I'm wrong. I think permissions are kind of a mess right now because server admins and modders are in the process of moving to bukkit permissions (and it seems some people don't want to).

    Anyway, it seems like the future is bukkit permissions, so that's why I chose it for this plugin.

    P.S. Here's a plugin to supplement bukkit permissions.

    Hmm... I'm going to guess no. I think the wolf would still be "tamed" but I'm not sure. I think only "wild" wolves can become "angry." Please let me know if I'm wrong.

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

    skeletonofchaos

    I've had my pet wolf attack me before so... will test also where do you handle the damage in the source code? I'll add lightning if I could only find the section.
     
  13. Offline

    Shivanous

    Yeah, not sure how it works to begin with, so I can't offer any advice there.
    As for the Vampire plugin, here is the link: http://forums.bukkit.org/threads/me...horror-of-vampires-to-your-server-1000.27308/
     
  14. Offline

    Orosian

    Nice plugin, I'm certainly finding uses for it. I do have one suggestion, however: Could we individually configure each totem type for what it affects?

    For example, I could have a totem which only heals PCs, another which only damages wolves or mobs.

    I think that would extend its usefulness and have more variety.
     
  15. Offline

    Shivanous

    Seems that healing totems already damage mobs like skeletons, spiders, and zombies. I have Creepers turned off on my server, but I imagine they would be targeted as well. But agree with that, configurable targeting could be neat, that way you could have a wolf pound or something that would heal people's wolves, but not the players.
     
  16. Offline

    KosagiNoLegion

    Minor bug report for you. My son was playing on our server and the minor evil totem I'd placed in a dungeon area I'd found for him suddenly stopped working. Apparently the healing one back at our base also stopped. Restarting the server fixed the problem but I thought you should know about it.

    The log shows the following error message at about that time;

    2011-08-11 11:44:21 [WARNING] Task of 'HealingTotem' generated an exception
    java.lang.IllegalArgumentException: Health must be between 0 and 200
    at org.bukkit.craftbukkit.entity.CraftLivingEntity.setHealth(CraftLivingEntity.java:38)
    at tprk77.healingtotem.HTHealerRunnable$LivingEntityProcessor.applyHeal(HTHealerRunnable.java:57)
    at tprk77.healingtotem.HTHealerRunnable$2.process(HTHealerRunnable.java:98)
    at tprk77.healingtotem.HTHealerRunnable.run(HTHealerRunnable.java:159)
    at org.bukkit.craftbukkit.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:137)
    at net.minecraft.server.MinecraftServer.h(MinecraftServer.java:438)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:361)
    at net.minecraft.server.ThreadServerApplication.run(SourceFile:422)

    He says that he was fighting a zombie at the same time that it stopped working. I wonder if that might have caused the problem.

    In any event, this is a great plug-in idea and I think it's got some really good RPG uses. Thanks for making it!
     
  17. Offline

    tprk77

    Thanks! I will look into it.

    Sounds like a good idea, I'll put it on the list.

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

    OmagaIII

    Hey nice plugin. I did however find a totemtypes.yml config mismatch.

    My auto generated Totemtypes.yml looks like this:

    Auto Generated Totemtypes.yml (open)

    totemtypes:
    - structure:
    - z: 0
    material: COBBLESTONE
    y: 2
    x: 0
    - z: 0
    material: LAPIS_BLOCK
    y: 3
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 0
    x: 0
    - z: 0
    material: LAPIS_BLOCK
    y: 4
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 1
    x: 0
    rotator: NONE
    range: 15.0
    name: minor
    power: 1
    - structure:
    - z: 0
    material: IRON_BLOCK
    y: 2
    x: 0
    - z: 0
    material: GOLD_BLOCK
    y: 4
    x: 0
    - z: 0
    material: GOLD_BLOCK
    y: 3
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 1
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 0
    x: 0
    rotator: NONE
    range: 30.0
    name: normal
    power: 1
    - structure:
    - z: 0
    material: DIAMOND_BLOCK
    y: 4
    x: 0
    - z: 0
    material: GOLD_BLOCK
    y: 3
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 2
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 1
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 0
    x: 0
    rotator: NONE
    range: 45.0
    name: major
    power: 2
    - structure:
    - z: 0
    material: DIAMOND_BLOCK
    y: 3
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 1
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 2
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 0
    x: 0
    - z: 0
    material: DIAMOND_BLOCK
    y: 4
    x: 0
    rotator: NONE
    range: 75.0
    name: super
    power: 2
    - structure:
    - z: 0
    material: JACK_O_LANTERN
    y: 3
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 2
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 1
    x: 0
    - z: 0
    material: JACK_O_LANTERN
    y: 4
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 0
    x: 0
    rotator: NONE
    range: 15.0
    name: evilminor
    power: -1
    - structure:
    - z: 0
    material: NETHERRACK
    y: 2
    x: 0
    - z: 0
    material: GLOWSTONE
    y: 3
    x: 0
    - z: 0
    material: NETHERRACK
    y: 0
    x: 0
    - z: 0
    material: NETHERRACK
    y: 1
    x: 0
    - z: 0
    material: GLOWSTONE
    y: 4
    x: 0
    rotator: NONE
    range: 30.0
    name: evilnormal
    power: -1


    But the recommended config looks like this:

    Recommended Totemtypes.yml (open)

    totemtypes: - name: minor structure: - {x: 0, y: 0, z: 0, material: COBBLESTONE} - {x: 0, y: 1, z: 0, material: COBBLESTONE} - {x: 0, y: 2, z: 0, material: COBBLESTONE} - {x: 0, y: 3, z: 0, material: LAPIS_BLOCK} - {x: 0, y: 4, z: 0, material: LAPIS_BLOCK} rotator: NONE range: 15.0 power: 1 - name: normal structure: - {x: 0, y: 0, z: 0, material: IRON_BLOCK} - {x: 0, y: 1, z: 0, material: IRON_BLOCK} - {x: 0, y: 2, z: 0, material: IRON_BLOCK} - {x: 0, y: 3, z: 0, material: GOLD_BLOCK} - {x: 0, y: 4, z: 0, material: GOLD_BLOCK} rotator: NONE range: 30.0 power: 1 - name: major structure: - {x: 0, y: 0, z: 0, material: IRON_BLOCK} - {x: 0, y: 1, z: 0, material: IRON_BLOCK} - {x: 0, y: 2, z: 0, material: IRON_BLOCK} - {x: 0, y: 3, z: 0, material: GOLD_BLOCK} - {x: 0, y: 4, z: 0, material: DIAMOND_BLOCK} rotator: NONE range: 45.0 power: 2 - name: super structure: - {x: 0, y: 0, z: 0, material: IRON_BLOCK} - {x: 0, y: 1, z: 0, material: IRON_BLOCK} - {x: 0, y: 2, z: 0, material: IRON_BLOCK} - {x: 0, y: 3, z: 0, material: DIAMOND_BLOCK} - {x: 0, y: 4, z: 0, material: DIAMOND_BLOCK} rotator: NONE range: 75.0 power: 2 - name: evilminor structure: - {x: 0, y: 0, z: 0, material: COBBLESTONE} - {x: 0, y: 1, z: 0, material: COBBLESTONE} - {x: 0, y: 2, z: 0, material: COBBLESTONE} - {x: 0, y: 3, z: 0, material: JACK_O_LANTERN} - {x: 0, y: 4, z: 0, material: JACK_O_LANTERN} rotator: NONE range: 15.0 power: -1 - name: evilnormal structure: - {x: 0, y: 0, z: 0, material: NETHERRACK} - {x: 0, y: 1, z: 0, material: NETHERRACK} - {x: 0, y: 2, z: 0, material: NETHERRACK} - {x: 0, y: 3, z: 0, material: GLOWSTONE} - {x: 0, y: 4, z: 0, material: GLOWSTONE} rotator: NONE range: 30.0 power: -1

    As you might imagine, kind confusing if you want to change them. Only way to figure this out was to look at the actual y: values to determine the order of blocks.
    Just a heads up. =)
     
  19. Offline

    tprk77

    They should be functionally equivalent. The default config is generated by the Bukkit API YAML thingy, which doesn't let you format the output. It will put all of the keys (i.e. x, y, z, material) in random order and annoying things like that, but it should be the same information.

    Since the generated totemtypes.yml is ugly, I recommend copy/pasting the one I wrote by hand, or using that as a base to write your own (but you don't have to).
     
  20. Offline

    OmagaIII

    Shot, thanks =) Just wasn't sure about the actual layout.
     
  21. Offline

    Geethebluesky

    I second that idea! Thanks for working on it, and thanks for a great plugin.

    Could you tell me where I can get a list of blocks to make the totems besides the four already used in the example file? I don't know where the constants are defined...
    Can I refer to them as numbers (ex: 42 for the iron block) instead of a name like IRON_BLOCK)?

    Sorry if this info is on the Github page, the site seems down for me ATM.

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

    tprk77

    I want to do a quick poll. Would people like on/off flags for entities (players, mobs, etc)? Or would people like configurable ranges/powers for the different entities? You could "turn off" an entity by setting their power to zero. I'm thinking the second option might be overkill, and make the config unnecessarily complicated, but I dunno...

    What do you guys think?

    It should be on the github page, but you said that is down so...

    You can use the numbers. That's probably the easiest thing to do. Or you can use the bukkit style name, which is all caps and underscores.

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

    Shivanous

    I think on/off flags would work well enough, and be fairly simple to do. Just a quick question: Are healing towers supposed to damage mobs?
     
  24. Hello! Thanks for the plugin! It's working as intended for the most part, there's just a "graphical" error. There are no errors in the server log. It's when my health is full, the camera moves as if I'm being damaged. So it does the head bobble motion as if something is hitting me.

    Code:
    totemtypes:
    -   structure:
        -   z: 0
            material: COBBLESTONE
            y: 0
            x: 0
        -   z: 0
            material: COBBLESTONE
            y: 1
            x: 0
        -   z: 0
            material: COBBLESTONE
            y: 2
            x: 0
        -   z: 0
            material: LAPIS_BLOCK
            y: 3
            x: 0
        -   z: 0
            material: LAPIS_BLOCK
            y: 4
            x: 0
        rotator: NONE
        range: 15.0
        name: minor
        power: 1
    -   structure:
        -   z: 0
            material: IRON_BLOCK
            y: 0
            x: 0
        -   z: 0
            material: IRON_BLOCK
            y: 1
            x: 0
        -   z: 0
            material: IRON_BLOCK
            y: 2
            x: 0
        -   z: 0
            material: GOLD_BLOCK
            y: 3
            x: 0
        -   z: 0
            material: GOLD_BLOCK
            y: 4
            x: 0
        rotator: NONE
        range: 30.0
        name: normal
        power: 1
    -   structure:
        -   z: 0
            material: IRON_BLOCK
            y: 0
            x: 0
        -   z: 0
            material: IRON_BLOCK
            y: 1
            x: 0
        -   z: 0
            material: IRON_BLOCK
            y: 2
            x: 0
        -   z: 0
            material: GOLD_BLOCK
            y: 3
            x: 0
        -   z: 0
            material: DIAMOND_BLOCK
            y: 4
            x: 0
    
        rotator: NONE
        range: 45.0
        name: major
        power: 2
    -   structure:
        -   z: 0
            material: IRON_BLOCK
            y: 0
            x: 0
        -   z: 0
            material: IRON_BLOCK
            y: 1
            x: 0
        -   z: 0
            material: IRON_BLOCK
            y: 2
            x: 0
        -   z: 0
            material: DIAMOND_BLOCK
            y: 3
            x: 0
        -   z: 0
            material: DIAMOND_BLOCK
            y: 4
            x: 0
        rotator: NONE
        range: 75.0
        name: super
        power: 2
     
  25. Offline

    tprk77

    At the moment, yes. In the next version this will be configurable.

    This seems pretty weird since I coded things to purposely avoid this. The config looks fine. Can you give me some more details, like what CB release you are using and what other plugins?

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 18, 2016
  26. Sure!

    Code:
    2011-08-18 00:18:59 [INFO] This server is running Craftbukkit version git-Bukkit-0.0.0-945-g73697a4-b1000jnks (MC: 1.7.3)
    And

    Code:
    2011-08-18 00:19:14 [INFO] Plugins: AdvancedMobs, AntiCreeper, Anvils, AppleTree, bLift, ChopTree, CraftBukkitUpToDate, HealingTotem, MineQuest, PickBoat, Wilderness
     
  27. Offline

    tprk77

    Kind of a big update. Notice that the config.yml has changed. Delete your old one and let the plugin generate the default.

    The properties missing from config.yml have been moved to totemtypes.yml. Each totemtype now has the following optional properties: affectsplayers, affectsmobs, affectstamedwolves, and affectsangrywolves. They all default to true.

    Totem build and break events now cause lightning bolts and info messages by default. This is controlled by the lightning and quiet properties respectively.

    Totems now have owners, and the number of totems per player is limited. The default is 100. If you really don't like the limit, I've added a new permission: healingtotem.unlimitedbuild (this defaults to op).

    Hopefully I fixed a couple bugs too. Please let me know if I missed any.
     
  28. Offline

    Geethebluesky

    Thanks for the update! :)
     
    tprk77 likes this.
  29. Offline

    tprk77

    I added some code which hopefully prevents the damage animation. I'm not entirely sure what was causing it, but I'm guessing it was due to another plugin modifying your health. Will you let me know if v0.8 fixes it?
     
  30. Offline

    Shivanous

    Just updated and the plugin had a massive conniption fit, checked the config, and it's a bloody mess. The name's are in the wrong spots, heck the tower structure was completely out of order, if the lines were even still in the right places. Having said that, I'm currently working on rewriting the config. I do love this plugin though, so it's all going to be worth it.
    Here's the config, I've seperated it into seperate lines for easier reading, and fixed up most of the first tower (I think) (Also, the spoiler descided to dump it onto a bunch more lines than I had...Fair warning)
    Show Spoiler

    totemtypes:
    - affectsmobs: true
    affectstamedwolves: true
    affectsplayers: true
    structure:
    y: 0
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 1
    x: 0 - z: 0
    material: COBBLESTONE
    y: 2
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 3
    x: 0
    - z: 0
    material: LAPIS_BLOCK
    y: 4
    x: 0
    - z: 0
    material: LAPIS_BLOCK
    rotator: NONE
    range: 15.0
    name: minor
    affectsangrywolves: true
    power: 1
    - affectsmobs: true
    affectstamedwolves: true
    affectsplayers: true
    structure:
    - z: 0
    material: IRON_BLOCK
    y: 1
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 2
    x: 0
    - z: 0
    material: GOLD_BLOCK
    y: 4
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 0
    x: 0
    - z: 0
    material: GOLD_BLOCK
    y: 3
    x: 0
    rotator: NONE
    range: 30.0
    name: normal
    affectsangrywolves: true
    power: 1
    - affectsmobs: true
    affectstamedwolves: true
    affectsplayers: true
    structure:
    - z: 0
    material: GOLD_BLOCK
    y: 3
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 1
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 2
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 0
    x: 0
    - z: 0
    material: DIAMOND_BLOCK
    y: 4
    x: 0
    rotator: NONE
    range: 45.0
    name: major
    affectsangrywolves: true
    power: 2
    - affectsmobs: true
    affectstamedwolves: true
    affectsplayers: true
    structure:
    - z: 0
    material: DIAMOND_BLOCK
    y: 3
    x: 0
    - z: 0
    material: DIAMOND_BLOCK
    y: 4
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 2
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 1
    x: 0
    - z: 0
    material: IRON_BLOCK
    y: 0
    x: 0
    rotator: NONE
    range: 75.0
    name: super
    affectsangrywolves: true
    power: 2
    - affectsmobs: true
    affectstamedwolves: true
    affectsplayers: true
    structure:
    - z: 0
    material: JACK_O_LANTERN
    y: 3
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 0
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 1
    x: 0
    - z: 0
    material: JACK_O_LANTERN
    y: 4
    x: 0
    - z: 0
    material: COBBLESTONE
    y: 2
    x: 0
    rotator: NONE
    range: 15.0
    name: evilminor
    affectsangrywolves: true
    power: -1
    - affectsmobs: true
    affectstamedwolves: true
    affectsplayers: true
    structure:
    - z: 0
    material: GLOWSTONE
    y: 3
    x: 0
    - z: 0
    material: NETHERRACK
    y: 2
    x: 0
    - z: 0
    material: NETHERRACK
    y: 1
    x: 0
    - z: 0
    material: GLOWSTONE
    y: 4
    x: 0
    - z: 0
    material: NETHERRACK
    y: 0
    x: 0
    rotator: NONE
    range: 30.0
    name: evilnormal
    affectsangrywolves: true
    power: -1
     

Share This Page