Skip to content

Commit e600ddc

Browse files
committed
Add entity effects from Paper up to 1.21.6
Now continues executing a script if the entity effect does not exist, similar to play_sound(), for future removals.
1 parent 677c65c commit e600ddc

File tree

2 files changed

+28
-14
lines changed

2 files changed

+28
-14
lines changed

src/main/java/com/laytonsmith/abstraction/enums/MCEntityEffect.java

Lines changed: 23 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -7,16 +7,19 @@ public enum MCEntityEffect {
77
ARROW_PARTICLES,
88
RABBIT_JUMP,
99
DEATH, // deprecated for EGG_BREAK, SNOWBALL_BREAK, ENTITY_DEATH
10-
EGG_BREAK,
11-
SNOWBALL_BREAK,
10+
EGG_BREAK, // deprecated for PROJECTILE_CRACK
11+
SNOWBALL_BREAK, // deprecated for PROJECTILE_CRACK
12+
PROJECTILE_CRACK,
1213
ENTITY_DEATH,
1314
HURT,
1415
SHEEP_EAT, // deprecated for SHEEP_EAT_GRASS, TNT_MINECART_IGNITE
1516
SHEEP_EAT_GRASS,
1617
TNT_MINECART_IGNITE,
17-
WOLF_HEARTS,
18+
WOLF_HEARTS, // deprecated for TAMING_SUCCEEDED
1819
WOLF_SHAKE,
19-
WOLF_SMOKE,
20+
WOLF_SMOKE, // deprecated for TAMING_FAILED
21+
TAMING_FAILED,
22+
TAMING_SUCCEEDED,
2023
IRON_GOLEM_ROSE,
2124
VILLAGER_HEART,
2225
VILLAGER_ANGRY,
@@ -33,11 +36,13 @@ public enum MCEntityEffect {
3336
ARMOR_STAND_HIT,
3437
THORNS_HURT,
3538
IRON_GOLEM_SHEATH,
36-
TOTEM_RESURRECT,
39+
TOTEM_RESURRECT, // deprecated for PROTECTED_FROM_DEATH
40+
PROTECTED_FROM_DEATH,
3741
HURT_DROWN,
3842
HURT_EXPLOSION,
3943
DOLPHIN_FED,
4044
RAVAGER_STUNNED,
45+
RAVAGER_ROARED,
4146
VILLAGER_SPLASH,
4247
PLAYER_BAD_OMEN_RAID,
4348
HURT_BERRY_BUSH,
@@ -49,12 +54,15 @@ public enum MCEntityEffect {
4954
BREAK_EQUIPMENT_CHESTPLATE,
5055
BREAK_EQUIPMENT_LEGGINGS,
5156
BREAK_EQUIPMENT_BOOTS,
57+
BREAK_EQUIPMENT_BODY,
58+
BREAK_EQUIPMENT_SADDLE,
5259
RESET_SPAWNER_MINECART_DELAY,
53-
FANG_ATTACK,
54-
HOGLIN_ATTACK,
55-
RAVAGER_ATTACK,
56-
WARDEN_ATTACK,
57-
ZOGLIN_ATTACK,
60+
FANG_ATTACK, // deprecated for ENTITY_ATTACK
61+
HOGLIN_ATTACK, // deprecated for ENTITY_ATTACK
62+
RAVAGER_ATTACK, // deprecated for ENTITY_ATTACK
63+
WARDEN_ATTACK, // deprecated for ENTITY_ATTACK
64+
ZOGLIN_ATTACK, // deprecated for ENTITY_ATTACK
65+
ENTITY_ATTACK,
5866
HONEY_BLOCK_SLIDE_PARTICLES,
5967
HONEY_BLOCK_FALL_PARTICLES,
6068
SWAP_HAND_ITEMS,
@@ -65,4 +73,9 @@ public enum MCEntityEffect {
6573
WARDEN_TENDRIL_SHAKE,
6674
WARDEN_SONIC_ATTACK,
6775
SNIFFER_DIG,
76+
ARMADILLO_PEEK,
77+
DROWN_PARTICLES,
78+
SHAKE,
79+
TRUSTING_FAILED,
80+
TRUSTING_SUCCEDED,
6881
}

src/main/java/com/laytonsmith/core/functions/EntityManagement.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,8 @@
123123
import com.laytonsmith.annotations.api;
124124
import com.laytonsmith.annotations.seealso;
125125
import com.laytonsmith.core.ArgumentValidation;
126+
import com.laytonsmith.core.MSLog;
127+
import com.laytonsmith.core.MSLog.Tags;
126128
import com.laytonsmith.core.MSVersion;
127129
import com.laytonsmith.core.ObjectGenerator;
128130
import com.laytonsmith.core.Optimizable;
@@ -1147,13 +1149,12 @@ public static class play_entity_effect extends EntitySetterFunction implements O
11471149
@Override
11481150
public Mixed exec(Target t, Environment environment, Mixed... args) throws ConfigRuntimeException {
11491151
MCEntity ent = Static.getEntity(args[0], t);
1150-
MCEntityEffect mee;
11511152
try {
1152-
mee = MCEntityEffect.valueOf(args[1].val().toUpperCase());
1153+
MCEntityEffect mee = MCEntityEffect.valueOf(args[1].val().toUpperCase());
1154+
ent.playEffect(mee);
11531155
} catch(IllegalArgumentException iae) {
1154-
throw new CREFormatException("Unknown entity effect: " + args[1].val(), t);
1156+
MSLog.GetLogger().e(Tags.GENERAL, "Invalid EntityEffect: " + args[1].val(), t);
11551157
}
1156-
ent.playEffect(mee);
11571158
return CVoid.VOID;
11581159
}
11591160

0 commit comments

Comments
 (0)