Awesome Open Source
Awesome Open Source

KitPvP-Framework

This repository contains a framework built for KitPvP plugins. The main purpose of this project is if I wanted to create a new KitPvP project of some sorts, I can use this framework as a starting base for the plugin I plan to make.

CodeFactor Lines Of Code Discord

Feature List

This framework contains the following features

Table of Contents

Easy to use API

The internal API is crucial for the plugin to work. It is how most classes access features such as Profiles.

You can access the API by doing the following:

KitPvPAPI api=KitPvPAPI.getInstance();

// Example
// Get the manager for Profiles
ProfileManager profileManager=api.getProfileManager();

Profiles

Profiles is a custom stats-tracking object where you can store data and will be printed to JSON. This uses the Gson Library.

Each profile contains the following stats:

  • Unique ID (The UUID of the Player/Owner of the Profile)
  • Kills (an Integer which represents how many kills you have)
  • Deaths (an Integer which represents how many deaths you have)
  • KillStreak (an Integer which represents how many kills you have had since your last death)
  • Best KillStreak (an Integer which represents your best KillStreak of all time)
  • Assists (an Integer which represents how many players you have assisted in killing)
  • Coins (a Long which represents how much currency you possess)
  • Cosmetics Status (an Object which contains 3 enums of your Kill Effect, Kill Message, and Kill Sound)
  • Current Kit (an Enum which represents your current kit you have selected)

Region

Region is a region system which can be used internally without the need of third party region plugins such as WorldGuard. You can use it internally to determine custom conditions for any piece of code you may make.

Cosmetics

Cosmetics are a non pay-to-win way for servers to monetize their KitPvP gamemode. This framework contains 4 types of Cosmetics.

Kill Effects

When you kill a player with a Kill Effect enabled, it will run the corresponding code. It could spawn particles, mobs, or anything to your heart's desire!

Kill Messages

When you kill a player with a Kill Message enabled, it will send both the victim and killer the corresponding message. The message is defined inside the code.

Kill Sounds

When you kill a player it will send the killer the corresponding sound. The sound is defined inside the code.

Projectile Trails

When shooting a projectile it will run the corresponding code. The function is defined inside the code.

Ability Items

Ability Items are custom items which when its corresponding condition is met, such as Left-Clicking, Right-Clicking, or damaging a player, it will execute its corresponding code.

Easy Command API

The Command API allows you to create commands easier than using regular CommandExecutor. The API is provided from DeltaAPI.

Please read on how to use this API here!

Easy GUI API

The GUI API allows you to create interactive menus without the need of creating listeners all over the place. The API is provided from DeltaAPI.

Spawn System

This framework contains a custom spawn system which will override any current spawn system such as Essentials. This is so you can control it internally.

Please read on how to use this API here!

Dynamic Placeholder System

Using PlaceholderAPI, the framework has support for placeholders, by creating a new class that extends PAPIPlaceholder and filling in the information, it will create a new placeholder that PlaceholderAPI can use to determine different stats like Kills, Deaths, KDR and more.

See Kills Placeholder or Deaths Placeholder for examples.

Warp System

The Warp system is a system where you can set global server warps players can go to.

You can add a permission to a Warp so only players that match the required permission can travel to the warp.

Combat Tag

This framework has a built-in Combat Tag system. Currently, the Combat Tag feature is used for determining if a player can Warp or go to Spawn.

Cooldown System

This framework has a cooldown system where you can add any type of cooldown and make the according checks in your code, and it should work!

Notice

This Mark Down will be expanded upon at a later date. This currently does not cover all the features of the framework.


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Java (412,491
Pvp (100
Soup (9
Kitpvp (4
Potpvp (3