Skip to content

Commit 004f489

Browse files
Merge pull request #134 from VolmitSoftware/Development
Development
2 parents 93b9e9e + f88de7d commit 004f489

32 files changed

+1647
-621
lines changed

build.gradle

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ plugins {
2424
}
2525

2626

27-
version '1.0.12-1.19.2' // Needs to be version specific
27+
version '1.0.13-1.19.2' // Needs to be version specific
2828
def nmsVersion = "1.19.2" //[NMS]
2929
def apiVersion = '1.19'
3030
def specialSourceVersion = '1.11.0' //[NMS]
@@ -130,6 +130,7 @@ dependencies {
130130
annotationProcessor 'systems.manifold:manifold-ext:2022.1.19'
131131
testAnnotationProcessor 'systems.manifold:manifold-ext:2022.1.19'
132132
implementation 'systems.manifold:manifold-rt:2022.1.19'
133+
implementation 'com.elmakers.mine.bukkit:EffectLib:9.4'
133134

134135
// Shaded
135136
implementation 'io.papermc:paperlib:1.0.5'

src/main/java/com/volmit/adapt/Adapt.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import com.volmit.adapt.util.Command;
3333
import com.volmit.adapt.util.Metrics;
3434
import com.volmit.adapt.util.VolmitPlugin;
35+
import de.slikey.effectlib.EffectManager;
3536
import lombok.Getter;
3637
import net.md_5.bungee.api.ChatMessageType;
3738
import net.md_5.bungee.api.chat.TextComponent;
@@ -70,7 +71,7 @@ public File getJarFile() {
7071
}
7172

7273
public static HashMap<String, String> wordKey = new HashMap<>();
73-
74+
public final EffectManager adaptEffectManager = new EffectManager(this);
7475

7576
@Override
7677
public void start() {

src/main/java/com/volmit/adapt/AdaptConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ public class AdaptConfig {
4343
private double playerXpPerSkillLevelUpLevelMultiplier = 44;
4444
private double powerPerLevel = 0.73;
4545
public boolean debug = false;
46+
public boolean xpInCreative = false;
4647
public String adaptActivatorBlock = "BOOKSHELF";
4748

4849
@Getter

src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeAutosmelt.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,7 +160,7 @@ public void on(BlockBreakEvent e) {
160160
return;
161161
}
162162
xp(e.getPlayer(), 15);
163-
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-drop-to-inventory") != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-drop-to-inventory").getLevel() > 0) {
163+
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-drop-to-inventory") != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-drop-to-inventory").getLevel() > 0) {
164164
Adapt.info("2");
165165
PickaxeAutosmelt.autosmeltBlockDTI(e.getBlock(), p);
166166
} else {

src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeChisel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535

3636
public class PickaxeChisel extends SimpleAdaptation<PickaxeChisel.Config> {
3737
public PickaxeChisel() {
38-
super("pickaxes-chisel");
38+
super("pickaxe-chisel");
3939
registerConfiguration(Config.class);
4040
setDescription(Adapt.dLocalize("Pickaxe", "Chisel", "Description"));
4141
setDisplayName(Adapt.dLocalize("Pickaxe", "Chisel", "Name"));

src/main/java/com/volmit/adapt/content/adaptation/pickaxe/PickaxeVeinminer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -100,14 +100,14 @@ public void on(BlockBreakEvent e) {
100100
for (Location l : blockMap.keySet()) {
101101
Block b = e.getBlock().getWorld().getBlockAt(l);
102102
xp(e.getPlayer(), 3);
103-
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-autosmelt") != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-autosmelt").getLevel() > 0) {
104-
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-drop-to-inventory") != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-drop-to-inventory").getLevel() > 0) {
103+
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-autosmelt") != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-autosmelt").getLevel() > 0) {
104+
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-drop-to-inventory") != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-drop-to-inventory").getLevel() > 0) {
105105
PickaxeAutosmelt.autosmeltBlockDTI(b, p);
106106
} else {
107107
PickaxeAutosmelt.autosmeltBlock(b, p);
108108
}
109109
} else {
110-
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-drop-to-inventory") != null && getPlayer(p).getData().getSkillLines().get("pickaxes").getAdaptations().get("pickaxe-drop-to-inventory").getLevel() > 0) {
110+
if (getPlayer(p).getData().getSkillLines() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations() != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-drop-to-inventory") != null && getPlayer(p).getData().getSkillLines().get("pickaxe").getAdaptations().get("pickaxe-drop-to-inventory").getLevel() > 0) {
111111
b.getDrops(e.getPlayer().getInventory().getItemInMainHand(), p).forEach(item -> {
112112
HashMap<Integer, ItemStack> extra = p.getInventory().addItem(item);
113113
extra.forEach((k, v) -> p.getWorld().dropItem(p.getLocation(), v));
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
/*------------------------------------------------------------------------------
2+
- Adapt is a Skill/Integration plugin for Minecraft Bukkit Servers
3+
- Copyright (c) 2022 Arcane Arts (Volmit Software)
4+
-
5+
- This program is free software: you can redistribute it and/or modify
6+
- it under the terms of the GNU General Public License as published by
7+
- the Free Software Foundation, either version 3 of the License, or
8+
- (at your option) any later version.
9+
-
10+
- This program is distributed in the hope that it will be useful,
11+
- but WITHOUT ANY WARRANTY; without even the implied warranty of
12+
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13+
- GNU General Public License for more details.
14+
-
15+
- You should have received a copy of the GNU General Public License
16+
- along with this program. If not, see <https://www.gnu.org/licenses/>.
17+
-----------------------------------------------------------------------------*/
18+
19+
package com.volmit.adapt.content.adaptation.tragoul;
20+
21+
import com.volmit.adapt.Adapt;
22+
import com.volmit.adapt.api.adaptation.SimpleAdaptation;
23+
import com.volmit.adapt.util.C;
24+
import com.volmit.adapt.util.Element;
25+
import de.slikey.effectlib.effect.BleedEffect;
26+
import lombok.NoArgsConstructor;
27+
import org.bukkit.Material;
28+
import org.bukkit.entity.LivingEntity;
29+
import org.bukkit.entity.Player;
30+
import org.bukkit.event.EventHandler;
31+
import org.bukkit.event.entity.EntityDamageByEntityEvent;
32+
33+
34+
public class TragoulThorns extends SimpleAdaptation<TragoulThorns.Config> {
35+
36+
public TragoulThorns() {
37+
super("tragoul-thorns");
38+
registerConfiguration(TragoulThorns.Config.class);
39+
setDescription(Adapt.dLocalize("TragOul", "Thorns", "Description"));
40+
setDisplayName(Adapt.dLocalize("TragOul", "Thorns", "Name"));
41+
setIcon(Material.ECHO_SHARD);
42+
setInterval(25000);
43+
setBaseCost(getConfig().baseCost);
44+
setMaxLevel(getConfig().maxLevel);
45+
setInitialCost(getConfig().initialCost);
46+
setCostFactor(getConfig().costFactor);
47+
}
48+
49+
@Override
50+
public void addStats(int level, Element v) {
51+
v.addLore(C.GREEN + "" + getConfig().damageMultiplierPerLevel * level + "x "+ Adapt.dLocalize("TragOul", "Thorns", "Lore1"));
52+
}
53+
54+
55+
@EventHandler
56+
public void on(EntityDamageByEntityEvent e) {
57+
if (e.getEntity() instanceof Player p && hasAdaptation(p)) {
58+
if (e.getDamager() instanceof LivingEntity le) {
59+
BleedEffect blood = new BleedEffect(Adapt.instance.adaptEffectManager); // Enemy gets blood
60+
blood.setEntity(le);
61+
blood.height = -1;
62+
blood.iterations = 1;
63+
blood.start();
64+
le.damage(getConfig().damageMultiplierPerLevel * getLevel(p), p);
65+
}
66+
}
67+
}
68+
69+
@Override
70+
public boolean isEnabled() {
71+
return getConfig().enabled;
72+
}
73+
74+
75+
@Override
76+
public void onTick() {
77+
}
78+
79+
@NoArgsConstructor
80+
protected static class Config {
81+
boolean enabled = true;
82+
int baseCost = 5;
83+
int maxLevel = 5;
84+
int initialCost = 5;
85+
int damageMultiplierPerLevel = 1;
86+
double costFactor = 1.10;
87+
}
88+
}

src/main/java/com/volmit/adapt/content/skill/SkillAgility.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.volmit.adapt.content.skill;
2020

2121
import com.volmit.adapt.Adapt;
22+
import com.volmit.adapt.AdaptConfig;
2223
import com.volmit.adapt.api.advancement.AdaptAdvancement;
2324
import com.volmit.adapt.api.skill.SimpleSkill;
2425
import com.volmit.adapt.api.world.AdaptStatTracker;
@@ -80,6 +81,9 @@ public SkillAgility() {
8081

8182
@EventHandler
8283
public void on(PlayerMoveEvent e) {
84+
if (!AdaptConfig.get().isXpInCreative() && e.getPlayer().getGameMode().name().contains("CREATIVE")) {
85+
return;
86+
}
8387
if (e.getFrom().getWorld() != null && e.getTo() !=null && e.getFrom().getWorld().equals(e.getTo().getWorld())) {
8488
double d = e.getFrom().distance(e.getTo());
8589
getPlayer(e.getPlayer()).getData().addStat("move", d);
@@ -100,6 +104,9 @@ public void onTick() {
100104
for (Player i : Bukkit.getOnlinePlayers()) {
101105
checkStatTrackers(getPlayer(i));
102106
if (i.isSprinting() && !i.isFlying() && !i.isSwimming() && !i.isSneaking()) {
107+
if (!AdaptConfig.get().isXpInCreative() && i.getGameMode().name().contains("CREATIVE")) {
108+
return;
109+
}
103110
xpSilent(i, getConfig().sprintXpPassive);
104111
}
105112
}

src/main/java/com/volmit/adapt/content/skill/SkillArchitect.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.volmit.adapt.content.skill;
2020

2121
import com.volmit.adapt.Adapt;
22+
import com.volmit.adapt.AdaptConfig;
2223
import com.volmit.adapt.api.advancement.AdaptAdvancement;
2324
import com.volmit.adapt.api.skill.SimpleSkill;
2425
import com.volmit.adapt.api.world.AdaptStatTracker;
@@ -56,6 +57,12 @@ public SkillArchitect() {
5657

5758
@EventHandler
5859
public void on(BlockPlaceEvent e) {
60+
if (e.isCancelled()) {
61+
return;
62+
}
63+
if (!AdaptConfig.get().isXpInCreative() && e.getPlayer().getGameMode().name().contains("CREATIVE")) {
64+
return;
65+
}
5966
double v = getValue(e.getBlock()) * getConfig().xpValueMultiplier;
6067
J.a(() -> xp(e.getPlayer(), e.getBlock().getLocation().clone().add(0.5, 0.5, 0.5), blockXP(e.getBlock(), getConfig().xpBase + v)));
6168
getPlayer(e.getPlayer()).getData().addStat("blocks.placed", 1);
@@ -65,8 +72,13 @@ public void on(BlockPlaceEvent e) {
6572

6673
@EventHandler
6774
public void on(BlockBreakEvent e) {
75+
if (e.isCancelled()) {
76+
return;
77+
}
78+
if (!AdaptConfig.get().isXpInCreative() && e.getPlayer().getGameMode().name().contains("CREATIVE")) {
79+
return;
80+
}
6881
getPlayer(e.getPlayer()).getData().addStat("blocks.broken", 1);
69-
7082
}
7183

7284
@Override

src/main/java/com/volmit/adapt/content/skill/SkillAxes.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
package com.volmit.adapt.content.skill;
2020

2121
import com.volmit.adapt.Adapt;
22+
import com.volmit.adapt.AdaptConfig;
2223
import com.volmit.adapt.api.skill.SimpleSkill;
2324
import com.volmit.adapt.api.world.AdaptPlayer;
2425
import com.volmit.adapt.content.adaptation.axe.AxeChop;
@@ -55,6 +56,9 @@ public SkillAxes() {
5556
public void on(EntityDamageByEntityEvent e) {
5657
if (!e.isCancelled()) {
5758
if (e.getDamager() instanceof Player p) {
59+
if (!AdaptConfig.get().isXpInCreative() && p.getGameMode().name().contains("CREATIVE")) {
60+
return;
61+
}
5862
AdaptPlayer a = getPlayer((Player) e.getDamager());
5963
ItemStack hand = a.getPlayer().getInventory().getItemInMainHand();
6064

@@ -69,6 +73,12 @@ public void on(EntityDamageByEntityEvent e) {
6973

7074
@EventHandler
7175
public void on(BlockBreakEvent e) {
76+
if (e.isCancelled()) {
77+
return;
78+
}
79+
if (!AdaptConfig.get().isXpInCreative() && e.getPlayer().getGameMode().name().contains("CREATIVE")) {
80+
return;
81+
}
7282
if (isAxe(e.getPlayer().getInventory().getItemInMainHand())) {
7383
double v = getValue(e.getBlock().getType());
7484
getPlayer(e.getPlayer()).getData().addStat("axes.blocks.broken", 1);

0 commit comments

Comments
 (0)