89 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			89 lines
		
	
	
	
		
			2 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.server;
 | |
| 
 | |
| import com.mojang.logging.LogUtils;
 | |
| import java.io.InputStream;
 | |
| import java.io.OutputStream;
 | |
| import java.nio.file.Files;
 | |
| import java.nio.file.Path;
 | |
| import java.util.Properties;
 | |
| import net.minecraft.SharedConstants;
 | |
| import net.minecraft.util.CommonLinks;
 | |
| import org.slf4j.Logger;
 | |
| 
 | |
| public class Eula {
 | |
| 	private static final Logger LOGGER = LogUtils.getLogger();
 | |
| 	private final Path file;
 | |
| 	private final boolean agreed;
 | |
| 
 | |
| 	public Eula(Path file) {
 | |
| 		this.file = file;
 | |
| 		this.agreed = SharedConstants.IS_RUNNING_IN_IDE || this.readFile();
 | |
| 	}
 | |
| 
 | |
| 	private boolean readFile() {
 | |
| 		try {
 | |
| 			InputStream inputStream = Files.newInputStream(this.file);
 | |
| 
 | |
| 			boolean var3;
 | |
| 			try {
 | |
| 				Properties properties = new Properties();
 | |
| 				properties.load(inputStream);
 | |
| 				var3 = Boolean.parseBoolean(properties.getProperty("eula", "false"));
 | |
| 			} catch (Throwable var5) {
 | |
| 				if (inputStream != null) {
 | |
| 					try {
 | |
| 						inputStream.close();
 | |
| 					} catch (Throwable var4) {
 | |
| 						var5.addSuppressed(var4);
 | |
| 					}
 | |
| 				}
 | |
| 
 | |
| 				throw var5;
 | |
| 			}
 | |
| 
 | |
| 			if (inputStream != null) {
 | |
| 				inputStream.close();
 | |
| 			}
 | |
| 
 | |
| 			return var3;
 | |
| 		} catch (Exception var6) {
 | |
| 			LOGGER.warn("Failed to load {}", this.file);
 | |
| 			this.saveDefaults();
 | |
| 			return false;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	public boolean hasAgreedToEULA() {
 | |
| 		return this.agreed;
 | |
| 	}
 | |
| 
 | |
| 	private void saveDefaults() {
 | |
| 		if (!SharedConstants.IS_RUNNING_IN_IDE) {
 | |
| 			try {
 | |
| 				OutputStream outputStream = Files.newOutputStream(this.file);
 | |
| 
 | |
| 				try {
 | |
| 					Properties properties = new Properties();
 | |
| 					properties.setProperty("eula", "false");
 | |
| 					properties.store(outputStream, "By changing the setting below to TRUE you are indicating your agreement to our EULA (" + CommonLinks.EULA + ").");
 | |
| 				} catch (Throwable var5) {
 | |
| 					if (outputStream != null) {
 | |
| 						try {
 | |
| 							outputStream.close();
 | |
| 						} catch (Throwable var4) {
 | |
| 							var5.addSuppressed(var4);
 | |
| 						}
 | |
| 					}
 | |
| 
 | |
| 					throw var5;
 | |
| 				}
 | |
| 
 | |
| 				if (outputStream != null) {
 | |
| 					outputStream.close();
 | |
| 				}
 | |
| 			} catch (Exception var6) {
 | |
| 				LOGGER.warn("Failed to save {}", this.file, var6);
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| }
 |