Further TypeAbstractChoice optimizations. Forgot the Material ids.
This commit is contained in:
		
							parent
							
								
									92ec2c91f3
								
							
						
					
					
						commit
						e2b3b668af
					
				| @ -98,6 +98,18 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A | |||||||
| 	// OVERRIDE: TYPE | 	// OVERRIDE: TYPE | ||||||
| 	// -------------------------------------------- // | 	// -------------------------------------------- // | ||||||
| 	 | 	 | ||||||
|  | 	protected static final String MESSAGE_MATCH_NOTHING = Txt.parse("<b>No %s matches \"<h>%s<b>\"."); | ||||||
|  | 	protected static final String MESSAGE_MATCH_AMBIGUOUS = Txt.parse("<b>%d %ss matches \"<h>%s<b>\"."); | ||||||
|  | 	protected static final String MESSAGE_AVAILABLE_EMPTY = Txt.parse("<i>Note: There is no %s available."); | ||||||
|  | 	 | ||||||
|  | 	protected static final String MESSAGE_COLON_AMBIGUOUS = Txt.parse("<aqua>Ambigous<silver>: "); | ||||||
|  | 	protected static final String MESSAGE_COLON_ALL = Txt.parse("<aqua>All<silver>: "); | ||||||
|  | 	protected static final String MESSAGE_COLON_SIMILAR = Txt.parse("<aqua>Similar<silver>: "); | ||||||
|  | 	 | ||||||
|  | 	protected static final String MESSAGE_SUGGESTIONS_EMPTY = Txt.parse("<i>No suggestions found."); | ||||||
|  | 	protected static final String MESSAGE_SUGGESTIONS_MUCH = Txt.parse("<i>Over %d suggestions found (hiding output)."); | ||||||
|  | 	 | ||||||
|  | 	 | ||||||
| 	@Override | 	@Override | ||||||
| 	public T read(String arg, CommandSender sender) throws MassiveException | 	public T read(String arg, CommandSender sender) throws MassiveException | ||||||
| 	{ | 	{ | ||||||
| @ -131,15 +143,18 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A | |||||||
| 		boolean suggestLevenshtein = false; | 		boolean suggestLevenshtein = false; | ||||||
| 		 | 		 | ||||||
| 		// Nothing Found | 		// Nothing Found | ||||||
|  | 		String message; | ||||||
| 		if (matches.isEmpty()) | 		if (matches.isEmpty()) | ||||||
| 		{ | 		{ | ||||||
| 			exception.addMsg("<b>No %s matches \"<h>%s<b>\".", this.getTypeName(), arg); | 			message = String.format(MESSAGE_MATCH_NOTHING, this.getTypeName(), arg); | ||||||
|  | 			exception.addMessage(message); | ||||||
| 			suggestLevenshtein = true; | 			suggestLevenshtein = true; | ||||||
| 		} | 		} | ||||||
| 		// Ambiguous | 		// Ambiguous | ||||||
| 		else | 		else | ||||||
| 		{ | 		{ | ||||||
| 			exception.addMsg("<b>%d %ss matches \"<h>%s<b>\".", matches.size(), this.getTypeName(), arg); | 			message = String.format(MESSAGE_MATCH_AMBIGUOUS, matches.size(), this.getTypeName(), arg); | ||||||
|  | 			exception.addMessage(message); | ||||||
| 			suggestAmbiguous = true; | 			suggestAmbiguous = true; | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| @ -153,12 +168,12 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A | |||||||
| 		} | 		} | ||||||
| 		else if (suggestNone) | 		else if (suggestNone) | ||||||
| 		{ | 		{ | ||||||
| 			exception.addMsg("<i>Note: There is no %s available.", this.getTypeName()); | 			message = String.format(MESSAGE_AVAILABLE_EMPTY, this.getTypeName()); | ||||||
|  | 			exception.addMessage(message); | ||||||
| 		} | 		} | ||||||
| 		else | 		else | ||||||
| 		{ | 		{ | ||||||
| 			Collection<T> suggestions = null; | 			Collection<T> suggestions = null; | ||||||
| 			String msg = null; |  | ||||||
| 			String format = SUGGEST_FORMAT; | 			String format = SUGGEST_FORMAT; | ||||||
| 			String comma = SUGGEST_COMMMA; | 			String comma = SUGGEST_COMMMA; | ||||||
| 			String and = SUGGEST_AND; | 			String and = SUGGEST_AND; | ||||||
| @ -167,26 +182,27 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A | |||||||
| 			if (suggestAmbiguous) | 			if (suggestAmbiguous) | ||||||
| 			{ | 			{ | ||||||
| 				suggestions = matches; | 				suggestions = matches; | ||||||
| 				msg = "<aqua>Ambigous<silver>: %s"; | 				message = MESSAGE_COLON_AMBIGUOUS; | ||||||
| 			} | 			} | ||||||
| 			else if (suggestAll) | 			else if (suggestAll) | ||||||
| 			{ | 			{ | ||||||
| 				suggestions = all; | 				suggestions = all; | ||||||
| 				msg = "<aqua>All<silver>: %s"; | 				message = MESSAGE_COLON_ALL; | ||||||
| 			} | 			} | ||||||
| 			else if (suggestLevenshtein) | 			else if (suggestLevenshtein) | ||||||
| 			{ | 			{ | ||||||
| 				suggestions = this.getMatches(options, arg, true);; | 				suggestions = this.getMatches(options, arg, true); | ||||||
| 				msg = "<aqua>Similar<silver>: %s"; | 				message = MESSAGE_COLON_SIMILAR; | ||||||
| 			} | 			} | ||||||
| 			 | 			 | ||||||
| 			if (suggestions.isEmpty()) | 			if (suggestions.isEmpty()) | ||||||
| 			{ | 			{ | ||||||
| 				exception.addMsg("<i>No suggestions found."); | 				exception.addMessage(MESSAGE_SUGGESTIONS_EMPTY); | ||||||
| 			} | 			} | ||||||
| 			else if (suggestions.size() > this.getListCountMax()) | 			else if (suggestions.size() > this.getListCountMax()) | ||||||
| 			{ | 			{ | ||||||
| 				exception.addMsg("<i>Over %d suggestions found (hiding output).", this.getListCountMax()); | 				message = String.format(MESSAGE_SUGGESTIONS_MUCH, this.getListCountMax()); | ||||||
|  | 				exception.addMessage(message); | ||||||
| 			} | 			} | ||||||
| 			else | 			else | ||||||
| 			{ | 			{ | ||||||
| @ -195,13 +211,13 @@ public abstract class TypeAbstractChoice<T> extends TypeAbstract<T> implements A | |||||||
| 				{ | 				{ | ||||||
| 					visuals.add(this.getVisual(value, sender)); | 					visuals.add(this.getVisual(value, sender)); | ||||||
| 				} | 				} | ||||||
| 				exception.addMsg(msg, Txt.implodeCommaAndDot(visuals, format, comma, and, dot)); | 				exception.addMessage(message + Txt.implodeCommaAndDot(visuals, format, comma, and, dot)); | ||||||
| 			} | 			} | ||||||
| 		} | 		} | ||||||
| 		 | 		 | ||||||
| 		// Help | 		// Help | ||||||
| 		String help = this.getHelp(); | 		String help = this.getHelp(); | ||||||
| 		if (help != null) exception.addMsg(help); | 		if (help != null) exception.addMessage(help); | ||||||
| 		 | 		 | ||||||
| 		throw exception; | 		throw exception; | ||||||
| 	} | 	} | ||||||
|  | |||||||
| @ -1,7 +1,10 @@ | |||||||
| package com.massivecraft.massivecore.command.type.enumeration; | package com.massivecraft.massivecore.command.type.enumeration; | ||||||
| 
 | 
 | ||||||
|  | import java.util.Set; | ||||||
|  | 
 | ||||||
| import org.bukkit.Material; | import org.bukkit.Material; | ||||||
| 
 | 
 | ||||||
|  | import com.massivecraft.massivecore.collections.MassiveSet; | ||||||
| import com.massivecraft.massivecore.util.Txt; | import com.massivecraft.massivecore.util.Txt; | ||||||
| 
 | 
 | ||||||
| public class TypeMaterial extends TypeEnum<Material> | public class TypeMaterial extends TypeEnum<Material> | ||||||
| @ -20,4 +23,16 @@ public class TypeMaterial extends TypeEnum<Material> | |||||||
| 		); | 		); | ||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
|  | 	@SuppressWarnings("deprecation") | ||||||
|  | 	@Override | ||||||
|  | 	public Set<String> getIdsInner(Material value) | ||||||
|  | 	{ | ||||||
|  | 		Set<String> ret = new MassiveSet<String>(super.getIdsInner(value)); | ||||||
|  | 		 | ||||||
|  | 		String id = String.valueOf(value.getId()); | ||||||
|  | 		ret.add(id); | ||||||
|  | 		 | ||||||
|  | 		return ret; | ||||||
|  | 	} | ||||||
|  | 
 | ||||||
| } | } | ||||||
|  | |||||||
| @ -383,7 +383,7 @@ public class Coll<E extends Entity<E>> extends CollAbstract<E> | |||||||
| 	 | 	 | ||||||
| 	protected Map<String, Modification> identifiedModifications; | 	protected Map<String, Modification> identifiedModifications; | ||||||
| 	 | 	 | ||||||
| 	protected synchronized void putIdentifiedModificationFixed(String id, Modification modification) | 	public synchronized void putIdentifiedModificationFixed(String id, Modification modification) | ||||||
| 	{ | 	{ | ||||||
| 		if (id == null) throw new NullPointerException("id"); | 		if (id == null) throw new NullPointerException("id"); | ||||||
| 		if (modification == null) throw new NullPointerException("modification"); | 		if (modification == null) throw new NullPointerException("modification"); | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user