Skip to content

Commit 8d2878f

Browse files
committed
magic damage for Orb application
1 parent 51adbc6 commit 8d2878f

2 files changed

Lines changed: 13 additions & 5 deletions

File tree

‎plugin/src/main/java/fr/jamailun/ultimatespellsystem/plugin/entities/implem/Orb.java‎

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@
99
import fr.jamailun.ultimatespellsystem.plugin.utils.holders.PotionEffectHolder;
1010
import fr.jamailun.ultimatespellsystem.plugin.utils.holders.SoundHolder;
1111
import org.bukkit.block.Block;
12+
import org.bukkit.damage.DamageSource;
13+
import org.bukkit.damage.DamageType;
14+
import org.bukkit.entity.Entity;
1215
import org.bukkit.entity.LivingEntity;
1316
import org.bukkit.potion.PotionEffect;
1417
import org.bukkit.potion.PotionEffectType;
@@ -115,6 +118,7 @@ private void handleEntities() {
115118
}
116119
}
117120

121+
@SuppressWarnings("UnstableApiUsage")
118122
private void applyEffects(@NotNull Collection<LivingEntity> nearby) {
119123
for(LivingEntity other : nearby) {
120124
// Ignore owner ?
@@ -130,10 +134,15 @@ private void applyEffects(@NotNull Collection<LivingEntity> nearby) {
130134
if(fireTicks > 0)
131135
nearby.forEach(e -> e.setFireTicks(e.getFireTicks() + fireTicks));
132136
if(damages > 0) {
133-
getAttributes().getSummoner().getBukkitEntity().ifPresentOrElse(
134-
summoner -> nearby.forEach(e -> e.damage(damages, summoner)),
135-
() -> nearby.forEach(e -> e.damage(damages))
136-
);
137+
var damageBuilder = DamageSource.builder(DamageType.MAGIC);
138+
Entity summoner = getAttributes().getSummoner().getBukkitEntity().orElse(null);
139+
if(summoner != null) {
140+
Entity direct = getBukkitEntity().orElse(summoner);
141+
damageBuilder.withCausingEntity(summoner).withDirectEntity(direct);
142+
} else {
143+
getBukkitEntity().ifPresent(direct -> damageBuilder.withCausingEntity(direct).withDirectEntity(direct));
144+
}
145+
nearby.forEach(e -> e.damage(damages, damageBuilder.build()));
137146
}
138147

139148
// Hit effect

‎plugin/src/main/java/fr/jamailun/ultimatespellsystem/plugin/runner/nodes/functions/SendEffectNode.java‎

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package fr.jamailun.ultimatespellsystem.plugin.runner.nodes.functions;
22

3-
import fr.jamailun.ultimatespellsystem.UssLogger;
43
import fr.jamailun.ultimatespellsystem.api.entities.SpellEntity;
54
import fr.jamailun.ultimatespellsystem.api.runner.errors.InvalidEnumValueException;
65
import fr.jamailun.ultimatespellsystem.dsl.nodes.type.Duration;

0 commit comments

Comments
 (0)