// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ . // ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌· // ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀ // ██ ██▌▐█▌▐█ ▪▐▌▐█▄▪▐█▐█▌▐███▌██▄▪▐█▐█ ▪▐▌██▐ █▌▐█▄▄▌ // ▀▀ █▪▀▀▀ ▀ ▀ ·▀▀▀▀ ▀▀▀·▀▀▀ ·▀▀▀▀ ▀ ▀ ▀▀ █▪ ▀▀▀ // Magicbane Emulator Project © 2013 - 2022 // www.magicbane.com package engine.devcmd.cmds; import engine.devcmd.AbstractDevCmd; import engine.objects.AbstractGameObject; import engine.objects.PlayerCharacter; import java.lang.reflect.Field; public class RegionCmd extends AbstractDevCmd { public RegionCmd() { super("region"); } @Override protected void _doCmd(PlayerCharacter pc, String[] words, AbstractGameObject target) { if (pc.region == null) { this.throwbackInfo(pc, "No Region Found."); return; } String newLine = System.getProperty("line.separator"); String result = ""; result += (pc.region.getClass().getSimpleName()); result += (" {"); result+=(newLine); Field[] fields = pc.region.getClass().getDeclaredFields(); //print field names paired with their values for ( Field field : fields ) { field.setAccessible(true); result+=(" "); try { if(field.getName().contains("Furniture")) continue; result+=( field.getName()); result+=(": "); //requires access to private field: result += (field.get(pc.region).toString()); } catch ( IllegalAccessException ex ) { System.out.println(ex); } result.trim(); result+=(newLine); } result+=("}"); this.throwbackInfo(pc, result.toString()); } @Override protected String _getHelpString() { return "Temporarily Changes SubRace"; } @Override protected String _getUsageString() { return "' /setBuildingCollidables add/remove 'add creates a collision line.' needs 4 integers. startX, endX, startY, endY"; } }