@Listener public void onSpawnEntityEvent(SpawnEntityEvent event, @Root SpawnCause cause) { WorldSettings settings = WorldSettings.get(event.getTargetWorld()); if (!settings.isVanillaSpawnerAllowed() && cause.getType().equals(SpawnTypes.MOB_SPAWNER)) { return; } else if (!settings.isModSpawnerAllowed() && cause.getType().equals(SpawnTypes.CUSTOM)) { return; } else if (!settings.isPluginSpawnerAllowed() && cause.getType().equals(SpawnTypes.PLUGIN)) { return; } else if (!settings.isEggSpawnerAllowed() && cause.getType().equals(SpawnTypes.SPAWN_EGG)) { return; } for (Entity entity : event.getEntities()) { entity.offer(Sponge.getDataManager().getManipulatorBuilder(MoneyData.class).get().create()); } }