split spawn control in hostile and non hostile entities
This commit is contained in:
parent
3832a7268c
commit
b86285bc63
@ -70,7 +70,8 @@ public class PermissionRegistry {
|
||||
public static ClaimPermission FIRESPREAD = global(new ClaimPermission("FIRESPREAD", () -> new ItemStack(Items.BLAZE_POWDER), "Toggle firespread in claim"));
|
||||
public static ClaimPermission WATERBORDER = global(new ClaimPermission("WATERBORDER", () -> new ItemStack(Items.WATER_BUCKET), "Toggle water crossing claim borders"));
|
||||
public static ClaimPermission PISTONBORDER = global(new ClaimPermission("PISTONBORDER", () -> new ItemStack(Items.PISTON), "Toggle piston pull/push across claim borders"));
|
||||
public static ClaimPermission MOBSPAWN = global(new ClaimPermission("MOBSPAWN", () -> new ItemStack(Items.ZOMBIE_SPAWN_EGG), "Prevent mobspawn in claim"));
|
||||
public static ClaimPermission MOBSPAWN = global(new ClaimPermission("MOBSPAWN", () -> new ItemStack(Items.ZOMBIE_SPAWN_EGG), "Prevent hostile mobspawn in claim"));
|
||||
public static ClaimPermission ANIMALSPAWN = global(new ClaimPermission("MOBSPAWN", () -> new ItemStack(Items.CHICKEN_SPAWN_EGG), "Prevent other spawn in claim"));
|
||||
|
||||
private static ClaimPermission register(ClaimPermission perm) {
|
||||
if (locked) {
|
||||
|
@ -1,11 +1,15 @@
|
||||
package com.flemmli97.flan.event;
|
||||
|
||||
import com.flemmli97.flan.api.ClaimPermission;
|
||||
import com.flemmli97.flan.api.PermissionRegistry;
|
||||
import com.flemmli97.flan.claim.ClaimStorage;
|
||||
import com.flemmli97.flan.claim.IPermissionContainer;
|
||||
import com.flemmli97.flan.config.ConfigHandler;
|
||||
import net.minecraft.block.BlockState;
|
||||
import net.minecraft.entity.SpawnGroup;
|
||||
import net.minecraft.entity.mob.MobEntity;
|
||||
import net.minecraft.item.ItemStack;
|
||||
import net.minecraft.item.Items;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.server.world.ServerWorld;
|
||||
import net.minecraft.util.math.BlockPos;
|
||||
@ -74,6 +78,8 @@ public class WorldEvents {
|
||||
if (!ConfigHandler.config.allowMobSpawnToggle)
|
||||
return false;
|
||||
IPermissionContainer claim = ClaimStorage.get(world).getForPermissionCheck(entity.getBlockPos());
|
||||
return claim.canInteract(null, PermissionRegistry.MOBSPAWN, entity.getBlockPos());
|
||||
if(entity.getType().getSpawnGroup() == SpawnGroup.MONSTER)
|
||||
return claim.canInteract(null, PermissionRegistry.MOBSPAWN, entity.getBlockPos());
|
||||
return claim.canInteract(null, PermissionRegistry.ANIMALSPAWN, entity.getBlockPos());
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user