Skip to content

Commit 2d32d85

Browse files
authored
Merge pull request RobertSkalko#1 from SaloEater/make_expire_action_correctly_reduce_minions_counter
Make expire action to reduce minions counter
2 parents 27f1c05 + e4326a7 commit 2d32d85

1 file changed

Lines changed: 12 additions & 6 deletions

File tree

  • src/main/java/com/robertx22/mine_and_slash/database/data/spells/components/actions

src/main/java/com/robertx22/mine_and_slash/database/data/spells/components/actions/ExpireAction.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22

33
import com.robertx22.mine_and_slash.database.data.spells.components.MapHolder;
44
import com.robertx22.mine_and_slash.database.data.spells.spell_classes.SpellCtx;
5+
import com.robertx22.mine_and_slash.database.data.spells.summons.entity.SummonEntity;
6+
import com.robertx22.mine_and_slash.uncommon.datasaving.Load;
7+
import net.minecraft.world.entity.Entity;
58
import net.minecraft.world.entity.LivingEntity;
69
import net.minecraft.world.entity.player.Player;
710

@@ -16,12 +19,15 @@ public ExpireAction() {
1619

1720
@Override
1821
public void tryActivate(Collection<LivingEntity> targets, SpellCtx ctx, MapHolder data) {
19-
if (ctx.getPositionEntity() != null) {
20-
if (!ctx.getPositionEntity().isRemoved()) {
21-
22-
// todo this is confusing
23-
if (ctx.getPositionEntity() instanceof Player == false) {
24-
ctx.getPositionEntity().discard(); // this can cause infi loops and even calling expire spell multiple times
22+
Entity entityToDiscard = ctx.getPositionEntity();
23+
if (entityToDiscard != null) {
24+
if (!entityToDiscard.isRemoved()) {
25+
if (!(entityToDiscard instanceof Player)) {
26+
if (entityToDiscard instanceof SummonEntity summonEntity) {
27+
Load.Unit(summonEntity).summonedPetData.discard((LivingEntity) entityToDiscard);
28+
} else {
29+
entityToDiscard.discard(); // this can cause infi loops and even calling expire spell multiple times
30+
}
2531
}
2632
}
2733
}

0 commit comments

Comments
 (0)