45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
	
		
			1 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.server.players;
 | |
| 
 | |
| import com.google.gson.JsonObject;
 | |
| import java.io.File;
 | |
| import java.net.SocketAddress;
 | |
| import org.jetbrains.annotations.Nullable;
 | |
| 
 | |
| public class IpBanList extends StoredUserList<String, IpBanListEntry> {
 | |
| 	public IpBanList(File file) {
 | |
| 		super(file);
 | |
| 	}
 | |
| 
 | |
| 	@Override
 | |
| 	protected StoredUserEntry<String> createEntry(JsonObject entryData) {
 | |
| 		return new IpBanListEntry(entryData);
 | |
| 	}
 | |
| 
 | |
| 	public boolean isBanned(SocketAddress address) {
 | |
| 		String string = this.getIpFromAddress(address);
 | |
| 		return this.contains(string);
 | |
| 	}
 | |
| 
 | |
| 	public boolean isBanned(String address) {
 | |
| 		return this.contains(address);
 | |
| 	}
 | |
| 
 | |
| 	@Nullable
 | |
| 	public IpBanListEntry get(SocketAddress address) {
 | |
| 		String string = this.getIpFromAddress(address);
 | |
| 		return this.get(string);
 | |
| 	}
 | |
| 
 | |
| 	private String getIpFromAddress(SocketAddress address) {
 | |
| 		String string = address.toString();
 | |
| 		if (string.contains("/")) {
 | |
| 			string = string.substring(string.indexOf(47) + 1);
 | |
| 		}
 | |
| 
 | |
| 		if (string.contains(":")) {
 | |
| 			string = string.substring(0, string.indexOf(58));
 | |
| 		}
 | |
| 
 | |
| 		return string;
 | |
| 	}
 | |
| }
 |