Merge pull request #98 from Shadowrs/feature/expand-objects-debug

Split objects debug up into all & each of the 5 types
This commit is contained in:
Jeroen Ketelaar
2018-09-09 14:00:13 -05:00
committed by GitHub
7 changed files with 339 additions and 2 deletions
@@ -9,11 +9,19 @@ import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import java.awt.*;
import java.util.Comparator;
public class DSceneObjects extends AbstractDebugger {
private boolean enabled;
public static final Comparator<SceneObject> SCENE_OBJECT_COMPARATOR_DISTANCE = new Comparator<SceneObject>() {
@Override
public int compare(SceneObject o1, SceneObject o2) {
return o1.distanceTo() > o2.distanceTo() ? 1 : o1.distanceTo() == o2.distanceTo() ? 0 : -1;
}
};
@Override
public void paint(Graphics g) {
PaintDebugger p = Context.getInstance().getPaintDebugger();
@@ -0,0 +1,62 @@
package org.rev317.min.debug;
import org.parabot.core.Context;
import org.parabot.core.paint.AbstractDebugger;
import org.parabot.core.paint.PaintDebugger;
import org.parabot.core.ui.Logger;
import org.parabot.environment.api.utils.Filter;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
public class DSceneObjectsGroundDec extends AbstractDebugger {
private boolean enabled;
@Override
public void paint(Graphics g) {
PaintDebugger p = Context.getInstance().getPaintDebugger();
p.addLine("Ground decorations: " + getGroundDecorations().length);
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void toggle() {
enabled = !enabled;
if (enabled) {
SceneObject[] objects = getGroundDecorations();
if (objects == null || objects.length == 0) {
Logger.addMessage("There are no GameObjects around you.");
return;
}
java.util.List<SceneObject> objs = Arrays.asList(objects);
Collections.sort(objs, DSceneObjects.SCENE_OBJECT_COMPARATOR_DISTANCE);
objects = objs.toArray(new SceneObject[0]);
for (int i = objects.length - 1; i >= 0; i--) {
System.out.println(
" ID: " + objects[i].getId() +
" UID: " + objects[i].getHash() +
" Location: " + objects[i].getLocation() +
" Distance: " + objects[i].distanceTo());
}
}
}
private SceneObject[] getGroundDecorations() {
return SceneObjects.getNearest(new Filter<SceneObject>() {
@Override
public boolean accept(SceneObject sceneObject) {
return sceneObject.getType() == SceneObject.TYPE_GROUNDDECORATION;
}
});
}
}
@@ -0,0 +1,62 @@
package org.rev317.min.debug;
import org.parabot.core.Context;
import org.parabot.core.paint.AbstractDebugger;
import org.parabot.core.paint.PaintDebugger;
import org.parabot.core.ui.Logger;
import org.parabot.environment.api.utils.Filter;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
public class DSceneObjectsGroundItems extends AbstractDebugger {
private boolean enabled;
@Override
public void paint(Graphics g) {
PaintDebugger p = Context.getInstance().getPaintDebugger();
p.addLine("Ground Items: " + getGroundItems().length);
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void toggle() {
enabled = !enabled;
if (enabled) {
SceneObject[] objects = getGroundItems();
if (objects == null || objects.length == 0) {
Logger.addMessage("There are no GameObjects around you.");
return;
}
java.util.List<SceneObject> objs = Arrays.asList(objects);
Collections.sort(objs, DSceneObjects.SCENE_OBJECT_COMPARATOR_DISTANCE);
objects = objs.toArray(new SceneObject[0]);
for (int i = objects.length - 1; i >= 0; i--) {
System.out.println(
" ID: " + objects[i].getId() +
" UID: " + objects[i].getHash() +
" Location: " + objects[i].getLocation() +
" Distance: " + objects[i].distanceTo());
}
}
}
private SceneObject[] getGroundItems() {
return SceneObjects.getSceneObjects(new Filter<SceneObject>() {
@Override
public boolean accept(SceneObject sceneObject) {
return sceneObject.getType() == SceneObject.TYPE_GROUNDITEM;
}
});
}
}
@@ -0,0 +1,63 @@
package org.rev317.min.debug;
import org.parabot.core.Context;
import org.parabot.core.paint.AbstractDebugger;
import org.parabot.core.paint.PaintDebugger;
import org.parabot.core.ui.Logger;
import org.parabot.environment.api.utils.Filter;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
import java.util.Comparator;
public class DSceneObjectsInteractiveObj extends AbstractDebugger {
private boolean enabled;
@Override
public void paint(Graphics g) {
PaintDebugger p = Context.getInstance().getPaintDebugger();
p.addLine("Interactive Objects: " + getInteractiveObjects().length);
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void toggle() {
enabled = !enabled;
if (enabled) {
SceneObject[] objects = getInteractiveObjects();
if (objects == null || objects.length == 0) {
Logger.addMessage("There are no GameObjects around you.");
return;
}
java.util.List<SceneObject> objs = Arrays.asList(objects);
Collections.sort(objs, DSceneObjects.SCENE_OBJECT_COMPARATOR_DISTANCE);
objects = objs.toArray(new SceneObject[0]);
for (int i = objects.length - 1; i >= 0; i--) {
System.out.println(
" ID: " + objects[i].getId() +
" UID: " + objects[i].getHash() +
" Location: " + objects[i].getLocation() +
" Distance: " + objects[i].distanceTo());
}
}
}
private SceneObject[] getInteractiveObjects() {
return SceneObjects.getSceneObjects(new Filter<SceneObject>() {
@Override
public boolean accept(SceneObject sceneObject) {
return sceneObject.getType() == SceneObject.TYPE_INTERACTIVE;
}
});
}
}
@@ -0,0 +1,62 @@
package org.rev317.min.debug;
import org.parabot.core.Context;
import org.parabot.core.paint.AbstractDebugger;
import org.parabot.core.paint.PaintDebugger;
import org.parabot.core.ui.Logger;
import org.parabot.environment.api.utils.Filter;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
public class DSceneObjectsWallDec extends AbstractDebugger {
private boolean enabled;
@Override
public void paint(Graphics g) {
PaintDebugger p = Context.getInstance().getPaintDebugger();
p.addLine("Wall decorations: " + getWallDecorations().length);
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void toggle() {
enabled = !enabled;
if (enabled) {
SceneObject[] objects = getWallDecorations();
if (objects == null || objects.length == 0) {
Logger.addMessage("There are no GameObjects around you.");
return;
}
java.util.List<SceneObject> objs = Arrays.asList(objects);
Collections.sort(objs, DSceneObjects.SCENE_OBJECT_COMPARATOR_DISTANCE);
objects = objs.toArray(new SceneObject[0]);
for (int i = objects.length - 1; i >= 0; i--) {
System.out.println(
" ID: " + objects[i].getId() +
" UID: " + objects[i].getHash() +
" Location: " + objects[i].getLocation() +
" Distance: " + objects[i].distanceTo());
}
}
}
private SceneObject[] getWallDecorations() {
return SceneObjects.getNearest(new Filter<SceneObject>() {
@Override
public boolean accept(SceneObject sceneObject) {
return sceneObject.getType() == SceneObject.TYPE_WALLDECORATION;
}
});
}
}
@@ -0,0 +1,62 @@
package org.rev317.min.debug;
import org.parabot.core.Context;
import org.parabot.core.paint.AbstractDebugger;
import org.parabot.core.paint.PaintDebugger;
import org.parabot.core.ui.Logger;
import org.parabot.environment.api.utils.Filter;
import org.rev317.min.api.methods.SceneObjects;
import org.rev317.min.api.wrappers.SceneObject;
import java.awt.*;
import java.util.Arrays;
import java.util.Collections;
public class DSceneObjectsWallObj extends AbstractDebugger {
private boolean enabled;
@Override
public void paint(Graphics g) {
PaintDebugger p = Context.getInstance().getPaintDebugger();
p.addLine("Wall objects: " + getWallObjects().length);
}
@Override
public boolean isEnabled() {
return enabled;
}
@Override
public void toggle() {
enabled = !enabled;
if (enabled) {
SceneObject[] objects = getWallObjects();
if (objects == null || objects.length == 0) {
Logger.addMessage("There are no GameObjects around you.");
return;
}
java.util.List<SceneObject> objs = Arrays.asList(objects);
Collections.sort(objs, DSceneObjects.SCENE_OBJECT_COMPARATOR_DISTANCE);
objects = objs.toArray(new SceneObject[0]);
for (int i = objects.length - 1; i >= 0; i--) {
System.out.println(
" ID: " + objects[i].getId() +
" UID: " + objects[i].getHash() +
" Location: " + objects[i].getLocation() +
" Distance: " + objects[i].distanceTo());
}
}
}
private SceneObject[] getWallObjects() {
return SceneObjects.getNearest(new Filter<SceneObject>() {
@Override
public boolean accept(SceneObject sceneObject) {
return sceneObject.getType() == SceneObject.TYPE_WALL;
}
});
}
}
+20 -2
View File
@@ -32,7 +32,13 @@ public class BotMenu implements ActionListener {
JMenuItem messages = newItem("Messages");
JMenuItem mouse = newItem("Mouse");
JMenuItem npcs = newItem("Npcs");
JMenuItem objects = newItem("Objects");
JMenu objects = new JMenu("Objects");
JMenuItem enableAllObject = newItem("Enable All Objects");
JMenuItem groundDecorations = newItem("Ground Decorations");
JMenuItem interactiveObjects = newItem("Interactive Objects");
JMenuItem wallObjects = newItem("Wall Objects");
JMenuItem wallDecorations = newItem("Wall Decorations");
JMenuItem groundItems = newItem("Ground Items");
JMenuItem players = newItem("Players");
JMenuItem skills = newItem("Skills");
@@ -47,7 +53,12 @@ public class BotMenu implements ActionListener {
debugger.addDebugger("Messages", new DMessages());
debugger.addDebugger("Mouse", new DMouse());
debugger.addDebugger("Npcs", new DNpcs());
debugger.addDebugger("Objects", new DSceneObjects());
debugger.addDebugger("Enable All Objects", new DSceneObjects());
debugger.addDebugger("Ground Decorations", new DSceneObjectsGroundDec());
debugger.addDebugger("Interactive Objects", new DSceneObjectsInteractiveObj());
debugger.addDebugger("Wall Objects", new DSceneObjectsWallObj());
debugger.addDebugger("Wall Decorations", new DSceneObjectsWallDec());
debugger.addDebugger("Ground Items", new DSceneObjectsGroundItems());
debugger.addDebugger("Players", new DPlayers());
debugger.addDebugger("Skills", new DSkills());
@@ -64,6 +75,13 @@ public class BotMenu implements ActionListener {
debug.add(mouse);
debug.add(npcs);
debug.add(objects);
objects.add(enableAllObject);
objects.addSeparator();
objects.add(groundDecorations);
objects.add(groundItems);
objects.add(wallDecorations);
objects.add(wallObjects);
objects.add(interactiveObjects);
debug.add(players);
debug.add(skills);