[Free] SimpleAbilities (1.7-1.8) | Open Source HCF Abilities

Status
This thread has been locked.

sores

MineBOI
Premium
Feedback score
5
Posts
305
Reactions
210
Resources
0
Intro:
SimpleAbilities is my take on an HCF abilities plugin. It has some of the abilities that have been known in the gamemode and also a few new ones. I'm releasing it for free and also posting the source on my github. Enjoy crafters.

Features:
  • 8 Abilities total (more to come soon)
  • A few custom abilities
  • In-Game Ability editing system
  • Ability to reload configuration and language file in game

Permissions:
  • abilities.ability - Access the /ability command.
  • abilities.reload - Access the /abilityrl command.

TOS:

  • Do not attempt to sell this plugin.

Depends:

SimpleAbilities depends on my small lib Spark.

How to install:
1. Download Spark, and put it in your server.
2. Download SimpleAbilities and drop it in.
3. Start your server.

Config Files:
Code:
## Default configuration file for SimpleAbilities developed by sores ##
## Any time variables are based in seconds ##

abilities:
  switcher:
    enabled: true
    cooldown: 45
  cocaine:
    enabled: true
    cooldown: 30
    speed_level: 2
    speed_time: 5
  anti_build:
    enabled: true
    cooldown: 60
    time: 5
  smelting_shovel:
    enabled: true
  armor_swap:
    enabled: true
    cooldown: 60
    time: 3
    potion_effect: true
  lightning_rod:
    enabled: true
    cooldown: 45
  fall_protection:
    enabled: true
    cooldown: 60
  recall:
    enabled: true
    cooldown: 120
    range: 20
    potion_effect: true
Code:
NO_PERMISSION: '&cNo permission.'
NO_LONGER_ON_COOLDOWN: '&aYour %ability% Ability is no longer on cooldown.'
COOLDOWN_MESSAGE: '&cYour %ability% Ability is still on cooldown for %time% seconds.'
NO_PLAYER_FOUND: '&cNo player online with the name: &e%name%'
ABILITY_NOT_FOUND: '&cInvalid ability: &e%ability%&c, please try again.'
ABILITY_DISABLED: '&cThat ability is currently disabled.'

Images:
ability_usage.png

ability_list.png

ability_example.png

ability_menu.png


Proof of Ownership:
ability_proof.png


Extra:

Source Code: https://github.com/soresdev/SimpleAbilities
Download: https://www.mc-market.org/resources/14483/
 

Attachments

  • ability_usage.png
    ability_usage.png
    27 KB · Views: 783
  • ability_list.png
    ability_list.png
    15.8 KB · Views: 714
  • ability_example.png
    ability_example.png
    22.8 KB · Views: 697
  • ability_proof.png
    ability_proof.png
    132.5 KB · Views: 628
  • ability_menu.png
    ability_menu.png
    7.3 KB · Views: 492
Last edited:
PebbleHost
High performance, consistent uptime and fast support. Minecraft hosting that just works.

ZoiBox

Java dev & Setup Specialist
Supreme
Feedback score
3
Posts
753
Reactions
228
Resources
0
looks really good however I dont know why spark would be a dependency
 

sores

MineBOI
Premium
Feedback score
5
Posts
305
Reactions
210
Resources
0
looks really good however I dont know why spark would be a dependency
Thank you. Some of the methods used in the plugin are stored in Spark, which is my small lib used for spigot plugins. Spark is just there to make my life a little easier when developing a plugin, that's all.
 

ZoiBox

Java dev & Setup Specialist
Supreme
Feedback score
3
Posts
753
Reactions
228
Resources
0
Thank you. Some of the methods used in the plugin are stored in Spark, which is my small lib used for spigot plugins. Spark is just there to make my life a little easier when developing a plugin, that's all.
Ok
 

ItsFrosted

Feedback score
2
Posts
18
Reactions
9
Resources
0
Vouch, sores is a great competent developer. If you have an hcf server and want custom abilities I highly recommend this plugin!
 

Scifi

Supreme
Feedback score
4
Posts
577
Reactions
208
Resources
4
Could be cleaner by far also for handling the IAbility Interface you could just do

public interface IAbility {

public ItemStack getAbilityItem();

public String getAbilityName();

public String getAbilityDisplayName();

public List<String> getLore();

public boolean isEnabled();

public ItemStack getItem();

public void handle(Event event);

}

as for the actual usage you could just do something similar to this https://hasteb.in/itemuriy.java
 
Last edited:

sores

MineBOI
Premium
Feedback score
5
Posts
305
Reactions
210
Resources
0
Could be cleaner by far also for handling the IAbility Interface you could just do

public interface IAbility {

public ItemStack getAbilityItem();

public String getAbilityName();

public String getAbilityDisplayName();

public List<String> getLore();

public boolean isEnabled();

public ItemStack getItem();

public void handle(Event event);

}

as for the actual usage you could just do something similar to this https://hasteb.in/itemuriy.java
The Interface is there to handle the changing of per ability attributes with the in-game editing feature. I'm going to be cleaning up some things and adding things here soon. I appreciate the feedback!
 
Last edited:

PTech

Feedback score
6
Posts
422
Reactions
261
Resources
0
Don't commit IDE specific files or the target folder. Follow naming conventions, I.E: Command_ability could be AbilityCommand, Command_abilityreload could be AbilityReloadCommand, this also goes for your ability implementation names.
 

sores

MineBOI
Premium
Feedback score
5
Posts
305
Reactions
210
Resources
0
Don't commit IDE specific files or the target folder. Follow naming conventions, I.E: Command_ability could be AbilityCommand, Command_abilityreload could be AbilityReloadCommand, this also goes for your ability implementation names.
I pushed the target folder when I was super tired one night, didn't realize it until I looked the next day. As for the class names containing underscores, sure it might not be considered "practical", but that's just the way I've always done it, and the underscore itself is a Java letter. It just kind of makes it easier for me navigating the IDE when I'm working on large projects. Thanks for the feedback, always good to hear from you!
 

PTech

Feedback score
6
Posts
422
Reactions
261
Resources
0
I pushed the target folder when I was super tired one night, didn't realize it until I looked the next day. As for the class names containing underscores, sure it might not be considered "practical", but that's just the way I've always done it, and the underscore itself is a Java letter. It just kind of makes it easier for me navigating the IDE when I'm working on large projects. Thanks for the feedback, always good to hear from you!
It's good to get used to following naming convention so when you're eventually employed in the future you won't commit weird file names your employees will get angry at you for haha
 
Status
This thread has been locked.
Top