35 lines
		
	
	
	
		
			831 B
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			35 lines
		
	
	
	
		
			831 B
		
	
	
	
		
			Java
		
	
	
	
	
	
| package net.minecraft.commands;
 | |
| 
 | |
| @FunctionalInterface
 | |
| public interface CommandResultCallback {
 | |
| 	CommandResultCallback EMPTY = new CommandResultCallback() {
 | |
| 		@Override
 | |
| 		public void onResult(boolean bl, int i) {
 | |
| 		}
 | |
| 
 | |
| 		public String toString() {
 | |
| 			return "<empty>";
 | |
| 		}
 | |
| 	};
 | |
| 
 | |
| 	void onResult(boolean bl, int i);
 | |
| 
 | |
| 	default void onSuccess(int i) {
 | |
| 		this.onResult(true, i);
 | |
| 	}
 | |
| 
 | |
| 	default void onFailure() {
 | |
| 		this.onResult(false, 0);
 | |
| 	}
 | |
| 
 | |
| 	static CommandResultCallback chain(CommandResultCallback commandResultCallback, CommandResultCallback commandResultCallback2) {
 | |
| 		if (commandResultCallback == EMPTY) {
 | |
| 			return commandResultCallback2;
 | |
| 		} else {
 | |
| 			return commandResultCallback2 == EMPTY ? commandResultCallback : (bl, i) -> {
 | |
| 				commandResultCallback.onResult(bl, i);
 | |
| 				commandResultCallback2.onResult(bl, i);
 | |
| 			};
 | |
| 		}
 | |
| 	}
 | |
| }
 |