diff options
author | TechnicianLP <9272536+TechnicianLP@users.noreply.github.com> | 2023-11-11 14:39:52 +0100 |
---|---|---|
committer | Martin Robertz <dream-master@gmx.net> | 2023-11-12 09:50:17 +0100 |
commit | 3431065e75b29d6654e23c6eda4c062b1b548375 (patch) | |
tree | 8edd134dc316f64b518dd0ea53c08ca503556d52 /src | |
parent | 9ec744ae599822e228c623e746c855e6bcc7e4c0 (diff) | |
download | GT5-Unofficial-3431065e75b29d6654e23c6eda4c062b1b548375.tar.gz GT5-Unofficial-3431065e75b29d6654e23c6eda4c062b1b548375.tar.bz2 GT5-Unofficial-3431065e75b29d6654e23c6eda4c062b1b548375.zip |
Fix EV+ Powered Repeller Range
Diffstat (limited to 'src')
-rw-r--r-- | src/main/java/gregtech/api/util/GT_SpawnEventHandler.java | 26 |
1 files changed, 12 insertions, 14 deletions
diff --git a/src/main/java/gregtech/api/util/GT_SpawnEventHandler.java b/src/main/java/gregtech/api/util/GT_SpawnEventHandler.java index 5bbaa32007..ebdba1144b 100644 --- a/src/main/java/gregtech/api/util/GT_SpawnEventHandler.java +++ b/src/main/java/gregtech/api/util/GT_SpawnEventHandler.java @@ -40,9 +40,9 @@ public class GT_SpawnEventHandler { public void denyMobSpawn(CheckSpawn event) { if (event.getResult() == Event.Result.DENY) return; - if (event.entityLiving instanceof EntitySlime && !(((EntitySlime) event.entityLiving).getCustomNameTag() - .length() > 0)) { - if (event.getResult() == Event.Result.ALLOW) event.setResult(Event.Result.DEFAULT); + if (event.entityLiving instanceof EntitySlime slime && !slime.hasCustomNameTag() + && event.getResult() == Event.Result.ALLOW) { + event.setResult(Event.Result.DEFAULT); } if (event.getResult() == Event.Result.ALLOW) { @@ -50,7 +50,7 @@ public class GT_SpawnEventHandler { } if (event.entityLiving.isCreatureType(EnumCreatureType.monster, false)) { - final double maxRangeCheck = Math.pow(getUnpoweredRepellentRange(GT_Values.V.length - 1), 2); + final double maxRangeCheck = Math.pow(getPoweredRepellentRange(GT_Values.V.length - 1), 2); for (int[] rep : mobReps) { if (rep[3] == event.entity.worldObj.provider.dimensionId) { // If the chunk isn't loaded, we ignore this Repellent @@ -64,17 +64,15 @@ public class GT_SpawnEventHandler { if (check > maxRangeCheck) continue; final TileEntity tTile = event.entity.worldObj.getTileEntity(rep[0], rep[1], rep[2]); - if (tTile instanceof BaseMetaTileEntity && ((BaseMetaTileEntity) tTile) - .getMetaTileEntity() instanceof GT_MetaTileEntity_MonsterRepellent) { - final int r = ((GT_MetaTileEntity_MonsterRepellent) ((BaseMetaTileEntity) tTile) - .getMetaTileEntity()).mRange; - if (check <= Math.pow(r, 2)) { - if (event.entityLiving instanceof EntitySlime) - ((EntitySlime) event.entityLiving).setCustomNameTag("DoNotSpawnSlimes"); - event.setResult(Event.Result.DENY); - // We're already DENYing it. No reason to keep checking - return; + if (tTile instanceof BaseMetaTileEntity metaTile + && metaTile.getMetaTileEntity() instanceof GT_MetaTileEntity_MonsterRepellent repellent + && check <= Math.pow(repellent.mRange, 2)) { + if (event.entityLiving instanceof EntitySlime slime) { + slime.setCustomNameTag("DoNotSpawnSlimes"); } + event.setResult(Event.Result.DENY); + // We're already DENYing it. No reason to keep checking + return; } } } |