Kotlin/Java split

This commit is contained in:
Ceikry
2021-03-12 00:16:27 -06:00
parent 76c7b16108
commit 7569a62c21
1201 changed files with 2817 additions and 3187 deletions
@@ -0,0 +1,71 @@
package rs09.game.ai.resource;
import core.game.node.entity.skill.gather.SkillingResource;
import core.game.node.entity.player.Player;
import rs09.game.ai.AIPlayer;
import core.game.system.task.Pulse;
import rs09.game.world.GameWorld;
import rs09.game.world.repository.Repository;
import java.util.List;
public class ResourceAIPActions {
public static List<AIPlayer> resource_players = null;
protected SkillingResource resource;
public static void syncBotThread(final Player player) {
if (resource_players == null || resource_players.size() == 0) {
return;
}
for (int aip_index = 0; aip_index < resource_players.size(); aip_index++) {
final AIPlayer bot = resource_players.get(aip_index);
GameWorld.getPulser().submit(new Pulse(1, bot) {
int ticks;
int ov;
@Override
public boolean pulse() {
/*if (bot.getInventory().freeSlots() < 1) {
//flee(bot);
return true;
}*/
//Inactivity logout timer.
if (ticks++ == 5000/* && bot.getWalkingQueue().getQueue().isEmpty()*/) {
AIPlayer.deregister(bot.getUid());
resource_players.remove(bot);
return true;
}
if (ov++ >= 3) {
chopTree(bot);
ov = 0;
}
// ov = 0;
System.out.println("ResourceAIPActions" + ov);
return false;
}
});
}
}
private static boolean chopTree(final AIPlayer bot) {
/*for (GameObject[] o : RegionManager.forId(bot.getLocation().getRegionId()).getPlanes()[0].getObjects()) {
for (GameObject obj : o) {
if (obj != null) {
for (SkillingResource r : SkillingResource.values()) {
if (obj.getId() == r.getId()) {
Pathfinder.find(bot, obj).walk(bot);
bot.sendChat("WE CHOPPIN");
}
}
}
}
}*/
bot.attack(Repository.getNpcs().get(106));
// Pulse pulse = new GatheringSkillPulse(bot, node);
// bot.getPulseManager().run(new GatheringSkillPulse(bot, node));
// pulse.start();
return true;
}
}
@@ -0,0 +1,168 @@
package rs09.game.ai.resource;
import core.game.node.entity.player.Player;
import rs09.game.ai.resource.task.ResourceTask;
import rs09.game.ai.resource.task.ResourceTasks;
import core.game.system.task.Pulse;
import rs09.game.world.GameWorld;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
/**
* Package -> org.keldagrim.game.node.entity.player.ai.resource
* Created on -> 9/13/2016 @12:42 PM for 530
*
* @author Ethan Kyle Millard
*/
public class ResourceAIPManager {
private long time = 0;
private Player player;
private static Map<ResourceTask, Long> TASKS = new HashMap<>();
public ResourceAIPManager init() {
getTasks().put(ResourceTasks.WOODCUTTING.getResourceTask(), 0L);
return this;
}
public ResourceAIPManager runTask(Player player, String taskName) {
for (Map.Entry<ResourceTask, Long> entry : getTasks().entrySet()) {
if (entry.getKey().getTaskName().equalsIgnoreCase(taskName)) {
if (entry.getValue() != 0) {
message(player, "You have extended the task " + taskName + ".");
} else {
message(player, "You have activated the task " + taskName + ".");
}
}
entry.getKey().setTaskName(taskName);
entry.setValue(entry.getValue() + 70);
this.player = player;
}
return this;
}
public void reActivate(String name, long time) {
for (Map.Entry<ResourceTask, Long> entry : TASKS.entrySet()) {
if (entry.getKey().getTaskName().equalsIgnoreCase(name)) {
entry.setValue(time);
}
}
}
public ResourceAIPManager load(Player player) {
try {
Statement statement = GameWorld.getDatabaseManager().connections().get("global").createStatement();
ResultSet result = statement.executeQuery("SELECT * FROM `members` WHERE username='" + player.getUsername() + "'");
// Results result = new Results(GameWorld.getDatabaseManager().query("global", "SELECT * FROM `members` WHERE username='" + player.getUsername() + "'"));
while (result.next()) {
String eventName = result.getString("taskName");
String eventTime = result.getString("taskTime");
reActivate(eventName, Long.valueOf(eventTime));
}
} catch (Exception e) {
e.printStackTrace();
}
return this;
}
public ResourceAIPManager save(Player player) {
/*if (GameWorld.getDatabaseManager().update("global", "DELETE FROM `members` WHERE worldid='" + GameWorld.getSettings().getWorldId() + "'") < 0)
return this;*/
System.out.println("Saving...");
Iterator<Map.Entry<ResourceTask, Long>> iterator = getTasks().entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<ResourceTask, Long> entry = iterator.next();
if (entry.getValue() <= 0)
continue;
StringBuilder query = new StringBuilder();
query.append("UPDATE `members` SET `taskName`='" + entry.getKey().getTaskName() + "',`taskTime`='" + entry.getValue() + "' WHERE `username`='" + player.getUsername() + "'");
System.out.println("ResourceAIPManager: " + query.toString());
GameWorld.getDatabaseManager().update("global", query.toString());
}
return this;
}
public void pulse(Player player) {
GameWorld.getPulser().submit(new Pulse(1) {
@Override
public boolean pulse() {
time++;
Iterator<Map.Entry<ResourceTask, Long>> iterator = getTasks().entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<ResourceTask, Long> entry = iterator.next();
if (entry.getValue() > 0) {
entry.setValue(entry.getValue() - 1);
if (entry.getValue() == 50)
message(player, "You have 30 minutes before " + entry.getKey().getTaskName() + " task ends.");
if (entry.getValue() <= 0) {
entry.getKey().setTime(0);
entry.getKey().reward(player, entry.getKey().getTaskName());
message(player, "The task " + entry.getKey().getTaskName() + " has now ended.");
save(player);
}
if (time == 50) {
entry.getKey().setTime(0);
save(player);
}
}
}
return false;
}
});
}
public ResourceAIPManager message(Player player, String message) {
return message(player, message, true, "<col=027fc7>");
}
public ResourceAIPManager message(Player player, String message, boolean tag) {
return message(player, message, tag, "<col=027fc7>");
}
public ResourceAIPManager notify(Player player, String message) {
return message(player, message, true, "<col=800000>");
}
public ResourceAIPManager notify(Player player, String message, boolean tag) {
return message(player, message, tag, "<col=800000>");
}
public ResourceAIPManager message(Player player, String message, boolean tag, String color) {
player.getPacketDispatch().sendMessage(color + (tag ? "[Resource Manager] - " : "") + message);
return this;
}
public static Map<ResourceTask, Long> getTasks() {
return TASKS;
}
private static ResourceAIPManager INSTANCE = new ResourceAIPManager();
public static ResourceAIPManager get() {
return INSTANCE;
}
public Player getPlayer() {
return player;
}
public void setPlayer(Player player) {
this.player = player;
}
}
@@ -0,0 +1,39 @@
package rs09.game.ai.resource.task;
import core.game.node.entity.player.Player;
/**
* Package -> org.keldagrim.game.node.entity.player.ai.resource.task
* Created on -> 9/13/2016 @12:44 PM for 530
*
* @author Ethan Kyle Millard
*/
public abstract class ResourceTask {
private String taskName;
private long time;
public ResourceTask(String taskName, long time) {
this.taskName = taskName;
this.time = time;
}
public abstract void reward(Player player, String eventName);
public long getTime() {
return time;
}
public void setTime(long time) {
this.time = time;
}
public String getTaskName() {
return taskName;
}
public void setTaskName(String taskName) {
this.taskName = taskName;
}
}
@@ -0,0 +1,49 @@
package rs09.game.ai.resource.task;
import core.game.node.entity.skill.Skills;
import core.game.node.entity.player.Player;
import core.game.node.item.Item;
import core.tools.RandomFunction;
/**
* Package -> org.keldagrim.game.node.entity.player.ai.resource.task
* Created on -> 9/13/2016 @12:43 PM for 530
*
* @author Ethan Kyle Millard
*/
public enum ResourceTasks {
WOODCUTTING(new ResourceTask("Willow Logs", 6000) {
@Override
public void reward(Player player, String eventName) {
if (player.getSkills().getLevel(Skills.WOODCUTTING) < 30) {
player.sendMessage(reqirementMessage());
return;
}
if (getTime() == 0) {
player.getBank().add(new Item(1519, RandomFunction.random(700, 1000)));
player.getSkills().addExperience(Skills.WOODCUTTING, RandomFunction.random(100000, 150000));
}
}
});
private ResourceTask resourceTask;
ResourceTasks(ResourceTask resourceTask) {
this.resourceTask = resourceTask;
}
public ResourceTask getResourceTask() {
return resourceTask;
}
public void setResourceTask(ResourceTask resourceTask) {
this.resourceTask = resourceTask;
}
private static String reqirementMessage() {
return "You do not meet the requirements for this task.";
}
}