diff --git a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java index b00f1f5..d72a9ff 100644 --- a/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java +++ b/common/src/main/java/io/github/flemmli97/flan/claim/Claim.java @@ -361,6 +361,9 @@ public class Claim implements IPermissionContainer { } public Set tryCreateSubClaim(BlockPos pos1, BlockPos pos2) { + //No sub sub claims + if (this.parentClaim() != null) + return Set.of(this.parentClaim()); Claim sub = new Claim(pos1, new BlockPos(pos2.getX(), 0, pos2.getZ()), this.owner, this.world); sub.setClaimID(this.generateUUID()); Set conflicts = new HashSet<>(); @@ -372,6 +375,13 @@ public class Claim implements IPermissionContainer { sub.parent = this.claimID; sub.parentClaim = this; this.subClaims.add(sub); + //Copy parent claims perms + sub.permissions.clear(); + sub.permissions.putAll(this.permissions); + sub.playersGroups.clear(); + sub.playersGroups.putAll(this.playersGroups); + sub.potions.clear(); + sub.potions.putAll(this.potions); this.setDirty(true); } return conflicts;