mirror of
https://github.com/MinecraftForge/MinecraftForge.git
synced 2026-11-14 01:04:24 +00:00
Allow to check spawner block entity in events (#7941)
This commit is contained in:
1 parent
1018b077dc
commit
ce13efbac9
4 files changed
+62
-4
No files matched your search
@@ -0,0 +1,42 @@
|
||||
package net.minecraftforge.debug.entity;
|
||||
|
||||
import net.minecraft.world.entity.vehicle.MinecartSpawner;
|
||||
import net.minecraft.world.level.block.entity.SpawnerBlockEntity;
|
||||
import net.minecraftforge.common.MinecraftForge;
|
||||
import net.minecraftforge.event.entity.living.LivingSpawnEvent;
|
||||
import net.minecraftforge.eventbus.api.Event;
|
||||
import net.minecraftforge.eventbus.api.SubscribeEvent;
|
||||
import net.minecraftforge.fml.common.Mod;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
|
||||
@Mod("check_spawn_event_test")
|
||||
public class CheckSpawnEventTest
|
||||
{
|
||||
public static final boolean ENABLE = true;
|
||||
public static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
public CheckSpawnEventTest()
|
||||
{
|
||||
if (ENABLE)
|
||||
MinecraftForge.EVENT_BUS.register(this);
|
||||
}
|
||||
|
||||
@SubscribeEvent
|
||||
public void checkSpawn(LivingSpawnEvent.CheckSpawn event)
|
||||
{
|
||||
if (event.isSpawner())
|
||||
{
|
||||
if (event.getSpawner().getSpawnerBlockEntity() instanceof SpawnerBlockEntity)
|
||||
{
|
||||
LOGGER.info("Stopped {} from spawning from Spawner Block Entity : {}", event.getEntity(), event.getSpawner().getSpawnerBlockEntity());
|
||||
event.setResult(Event.Result.DENY);
|
||||
}
|
||||
if (event.getSpawner().getSpawnerEntity() instanceof MinecartSpawner)
|
||||
{
|
||||
LOGGER.info("Stopped {} from spawning from Minecart Spawner : {}", event.getEntity(), event.getSpawner().getSpawnerEntity());
|
||||
event.setResult(Event.Result.DENY);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user