Skip to content

Commit

Permalink
Merge branch 'main' into Development
Browse files Browse the repository at this point in the history
  • Loading branch information
NextdoorPsycho authored Apr 20, 2023
2 parents d02e3b8 + a73de7e commit e9c8760
Show file tree
Hide file tree
Showing 28 changed files with 539 additions and 237 deletions.
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/feature.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ body:
attributes:
label: Alternatives
description: What alternatives have you considered?
value: plugins... commands...
value: plugins... commands...
- type: markdown
id: thanks
attributes:
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
ALL CONTRIBUTIONS WELCOME :)

This is a community project, and we welcome contributions of all kinds, including
code, documentation, and bug reports. We also welcome contributions of all sizes,
code, documentation, and bug reports. We also welcome contributions of all sizes,
from small typo fixes to large new features.

Thanks for your interest in contributing!
320 changes: 160 additions & 160 deletions LICENSE.md

Large diffs are not rendered by default.

97 changes: 67 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Adapt
# Adapt

[![image](https://github.com/VolmitSoftware/Adapt/raw/main/storepage/adapt-tc.png)](https://github.com/VolmitSoftware/Adapt/wiki/Why-did-you-click)

Expand All @@ -10,22 +10,34 @@ _Adapt is a drag and drop solution for balanced passive abilities and skills tha

### Description

Adapt Abilities are all accessible in the in-game GUI (Right-clicking any Bookshelf **_Face_**) providing a more user-friendly experience to a "skills" system. Most servers want to increase the quality of the "vanilla" experience. Most Skill based plugins are about powers, game breaking systems, and riddles with bugs. That's where Adapt comes in. Lightweight on the server, and providing mere quality of life enhancements to a user's experience. Below is a **WIP** List of features (_and descriptions_) that ill fill when i can. But this should give you a good idea of the roadmap for this plugin! Keep in mine this all WIP, can change at any time, and all of these can be configured / disabled!
Adapt Abilities are all accessible in the in-game GUI (Right-clicking any Bookshelf **_Face_**) providing a more
user-friendly experience to a "skills" system. Most servers want to increase the quality of the "vanilla" experience.
Most Skill based plugins are about powers, game breaking systems, and riddles with bugs. That's where Adapt comes in.
Lightweight on the server, and providing mere quality of life enhancements to a user's experience. Below is a **WIP**
List of features (_and descriptions_) that ill fill when i can. But this should give you a good idea of the roadmap for
this plugin! Keep in mine this all WIP, can change at any time, and all of these can be configured / disabled!

The master branch is for the latest version of minecraft.

### Language and Localization

Do you know a language other than english? do you want to be a big part in Adapt's localization into different languages? Join the discord and let us know, or [Click Here](https://gitlocalize.com/repo/8085), and you can help is remotely with language localizations! if you don't see a language you can easily add it, or let us know here in discussions! We take this on an Honor System, so please only if you are confident in the language submit a translation key, they will be verified.
Do you know a language other than english? do you want to be a big part in Adapt's localization into different
languages? Join the discord and let us know, or [Click Here](https://gitlocalize.com/repo/8085), and you can help is
remotely with language localizations! if you don't see a language you can easily add it, or let us know here in
discussions! We take this on an Honor System, so please only if you are confident in the language submit a translation
key, they will be verified.

# [Support](https://discord.gg/volmit) **|** [Documentation](https://docs.volmit.com/adapt/)

# Building

### _Consider supporting our development by buying Adapt on [spigot](https://www.spigotmc.org/resources/adapt-leveling-skills-and-abilities.103790/)! We work hard to make Adapt the best it can be for everyone._
### _Consider supporting our development by buying Adapt
on [spigot](https://www.spigotmc.org/resources/adapt-leveling-skills-and-abilities.103790/)! We work hard to make Adapt
the best it can be for everyone._


Building Adapt is not as Straightforward as [Iris](https://www.spigotmc.org/resources/iris-world-gen-custom-biome-colors.84586/), though you will need to setup a few things if your system has never been used for java development.
Building Adapt is not as Straightforward
as [Iris](https://www.spigotmc.org/resources/iris-world-gen-custom-biome-colors.84586/), though you will need to setup a
few things if your system has never been used for java development.

<details>

Expand All @@ -35,7 +47,8 @@ Building Adapt is not as Straightforward as [Iris](https://www.spigotmc.org/reso

### IDE Builds (for development & Compilation)

You NEED TO BE USING Intelij To build this project, or anything that can support the plugin [Manifold](https://plugins.jetbrains.com/plugin/10057-manifold)
You NEED TO BE USING Intelij To build this project, or anything that can support the
plugin [Manifold](https://plugins.jetbrains.com/plugin/10057-manifold)

## Preface: if you need help compiling ask for support in the [discord](https://discord.gg/volmit), we give help regardless if you want to donate to us on spigot or compile it here :) we just want to be sure that you are able to use and enjoy the software regardless of circumstance.

Expand All @@ -56,30 +69,34 @@ You NEED TO BE USING Intelij To build this project, or anything that can support
5. Quit & Reopen Terminal and verify with `echo $JAVA_HOME`. It should print a directory

3. Setup Gradle

<details>
<summary> Gradle Setup </summary>

* Run `gradlew setup` any time you get dependency issues with craftbukkit
* Configure ITJ Gradle to use JDK 17 (in settings, search for gradle)
* Resync the project & run your newly created task (under the development folder in gradle tasks!)
* Run `gradlew setup` any time you get dependency issues with craftbukkit
* Configure ITJ Gradle to use JDK 17 (in settings, search for gradle)
* Resync the project & run your newly created task (under the development folder in gradle tasks!)

</details>

4. INSTALL [MANIFOLD](https://plugins.jetbrains.com/plugin/10057-manifold)
5. If this is your first time building Adapt for MC 1.19+ run `gradlew setup` inside the root Adapt project folder. Otherwise, skip this step. Grab a coffee, this may take up to 5 minutes depending on your cpu & internet connection.
5. If this is your first time building Adapt for MC 1.19+ run `gradlew setup` inside the root Adapt project folder.
Otherwise, skip this step. Grab a coffee, this may take up to 5 minutes depending on your cpu & internet connection.
6. Once the project has setup, run `gradlew adapt`
7. The Adapt jar will be placed in `Adapt/build/Adapt-XXX-XXX.jar` Enjoy! Consider supporting us by buying it on spigot!

</details>


<details>
<summary> SKILLS </summary>

_The skills below are the fundamentals that we want implemented but PLEASE feel free to make an issue request for an idea/Added Ability into adapt.
_The skills below are the fundamentals that we want implemented but PLEASE feel free to make an issue request for an
idea/Added Ability into adapt.
Keep in mind it should be simple, but complex ones are welcome too!_

## Agility:

- [ ] Slide?
- [X] Super jump (Allows a Crouch jump to launch yourself up to 5 blocks High)
- [X] Wall jump (Jump on walls)
Expand All @@ -89,13 +106,15 @@ Keep in mind it should be simple, but complex ones are welcome too!_
- [ ] Climb WOod

## Architect:

- [X] Temporary blocks (Crouch off a ledge)
- [X] BuildersWand (Small) (You can place up to 16 blocks at once)
- [ ] TypeReplace Blocks
- [X] DontBreakGlass (Passive Silk-Touch for Glass only)
- [ ] Forced Leaf Decay

## Axe:

- [ ] Tomahawk Throw
- [X] Drop to inventory
- [X] Axe Ground-Smash
Expand All @@ -105,18 +124,21 @@ Keep in mind it should be simple, but complex ones are welcome too!_
- [ ] Wood Dupe?

## Brewing:

- [ ] Chance not to consume potion
- [ ] Chance to refund ingredients
- [X] Lingering Potions (Crafted potions last longer)
- [X] Splash Range Increase (Chance to increase Range)

## Crafting:

- [X] Xp for crafting
- [ ] Chance for Extras
- [ ] offhand autocrafting
- [ ] offhand autocrafting
- [X] Deconstruction Table (De-craft to basics)

## Discovery:

- [ ] Tiny Potato
- [ ] Armored Elytras
- [X] Worldly Armor
Expand All @@ -125,19 +147,22 @@ Keep in mind it should be simple, but complex ones are welcome too!_
- [X] Xp Damage Mitigation

## Enchanting:

- [X] XP Refund
- [X] Lapis Refund (Chance per enchant to give Lapis)
- [X] In-Inventory Enchanting (Books to Items)
- [ ] Xp for making Bookshelf/Book/Table
- [ ] Better Enchant Levels

## Excavation**:

- [ ] Dirt/Grass does not consume Durability
- [X] Haste while digging
- [X] Drop to inventory
- [X] MultiTool (Merge multiple tools into one)

## Herbalism:

- [X] Hunger Shield (up to 50% less hunger consumption)
- [X] Drop to inventory
- [X] Replanted (replant items by right-clicking)
Expand All @@ -150,24 +175,27 @@ Keep in mind it should be simple, but complex ones are welcome too!_
- [X] Faster Grow Aura

## Hunter:

- [X] Adrenaline (more damage lower the health)
- [X] Drop to inventory
- [X] Regen while in combat -> massive loss in hunger
- [X] Resistance in combat -> massive loss in hunger
- [X] Speed while in combat -> massive loss in hunger
- [X] JumpBoost while in combat -> massive loss in hunger
- [X] Luck while in combat -> massive loss in hunger
- [X] Invisibility while in combat -> massive loss in hunger
- [X] Resistance in combat -> massive loss in hunger
- [X] Speed while in combat -> massive loss in hunger
- [X] JumpBoost while in combat -> massive loss in hunger
- [X] Luck while in combat -> massive loss in hunger
- [X] Invisibility while in combat -> massive loss in hunger
- [ ] Prevent the first damage proc

## Nether:

- [X] Wither Resist (Resistance to wither)
- [X] Wither Skull Throw (Pvsshhh)
- [ ] Soul Speed
- [ ] Nether Tools Apply Wither
- [ ] Nearby Withering applies regen

## Pickaxe:

- [X] Chisel ores (more ore, less durability)
- [X] Vein-miner (Vein-miner)
- [ ] Locate Nearest Ore:
Expand All @@ -177,46 +205,53 @@ Keep in mind it should be simple, but complex ones are welcome too!_
- [ ] Chance not to eat Durability

## Ranged**:

- [X] Ranged Arrow Recovery (On hit, chance to refund)
- [X] Ranged Force (More dps at range)
- [X] Lunge SHot (Lunging will do damage)
- [X] Piercing Shot (Pierce through enemies)

## Rift:

- [X] Remote Container Access (Remote Container Access)
- [X] Short-Ranged "blink" (teleport)
- [X] No-Place Enderchest (like /ec )
- [X] Rift Recall (Teleport to a location)
- [X] Resilience based on Ender Artifact Used (blink = 10% Enderperal = 25% etc)

## Seaborn:

- [X] WaterBreathing
- [X] Passive Speed bonus while swimming
- [ ] Night vision underwater
- [ ] Passive Fish?
- [ ] Water Refiles Hunger/regen

## Stealth:
- [X] Snatching (close-range item Vacuum)

- [X] Snatching (close-range item Vacuum)
- [X] Sneak-Speed (Destroy FOV in a single button press)
- [X] Ghost Armor (Armor passively that grown on you, but only works for 1 hit)
- [X] StealthSight
- [ ] Sneak Attack

## Swords:

- [X] Machete (chopping blocks down)
- [ ] Throwing Knife
- [ ] Bleed Damage
- [ ] More damage to Non-Armored Enemies
- [ ] Turrets, Deploy Swords, that fling to a target

## Taming:

- [X] Tame Health Boost (Tames have more health)
- [X] Tame Damage Boost (Tames do more DPS)
- [X] Tame Health Regen (Tames have passive regen)
- [ ] Tamed Vampirism (Familiar)

## Unarmed:

- [X] Unarmed Power (Make unarmed Viable)
- [X] Sucker Punch (One PunCh!)
- [ ] One-Punch man?
Expand All @@ -226,29 +261,31 @@ Keep in mind it should be simple, but complex ones are welcome too!_
- [ ] Passive Strength while unarmed

## Chronos: _(Unimplemented)_

- [ ] Chronos Slowdown (Passive Slowdown for entities in the world near you)
- [ ] Chronos Speed (Passive Speed for entities in the world near you)

## TragOul: _(Unimplemented)_

- [ ] Blood Mechanich and hurt yourself to get X

</details>


## Credits

Helping out in any way you can is appreciated, and you will be listed here for your contributions :)
<details>
<summary> Language </summary>

* [NextdoorPsycho](https://github.com/NextdoorPsycho): English Translation
* [Nowhere (Armin231)](https://github.com/Armin231): German Translation
* [NextdoorPsycho](https://github.com/NextdoorPsycho): English Translation
* [Nowhere (Armin231)](https://github.com/Armin231): German Translation

</details>
<details>
<summary> Code </summary>

* [Vatuu](https://github.com/Vatuu)
* [Cyberpwn](https://github.com/cyberpwnn)
* [NextdoorPsycho](https://github.com/NextdoorPsycho)
* [Vatuu](https://github.com/Vatuu)
* [Cyberpwn](https://github.com/cyberpwnn)
* [NextdoorPsycho](https://github.com/NextdoorPsycho)

</details>
3 changes: 3 additions & 0 deletions build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,9 @@ dependencies {
implementation 'com.github.LoneDev6:api-itemsadder:3.2.5'
implementation 'io.th0rgal:oraxen:1.94.0'
implementation 'com.massivecraft:Factions:1.6.9.5-U0.6.21'
implementation "com.github.angeschossen:ChestProtectAPI:3.6.0"
implementation "com.github.TechFortress:GriefPrevention:16.18.1"
compileOnly fileTree(dir: 'libs', include: ['*.jar'])

// Shaded
implementation 'net.kyori:adventure-text-minimessage:4.12.0'
Expand Down
1 change: 0 additions & 1 deletion gradle/wrapper/gradle-wrapper.properties
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-7.2-bin.zip
Expand Down
Binary file added libs/CMILib1.2.5.2.jar
Binary file not shown.
Binary file added libs/Residence5.1.1.1.jar
Binary file not shown.
9 changes: 9 additions & 0 deletions src/main/java/com/volmit/adapt/Adapt.java
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,9 @@
import com.volmit.adapt.api.world.AdaptServer;
import com.volmit.adapt.commands.CommandAdapt;
import com.volmit.adapt.content.gui.SkillsGui;
import com.volmit.adapt.content.protector.ChestProtectProtector;
import com.volmit.adapt.content.protector.FactionsClaimProtector;
import com.volmit.adapt.content.protector.ResidenceProtector;
import com.volmit.adapt.content.protector.WorldGuardProtector;
import com.volmit.adapt.nms.GlowingEntities;
import com.volmit.adapt.nms.NMS;
Expand Down Expand Up @@ -257,6 +259,13 @@ public void start() {
if (getServer().getPluginManager().getPlugin("Factions") != null) {
protectorRegistry.registerProtector(new FactionsClaimProtector());
}

if (getServer().getPluginManager().getPlugin("ChestProtect") != null) {
protectorRegistry.registerProtector(new ChestProtectProtector());
}
if (getServer().getPluginManager().getPlugin("Residence") != null) {
protectorRegistry.registerProtector(new ResidenceProtector());
}
glowingEntities = new GlowingEntities(this);
}

Expand Down
11 changes: 9 additions & 2 deletions src/main/java/com/volmit/adapt/AdaptConfig.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,8 +53,6 @@ public class AdaptConfig {
private double playerXpPerSkillLevelUpBase = 489;
private double playerXpPerSkillLevelUpLevelMultiplier = 44;
private double powerPerLevel = 0.73;
private boolean requireWorldguardBuildPermToUseAdaptations = true;
private boolean requireFactionClaimOwnershipToUseAdaptations = false;
private boolean hardcoreResetOnPlayerDeath = false;
private boolean hardcoreNoRefunds = false;
private boolean loginBonus = true;
Expand All @@ -69,6 +67,7 @@ public class AdaptConfig {
private boolean actionbarNotifyLevel = true;
private boolean unlearnAllButton = false;
private SqlSettings sql = new SqlSettings();
private Protector protectorSupport = new Protector();
private Map<String, Map<String, Boolean>> protectionOverrides = Map.of(
"adaptation-name", Map.of(
"WorldGuard", true
Expand Down Expand Up @@ -106,6 +105,14 @@ public static AdaptConfig get() {
return config;
}

@Getter
public static class Protector {
private boolean worldguard = true;
private boolean factionsClaim = false;
private boolean residence = true;
private boolean chestProtect = true;
}


@Getter
public static class SqlSettings {
Expand Down
Loading

0 comments on commit e9c8760

Please sign in to comment.