1
0
mirror of https://github.com/SquidDev-CC/CC-Tweaked synced 2025-10-25 10:57:57 +00:00

Make UserLevel.OWNER a little more strict

Closes #904
This commit is contained in:
Jonathan Coates
2021-08-25 22:09:24 +01:00
parent 9fbcbae5b3
commit 3396fe2871

View File

@@ -56,18 +56,17 @@ public enum UserLevel implements Predicate<CommandSource>
public boolean test( CommandSource source ) public boolean test( CommandSource source )
{ {
if( this == ANYONE ) return true; if( this == ANYONE ) return true;
if( this == OWNER ) return isOwner( source );
if( this == OWNER_OP && isOwner( source ) ) return true;
return source.hasPermission( toLevel() );
}
if( this == OWNER || this == OWNER_OP ) private static boolean isOwner( CommandSource source )
{ {
MinecraftServer server = source.getServer(); MinecraftServer server = source.getServer();
Entity sender = source.getEntity(); Entity sender = source.getEntity();
if( server.isSingleplayer() && sender instanceof PlayerEntity && return server.isDedicatedServer()
((PlayerEntity) sender).getGameProfile().getName().equalsIgnoreCase( server.getServerModName() ) ) ? source.getEntity() == null && source.hasPermission( 4 ) && source.getTextName().equals( "Server" )
{ : sender instanceof PlayerEntity && ((PlayerEntity) sender).getGameProfile().getName().equalsIgnoreCase( server.getServerModName() );
return true;
}
}
return source.hasPermission( toLevel() );
} }
} }