package entity; import java.util.LinkedHashMap; import java.util.Map; import org.apache.commons.lang3.text.WordUtils; import core.Main; public class TrapEntity extends DNDEntity{ int challengeRating; String trigger; String reset; String damage; int searchDC; int disableDC; String value; String save; String type; String bypass; String target; public TrapEntity(LinkedHashMap<String, String> input){ this.TYPE = DNDEntity.type.TRAP; passedData = input; for (Map.Entry<String, String> entry : input.entrySet()){ String field = entry.getKey(); String value = entry.getValue(); switch(field){ case "NAME": String temp = new String(value.split("\\[")[0].trim()); temp = WordUtils.capitalize(temp.toLowerCase()); temp = WordUtils.capitalize(temp, '(', '['); this.name = temp; break; case "TRIGGER": this.trigger = value; break; case "RESET": this.reset = value; break; case "DAMAGE": this.damage = value; break; case "type": this.type = value; break; case "BYPASS": this.bypass = value; break; case "DESCRIPTION": this.description = value; break; case "TARGET": this.target = value; break; case "CHALLENGERATING": this.challengeRating = Integer.parseInt(value); break; case "SEARCHDC": this.searchDC = Integer.parseInt(value); break; case "DISABLEDC": this.disableDC = Integer.parseInt(value); break; case "VALUE": this.value = value; default: break; } } } @Override public void search(String searchString, Thread runningThread) throws InterruptedException { if(this.name != null && this.name.toLowerCase().contains(searchString)){ Main.gameState.searchResultsLock.acquire(); //System.out.println("Lock aquired, adding " + this.name + " to results list."); Main.gameState.searchResults.put(this.name, this); Main.gameState.searchResultsLock.release(); //System.out.println("Lock released."); return; } if(this.description != null && this.description.toLowerCase().contains(searchString)){ Main.gameState.searchResultsLock.acquire(); //System.out.println("Lock aquired, adding " + this.name + " to results list."); Main.gameState.searchResults.put(this.name, this); Main.gameState.searchResultsLock.release(); //System.out.println("Lock released."); return; } } @Override public String saveCustomContent() { String output = ""; return output; } }