changed admin claim to a bool cause it did more harm than good before
This commit is contained in:
parent
9bb677a578
commit
a4e37c7938
@ -30,6 +30,7 @@ public class Claim {
|
||||
private int minX, minZ, maxX, maxZ, minY;
|
||||
|
||||
private UUID owner;
|
||||
private boolean adminClaim;
|
||||
|
||||
private UUID claimID;
|
||||
private final EnumMap<EnumPermission, Boolean> globalPerm = Maps.newEnumMap(EnumPermission.class);
|
||||
@ -112,12 +113,16 @@ public class Claim {
|
||||
this.setDirty();
|
||||
}
|
||||
|
||||
public void setAdminClaim() {
|
||||
this.owner = null;
|
||||
this.subClaims.forEach(claim->claim.owner = null);
|
||||
public void toggleAdminClaim(boolean flag) {
|
||||
this.adminClaim = flag;
|
||||
this.subClaims.forEach(claim->claim.adminClaim = flag);
|
||||
this.setDirty();
|
||||
}
|
||||
|
||||
public boolean isAdminClaim(){
|
||||
return this.adminClaim;
|
||||
}
|
||||
|
||||
public int getPlane() {
|
||||
return (this.maxX - this.minX) * (this.maxZ - this.minZ);
|
||||
}
|
||||
@ -170,7 +175,7 @@ public class Claim {
|
||||
if (player.getUuid().equals(this.owner))
|
||||
return true;
|
||||
PlayerClaimData data = PlayerClaimData.get(player);
|
||||
if ((this.owner==null && player.hasPermissionLevel(2)) || data.isAdminIgnoreClaim())
|
||||
if ((this.adminClaim && player.hasPermissionLevel(2)) || data.isAdminIgnoreClaim())
|
||||
return true;
|
||||
for (Claim claim : this.subClaims) {
|
||||
if (claim.insideClaim(pos)) {
|
||||
@ -279,7 +284,7 @@ public class Claim {
|
||||
}
|
||||
|
||||
public boolean setPlayerGroup(UUID player, String group, boolean force) {
|
||||
if (this.owner != null && this.owner.equals(player))
|
||||
if (this.owner.equals(player))
|
||||
return false;
|
||||
if (group == null) {
|
||||
this.playersGroups.remove(player);
|
||||
@ -392,8 +397,8 @@ public class Claim {
|
||||
this.minZ = pos.get(2).getAsInt();
|
||||
this.maxZ = pos.get(3).getAsInt();
|
||||
this.minY = pos.get(4).getAsInt();
|
||||
if(!obj.has("AdminClaim"))
|
||||
this.owner = uuid;
|
||||
this.owner = uuid;
|
||||
this.adminClaim = obj.has("AdminClaim")?obj.get("AdminClaim").getAsBoolean():false;
|
||||
this.claimID = UUID.fromString(obj.get("ID").getAsString());
|
||||
this.globalPerm.clear();
|
||||
this.permissions.clear();
|
||||
@ -434,8 +439,7 @@ public class Claim {
|
||||
pos.add(this.minY);
|
||||
obj.add("PosxXzZY", pos);
|
||||
obj.addProperty("ID", this.claimID.toString());
|
||||
if(this.owner==null)
|
||||
obj.addProperty("AdminClaim", true);
|
||||
obj.addProperty("AdminClaim", this.adminClaim);
|
||||
if (this.parent != null)
|
||||
obj.addProperty("Parent", this.parent.toString());
|
||||
if (!this.globalPerm.isEmpty()) {
|
||||
@ -506,8 +510,8 @@ public class Claim {
|
||||
boolean perms = this.canInteract(player, EnumPermission.EDITPERMS, player.getBlockPos());
|
||||
List<Text> l = Lists.newArrayList();
|
||||
l.add(PermHelper.simpleColoredText("=============================================", Formatting.GREEN));
|
||||
GameProfile prof = this.owner != null ? player.getServer().getUserCache().getByUuid(this.owner) : null;
|
||||
String ownerName = this.owner == null ? "Admin" : prof != null ? prof.getName() : "<UNKNOWN>";
|
||||
GameProfile prof = player.getServer().getUserCache().getByUuid(this.owner);
|
||||
String ownerName = this.adminClaim ? "Admin" : prof != null ? prof.getName() : "<UNKNOWN>";
|
||||
if(this.parent==null)
|
||||
l.add(PermHelper.simpleColoredText(String.format(ConfigHandler.lang.claimBasicInfo, ownerName, this.minX, this.minZ, this.maxX, this.maxZ, this.subClaims.size()), Formatting.GOLD));
|
||||
else
|
||||
|
@ -180,7 +180,7 @@ public class ClaimStorage {
|
||||
}
|
||||
|
||||
public Collection<Claim> getAdminClaims(){
|
||||
return ImmutableSet.copyOf(this.claimUUIDMap.values().stream().filter(claim->claim.getOwner()==null).iterator());
|
||||
return ImmutableSet.copyOf(this.claimUUIDMap.values().stream().filter(claim->claim.isAdminClaim()).iterator());
|
||||
}
|
||||
|
||||
public static int[] getChunkPos(Claim claim) {
|
||||
|
@ -9,12 +9,13 @@ import com.flemmli97.flan.gui.ClaimMenuScreenHandler;
|
||||
import com.flemmli97.flan.player.EnumDisplayType;
|
||||
import com.flemmli97.flan.player.EnumEditMode;
|
||||
import com.flemmli97.flan.player.PlayerClaimData;
|
||||
import com.google.common.collect.Collections2;
|
||||
import com.google.common.collect.Lists;
|
||||
import com.google.common.collect.Maps;
|
||||
import com.mojang.authlib.GameProfile;
|
||||
import com.mojang.brigadier.Command;
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.arguments.ArgumentType;
|
||||
import com.mojang.brigadier.arguments.BoolArgumentType;
|
||||
import com.mojang.brigadier.arguments.IntegerArgumentType;
|
||||
import com.mojang.brigadier.arguments.StringArgumentType;
|
||||
import com.mojang.brigadier.builder.ArgumentBuilder;
|
||||
@ -55,7 +56,7 @@ public class CommandClaim {
|
||||
CommandManager.literal("switchMode").executes(CommandClaim::switchClaimMode),
|
||||
CommandManager.literal("adminMode").requires(src -> src.hasPermissionLevel(2)).executes(CommandClaim::switchAdminMode),
|
||||
CommandManager.literal("readGriefPrevention").requires(src -> src.hasPermissionLevel(2)).executes(CommandClaim::readGriefPreventionData),
|
||||
CommandManager.literal("setAdminClaim").requires(src -> src.hasPermissionLevel(2)).executes(CommandClaim::setAdminClaim),
|
||||
CommandManager.literal("setAdminClaim").requires(src -> src.hasPermissionLevel(2)).then(CommandManager.argument("toggle", BoolArgumentType.bool()).executes(CommandClaim::toggleAdminClaim)),
|
||||
CommandManager.literal("listAdminClaims").requires(src -> src.hasPermissionLevel(2)).executes(CommandClaim::listAdminClaims),
|
||||
CommandManager.literal("adminDelete").requires(src -> src.hasPermissionLevel(2)).executes(CommandClaim::adminDelete)
|
||||
.then(CommandManager.literal("all").then(CommandManager.argument("players", GameProfileArgumentType.gameProfile())
|
||||
@ -294,7 +295,7 @@ public class CommandClaim {
|
||||
return Command.SINGLE_SUCCESS;
|
||||
}
|
||||
|
||||
private static int setAdminClaim(CommandContext<ServerCommandSource> context) {
|
||||
private static int toggleAdminClaim(CommandContext<ServerCommandSource> context) {
|
||||
ServerCommandSource src = context.getSource();
|
||||
ClaimStorage storage = ClaimStorage.get(src.getWorld());
|
||||
Claim claim = storage.getClaimAt(new BlockPos(src.getPosition()));
|
||||
@ -302,8 +303,8 @@ public class CommandClaim {
|
||||
src.sendFeedback(PermHelper.simpleColoredText(ConfigHandler.lang.noClaim, Formatting.RED), false);
|
||||
return 0;
|
||||
}
|
||||
claim.setAdminClaim();
|
||||
src.sendFeedback(PermHelper.simpleColoredText(ConfigHandler.lang.setAdminClaim, Formatting.GOLD), true);
|
||||
claim.toggleAdminClaim(BoolArgumentType.getBool(context, "toggle"));
|
||||
src.sendFeedback(PermHelper.simpleColoredText(String.format(ConfigHandler.lang.setAdminClaim, claim.isAdminClaim()), Formatting.GOLD), true);
|
||||
return Command.SINGLE_SUCCESS;
|
||||
}
|
||||
|
||||
|
@ -55,7 +55,7 @@ public class LangConfig {
|
||||
|
||||
public String adminMode = "Adminmode (Ignore Claims) set to: %s";
|
||||
public String adminDeleteAll = "Deleted all claims for following players: %s";
|
||||
public String setAdminClaim = "Claim changed to an Adminclaim";
|
||||
public String setAdminClaim = "Adminclaim of this claim now: %s";
|
||||
public String readGriefpreventionData = "Reading data from GriefPrevention";
|
||||
public String readGriefpreventionDataSuccess = "Successfully read data";
|
||||
public String readGriefpreventionDataFail = "Failed reading data for following claim files (Check the logs!): %s";
|
||||
|
@ -262,7 +262,7 @@ public class PlayerClaimData {
|
||||
for (ServerWorld world : this.player.getServer().getWorlds()) {
|
||||
Collection<Claim> claims = ClaimStorage.get(world).allClaimsFromPlayer(this.player.getUuid());
|
||||
if (claims != null)
|
||||
usedClaimsBlocks += claims.stream().filter(claim->claim.getOwner()!=null).mapToInt(Claim::getPlane).sum();
|
||||
usedClaimsBlocks += claims.stream().filter(claim->!claim.isAdminClaim()).mapToInt(Claim::getPlane).sum();
|
||||
}
|
||||
return usedClaimsBlocks;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user