Prevent phantoms spawn by androids
This commit is contained in:
parent
e858807fd2
commit
86347f3373
@ -109,6 +109,7 @@ public final class OverdriveThatMatters {
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::onPlayerCloneEvent);
|
||||
EVENT_BUS.addListener(EventPriority.LOW, MatteryPlayerCapability.Companion::onPickupEvent);
|
||||
EVENT_BUS.addListener(EventPriority.HIGHEST, MatteryPlayerCapability.Companion::onLivingDrops);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatteryPlayerCapability.Companion::canEntitySpawn);
|
||||
|
||||
EVENT_BUS.addListener(EventPriority.LOW, MatterDataKt::serverStartData);
|
||||
EVENT_BUS.addListener(EventPriority.NORMAL, MatterRegistryKt::onPlayerJoin);
|
||||
|
@ -14,7 +14,9 @@ import net.minecraft.world.effect.MobEffect
|
||||
import net.minecraft.world.effect.MobEffects
|
||||
import net.minecraft.world.entity.Entity
|
||||
import net.minecraft.world.entity.LivingEntity
|
||||
import net.minecraft.world.entity.MobSpawnType
|
||||
import net.minecraft.world.entity.item.ItemEntity
|
||||
import net.minecraft.world.entity.monster.Phantom
|
||||
import net.minecraft.world.entity.player.Player
|
||||
import net.minecraft.world.item.ItemStack
|
||||
import net.minecraft.world.item.enchantment.EnchantmentHelper.hasVanishingCurse
|
||||
@ -28,9 +30,12 @@ import net.minecraftforge.event.TickEvent
|
||||
import net.minecraftforge.event.TickEvent.PlayerTickEvent
|
||||
import net.minecraftforge.event.entity.living.LivingDeathEvent
|
||||
import net.minecraftforge.event.entity.living.LivingDropsEvent
|
||||
import net.minecraftforge.event.entity.living.LivingEvent
|
||||
import net.minecraftforge.event.entity.living.LivingHurtEvent
|
||||
import net.minecraftforge.event.entity.living.LivingSpawnEvent
|
||||
import net.minecraftforge.event.entity.player.EntityItemPickupEvent
|
||||
import net.minecraftforge.event.entity.player.PlayerEvent
|
||||
import net.minecraftforge.eventbus.api.Event
|
||||
import net.minecraftforge.fml.event.lifecycle.FMLCommonSetupEvent
|
||||
import org.apache.commons.lang3.mutable.MutableInt
|
||||
import org.apache.logging.log4j.LogManager
|
||||
@ -809,6 +814,23 @@ class MatteryPlayerCapability(val ply: Player) : ICapabilityProvider, INBTSerial
|
||||
event.item.item.count = leftover.count
|
||||
}
|
||||
|
||||
fun canEntitySpawn(event: LivingSpawnEvent.CheckSpawn) {
|
||||
if (event.spawnReason == MobSpawnType.NATURAL && event.entity is Phantom) {
|
||||
for (ply in event.entity.level.players()) {
|
||||
if (ply.matteryPlayer?.isAndroid == true) {
|
||||
if (
|
||||
ply.position.y in event.y - 36.0 .. event.y - 19.0 &&
|
||||
ply.position.x in event.x - 12.0 .. event.x + 12.0 &&
|
||||
ply.position.z in event.z - 12.0 .. event.z + 12.0
|
||||
) {
|
||||
event.result = Event.Result.DENY
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
val DEFAULT_MAX_ANDROID_POWER = ImpreciseFraction(60000)
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user