Skip to content

Commit c3e8c41

Browse files
committed
Allow frogs to attack slime and magma cubes, toggle for irong golem damage. No longer 1.18 compatible
1 parent 76e02a6 commit c3e8c41

File tree

5 files changed

+29
-2
lines changed

5 files changed

+29
-2
lines changed

pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>ADHDMC</groupId>
88
<artifactId>NerfFarms</artifactId>
9-
<version>0.2.1</version>
9+
<version>0.3.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>NerfFarms</name>
@@ -74,7 +74,7 @@
7474
<dependency>
7575
<groupId>io.papermc.paper</groupId>
7676
<artifactId>paper-api</artifactId>
77-
<version>1.18.2-R0.1-SNAPSHOT</version>
77+
<version>1.19.2-R0.1-SNAPSHOT</version>
7878
<scope>provided</scope>
7979
</dependency>
8080
<dependency>

src/main/java/adhdmc/nerffarms/NerfFarms.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,6 +67,9 @@ private void configDefaults() {
6767
config.addDefault("require-line-of-sight", true);
6868
config.addDefault("skeletons-can-damage-creepers", true);
6969
config.addDefault("withers-can-damage-entities", true);
70+
config.addDefault("frogs-can-eat-slimes", true);
71+
config.addDefault("frogs-can-eat-magma-cubes", true);
72+
config.addDefault("iron-golems-can-damage-entities", false);
7073
config.addDefault("max-total-distance", 15);
7174
config.addDefault("blacklisted-damage-types", Arrays.asList("BLOCK_EXPLOSION", "CONTACT", "CRAMMING",
7275
"DRAGON_BREATH", "DROWNING", "DRYOUT", "FALL", "FALLING_BLOCK", "FIRE", "FIRE_TICK", "FREEZE", "HOT_FLOOR",

src/main/java/adhdmc/nerffarms/config/ConfigToggle.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ public enum ConfigToggle {
77
ONLY_NERF_HOSTILES(true),
88
ALLOW_SKELETON_CREEPER_DAMAGE(true),
99
ALLOW_WITHER_DAMAGE(true),
10+
ALLOW_FROG_SLIME_DAMAGE(true),
11+
ALLOW_FROG_MAGMA_CUBE_DAMAGE(true),
12+
ALLOW_IRON_GOLEM_DAMAGE(false),
1013
//Nerfing checks
1114
REQUIRE_PATH(true),
1215
REQUIRE_OPEN_SURROUNDINGS(true),
@@ -30,6 +33,9 @@ public static void reloadToggles(){
3033
ONLY_NERF_HOSTILES.setEnabled(NerfFarms.plugin.getConfig().getBoolean("only-nerf-hostiles"));
3134
ALLOW_SKELETON_CREEPER_DAMAGE.setEnabled(NerfFarms.plugin.getConfig().getBoolean("skeletons-can-damage-creepers"));
3235
ALLOW_WITHER_DAMAGE.setEnabled(NerfFarms.plugin.getConfig().getBoolean("withers-can-damage-entities"));
36+
ALLOW_FROG_MAGMA_CUBE_DAMAGE.setEnabled(NerfFarms.plugin.getConfig().getBoolean("frogs-can-eat-slimes"));
37+
ALLOW_FROG_MAGMA_CUBE_DAMAGE.setEnabled(NerfFarms.plugin.getConfig().getBoolean("frogs-can-eat-magma-cubes"));
38+
ALLOW_IRON_GOLEM_DAMAGE.setEnabled(NerfFarms.plugin.getConfig().getBoolean("iron-golems-can-damage-entities"));
3339
REQUIRE_PATH.setEnabled(NerfFarms.plugin.getConfig().getBoolean("require-path"));
3440
REQUIRE_OPEN_SURROUNDINGS.setEnabled(NerfFarms.plugin.getConfig().getBoolean("require-open-surroundings"));
3541
REQUIRE_LINE_OF_SIGHT.setEnabled(NerfFarms.plugin.getConfig().getBoolean("require-line-of-sight"));

src/main/java/adhdmc/nerffarms/listener/MobDamageListener.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -319,6 +319,10 @@ private boolean checkLineOfSight(EntityDamageByEntityEvent event, Entity entity,
319319
private boolean checkDamager(EntityDamageByEntityEvent event, Entity entity, PersistentDataContainer mobPDC, double hitDamage) {
320320
NerfFarms.debugLvl1("Performing checkDamager on " + entity.getName());
321321
Entity damager = CheckUtils.getRealDamager(event);
322+
if (damager instanceof IronGolem && ConfigToggle.ALLOW_IRON_GOLEM_DAMAGE.isEnabled()) {
323+
NerfFarms.debugLvl2("Skipping nerf on " + entity.getName() + "because 'Iron golems can damage entities' is 'true'. Returning true");
324+
return true;
325+
}
322326
if (damager instanceof Wither && ConfigToggle.ALLOW_WITHER_DAMAGE.isEnabled()) {
323327
NerfFarms.debugLvl2("Skipping nerf on " + entity.getName() + "because 'Withers can damage entities' is 'true'. Returning true");
324328
return true;
@@ -327,6 +331,16 @@ private boolean checkDamager(EntityDamageByEntityEvent event, Entity entity, Per
327331
NerfFarms.debugLvl2("Skipping nerf on " + entity.getName() + "because 'Skeletons can damage creepers' is 'true'. Returning true (non-projectile damage)");
328332
return true;
329333
}
334+
if (damager instanceof Frog && entity instanceof Slime slimeEntity) {
335+
if (slimeEntity.getType().equals(EntityType.MAGMA_CUBE) && ConfigToggle.ALLOW_FROG_MAGMA_CUBE_DAMAGE.isEnabled()) {
336+
NerfFarms.debugLvl2("Skipping nerf on " + entity.getName() + "because 'frogs can eat magma cubes' is 'true'. Returning true");
337+
return true;
338+
}
339+
if (slimeEntity.getType().equals(EntityType.SLIME) && ConfigToggle.ALLOW_FROG_SLIME_DAMAGE.isEnabled()) {
340+
NerfFarms.debugLvl2("Skipping nerf on " + entity.getName() + "because 'frogs can eat slime' is 'true'. Returning true");
341+
return true;
342+
}
343+
}
330344
if (!(damager instanceof Player)) {
331345
NerfFarms.debugLvl1("Damager is not a player, returning true");
332346
addPDCDamage(event, mobPDC, hitDamage);

src/main/resources/config.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ skeletons-can-damage-creepers: true
2929

3030
withers-can-damage-entities: true
3131

32+
frogs-can-eat-slimes: true
33+
34+
frogs-can-eat-magma-cubes: true
35+
3236
#[DROPS|EXP|BOTH|NEITHER]
3337

3438
modification-type: "BOTH"

0 commit comments

Comments
 (0)