Need Faction Like Plugin that would be private for my server only

Discussion in 'Archived: Plugin Requests' started by Final_Recreation, Sep 5, 2012.

  1. Add me on skype finalrecreation

    I need help making a plugin, there will be 2 factions The Holy Council and The Dark Council! Once you get in the game the plugin will ask which side you want to join. You can join it by typing /Join (The Holy Council-or-The Dark Council) once you choose then it will ask which class you would like!

    For The Holy Council there will be,

    The Holy Priest

    The Holy Knight

    The Holy Archer

    The Holy Priest will have healing abilities, The Holy Knight will have special melee abilities, and then The Holy Archer will have special bow attacks like confusion shots and fire shots and such!

    All the abilities will use a binding system!

    The Dark Council will have,

    The Dark Sorcerer

    The Dark Templar

    The Dark Priest

    Have you ever tried the avatar bending plugin? No? Well then try it I want the Sorcerer to have the bloodbending like ability and more we will discuss it!

    The Dark Templar will have special melee attacks, The Dark Priest will have Dark Healing abilities!


    And once you join a side you will be transported to The Dark Council Academy or The Holy Council Academy! Once you get there, there will be different rooms! Each one with an npc using each ability of your class! You will be sent to different training rooms depending on the class you pick! I want you to program some kind of system so before it opens the door to the exit the player has to go into each room for at least 20 seconds! Once the player is in each room for at least 20 seconds the door to the exit will open! Once you exit the training room there will be an arena, in the arena there will be a npc you need to fight! Each npc will be basic, either it will be a Dark Priest or dark templar or dark sorcerer and for the holy council you get it there is a random chance that the npc you fight will be any of the classes from your side! Before you go into the arena there will be an NPC telling you your first attack (We will discuss the attacks) Then the npc trainer will tell you that you can get different abilities as you lvl up and in your home town there will always be a trainer to teach you as you lvl! Once you beat the other npc then you get tped to the Holy Council or Dark Council Kingdom depending on your side! You can explore around and you will spawn right infront of the trainer! Once you right click the trainer in the chat log (private for each player) there will be 4 brackets each one going 5 levels higher that means there is only going to be 20 lvls and you get 2 new abilities when you hit lvl 5 then 2 when you hit lvl 10 then 2 when you hit lvl 15 then 1 when you hit lvl 20. When you hit lvl 5 in the chat it will say go to the trainer to learn your new spells! Once you right click the trainer the 4 brackets will show up with the spells for each one of that bracket and then it will say you can learn (then it will say the abilities you can learn)! It will ask you to type /Learn New Spells then you will learn the new spells that are allowed for you to learn!

    You can go out and fight the other side! There will be other mini bases that you can conquer and take control of and there will also be a hall of fame warp at the home of each base!


    And sometimes there will also be random enemy human npcs that drop loot! I have the skins I want for the npcs! So please add me on skype if your interested FinalReceation


    And actually each room at the training center does not have to be 20 seconds only 5!

    I really want this to happen, and make it a big popular server with it's own story, maybe even expansions with new areas spells, and levels in the future! So please if you want to be apart of this reply!
     
  2. Offline

    c0mp

  3. Offline

    gauso001

    Nobody is going to make you a private plugin. Learn java! It's not that hard. I am learning it, and I have made a plugin already!
     
  4. Offline

    jjacobson

    gauso001 How did you go about starting to learn? I want to get into it but have 0 coding xp and no idea where to start.
     
  5. Offline

    Naddox

    Google
     
  6. Offline

    gauso001

    http://wiki.bukkit.org/Plugin_Tutorial
    http://docs.oracle.com/javase/tutorial/index.html
    Just to get you started, here is the source of my next (currently work-in-progress) plugin, including the plugin.yml:
    SOURCE: (directly from eclipse)
    Code:
    // This plugin is open-source, feel free to modify the code as you wish. If you do not know java, then only modify the explained parts.
    // If you do not know what you are doing, DO NOT MODIFY THIS CODE! YOU WILL MESS UP THE PLUGIN!
    // -gauso001
     
    package to.us.diamondcraft;
     
    import org.bukkit.plugin.java.JavaPlugin;
    import org.bukkit.command.CommandSender;
    import org.bukkit.command.Command;
    import org.bukkit.entity.Player;
     
    public class DiamondTROLL extends JavaPlugin {
     
     
    public void onEnable(){
        getLogger().info("DiamondTROLL has started! Trolol!"); // This is what the plugin says on startup in console
    }
     
    public void onDisable(){
        getLogger().info("DiamondTROLL has shut down! Problem?"); // This is what the plguin says on shutdown in console
    }
     
    public boolean onCommand(CommandSender sender, Command cmd, String label, String[] args){
       
        if(cmd.getName().equalsIgnoreCase("ignite")){ // This is the command, change it as you wish. However, you will als have to change it in the plugin.yml!
            Player s = (Player)sender;
            Player target = s.getServer().getPlayer(args[0]);
            target.setFireTicks(10000);
        }
     
        else if(cmd.getName().equalsIgnoreCase("boom")){ // This is the command, change it as you wish. However, you will als have to change it in the plugin.yml!
                float explosionPower = 9F; // This is the explosion power - TNT explosions are 4F by default, over 20F WILL EXTREMELY LAG ANY SERVER!
                Player target = sender.getServer().getPlayer(args[0]);
                target.getWorld().createExplosion(target.getLocation(), explosionPower);
                target.setHealth(0);
            }
     
        else if(cmd.getName().equalsIgnoreCase("Hidefrom") && args.length == 1){ // This is the command, change it as you wish. However, you will als have to change it in the plugin.yml!
                Player s = (Player)sender;
                Player target = sender.getServer().getPlayer(args[0]);
                target.hidePlayer(s);
               
     
                return true;
    }
        return false;}
    }
    PLUGIN.yml:
    Code:
    name: DiamondTROLL
    main: to.us.diamondcraft.DiamondTROLL
    version: 1.1
     
    description: Troll those griefers/hackers!
    author: gauso001
    website: http://www.diamondcraft.us.to/
     
    database: false
     
    commands:
      ignite:
        description: ignite the player specified
        usage: |
              FIRE!
      hidefrom:
        description: hides you from the player specified
        usage: |
              hidden!
      boom:
        description: blow up the player specified (Same as DiamondBOOM)
        usage: |
              BOOM!
    
    Want me to explain the code?

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

    jjacobson

    gauso001 We should take this to pm so we don't piss off OP but thanks so much i really appreciate all the help.
     
  8. Offline

    gauso001

    ok, ill explain it in the PM.
     
  9. Offline

    toothplck1

    You forgot to null check args[0] and didn't do a check to make sure that the sender was indeed a player and not the console
     
  10. Offline

    gauso001

    My point is for this to work via player AND console, I know about null check args[0].
     
  11. Offline

    toothplck1

    Well casting sender to player would throw up an error if its run by console.
     
  12. Offline

    gauso001

    The point is I WANT the command to be executable from the console.
     
  13. Offline

    toothplck1

    The point is that "ignite" and "hidefrom" WON'T work when sent from console, and will through up errors which is sloppy. Not to mention you can't really ignite or hide console.... SO you need to do a if(sender instanceof Player) for those two.
     

Share This Page