From 8e731078d0ce79c2f191dcda9de8f11543d665b8 Mon Sep 17 00:00:00 2001 From: SeanOMik Date: Mon, 20 Jan 2020 22:37:42 -0600 Subject: [PATCH] Continue work on a better saving and loading --- .idea/workspace.xml | 109 +++++++++---- .../tamablefoxes/EntityTamableFox.java | 16 +- .../seanomik/tamablefoxes/TamableFoxes.java | 147 ++++++++++------- .../command/CommandSpawnTamableFox.java | 22 ++- .../seanomik/tamablefoxes/io/FileManager.java | 4 +- .../pathfinding/FoxPathfindGoalBeg.java | 4 +- .../pathfinding/FoxPathfindGoalBreed.java | 4 +- .../pathfinding/FoxPathfindGoalFleeSun.java | 4 +- .../pathfinding/FoxPathfindGoalFloat.java | 4 +- .../FoxPathfindGoalFollowOwner.java | 4 +- .../FoxPathfindGoalHurtByTarget.java | 4 +- .../pathfinding/FoxPathfindGoalLunge.java | 4 +- .../FoxPathfindGoalLungeUNKNOWN_USE.java | 4 +- .../FoxPathfindGoalMeleeAttack.java | 4 +- .../FoxPathfindGoalOwnerHurtByTarget.java | 4 +- .../FoxPathfindGoalOwnerHurtTarget.java | 4 +- .../FoxPathfindGoalPickBushes.java | 4 +- .../FoxPathfindGoalRandomStrollLand.java | 4 +- .../FoxPathfindGoalRandomTargetNonTamed.java | 4 +- .../pathfinding/FoxPathfindGoalSit.java | 4 +- .../tamablefoxes/sqlite/SQLiteHandler.java | 4 +- .../sqlite/SQLiteSetterGetter.java | 153 ++++++++++++------ src/main/resources/plugin.yml | 4 +- target/classes/plugin.yml | 4 +- .../compile/default-compile/createdFiles.lst | 44 ++--- .../compile/default-compile/inputFiles.lst | 40 ++--- 26 files changed, 383 insertions(+), 224 deletions(-) diff --git a/.idea/workspace.xml b/.idea/workspace.xml index 2352b31..28c1e46 100644 --- a/.idea/workspace.xml +++ b/.idea/workspace.xml @@ -2,15 +2,43 @@ + + - - + + + + + + + + + + + + + + + + + + + + + + + + @@ -22,17 +50,22 @@ + + + + + - + @@ -43,10 +76,10 @@ - + - + @@ -110,58 +143,80 @@ + + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + + + + + + + + - + - - + + - + + + + + + + file://$PROJECT_DIR$/src/main/java/net/seanomik/tamablefoxes/TamableFoxes.java + 440 + + + \ No newline at end of file diff --git a/src/main/java/net/seanomik/tamablefoxes/EntityTamableFox.java b/src/main/java/net/seanomik/tamablefoxes/EntityTamableFox.java index 6e784dc..ce7a4c2 100644 --- a/src/main/java/net/seanomik/tamablefoxes/EntityTamableFox.java +++ b/src/main/java/net/seanomik/tamablefoxes/EntityTamableFox.java @@ -1,7 +1,7 @@ -package net.seanomilk.tamablefoxes; +package net.seanomik.tamablefoxes; import net.minecraft.server.v1_15_R1.*; -import net.seanomilk.tamablefoxes.pathfinding.*; +import net.seanomik.tamablefoxes.pathfinding.*; import org.bukkit.ChatColor; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_15_R1.CraftWorld; @@ -30,11 +30,17 @@ public class EntityTamableFox extends EntityFox { private FoxPathfindGoalSit goalSit; private PathfinderGoalNearestAttackableTarget goalAttack; + public int databaseIndex = -1; + public EntityTamableFox(TamableFoxes plugin, EntityTypes entitytypes, World world) { super(EntityTypes.FOX, world); this.plugin = plugin; thisFox = (Fox) this.getBukkitEntity(); - plugin.getFoxUUIDs().put(this.getBukkitEntity().getUniqueId(), null); + + if (!plugin.getFoxUUIDs().containsKey(thisFox.getUniqueId())) { + plugin.getFoxUUIDs().put(this.getBukkitEntity().getUniqueId(), null); + } + this.setPersistent(); } @@ -153,7 +159,7 @@ public class EntityTamableFox extends EntityFox { public void setChosenName(String chosenName) { this.chosenName = chosenName; - plugin.getConfigFoxes().set("Foxes." + getUniqueID() + ".name", chosenName).save(); + //plugin.getConfigFoxes().set("Foxes." + getUniqueID() + ".name", chosenName).save(); updateFoxVisual(); } @@ -163,7 +169,7 @@ public class EntityTamableFox extends EntityFox { public void setOwner(EntityLiving owner) { this.owner = owner; - plugin.getConfigFoxes().set("Foxes." + getUniqueID() + ".owner", owner.getUniqueIDString()).save(); + //plugin.getConfigFoxes().set("Foxes." + getUniqueID() + ".owner", owner.getUniqueIDString()).save(); updateFoxVisual(); } diff --git a/src/main/java/net/seanomik/tamablefoxes/TamableFoxes.java b/src/main/java/net/seanomik/tamablefoxes/TamableFoxes.java index a2b11f9..ef9ad6f 100644 --- a/src/main/java/net/seanomik/tamablefoxes/TamableFoxes.java +++ b/src/main/java/net/seanomik/tamablefoxes/TamableFoxes.java @@ -1,11 +1,13 @@ -package net.seanomilk.tamablefoxes; +package net.seanomik.tamablefoxes; import com.google.common.collect.Maps; import com.mojang.datafixers.DataFixUtils; import com.mojang.datafixers.types.Type; -import net.seanomilk.tamablefoxes.command.CommandSpawnTamableFox; -import net.seanomilk.tamablefoxes.io.FileManager; +import net.seanomik.tamablefoxes.command.CommandSpawnTamableFox; +import net.seanomik.tamablefoxes.io.FileManager; import net.minecraft.server.v1_15_R1.*; +import net.seanomik.tamablefoxes.sqlite.SQLiteHandler; +import net.seanomik.tamablefoxes.sqlite.SQLiteSetterGetter; import net.wesjd.anvilgui.AnvilGUI; import org.bukkit.Chunk; import org.bukkit.Material; @@ -16,11 +18,9 @@ import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.craftbukkit.v1_15_R1.CraftWorld; import org.bukkit.craftbukkit.v1_15_R1.entity.CraftEntity; import org.bukkit.craftbukkit.v1_15_R1.entity.CraftFox; -import org.bukkit.craftbukkit.v1_15_R1.entity.CraftItem; import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer; import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack; import org.bukkit.entity.Entity; -import org.bukkit.entity.EntityType; import org.bukkit.entity.Fox; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -34,31 +34,29 @@ import org.bukkit.inventory.ItemStack; import org.bukkit.inventory.meta.ItemMeta; import org.bukkit.plugin.java.JavaPlugin; -import java.lang.reflect.InvocationTargetException; -import java.lang.reflect.Method; import java.util.Arrays; import java.util.List; import java.util.Map; import java.util.UUID; import java.util.stream.Collectors; +// @TODO: Add language.yml + public class TamableFoxes extends JavaPlugin implements Listener { public static final String ITEM_INSPECTOR_LORE = ChatColor.BLUE + "Tamable Fox Inspector"; public static final String TAG_TAME_FOX = "tameablefox"; - private FileManager fileManager; + private FileManager fileManager = new FileManager(this); - private Map foxUUIDs; + private Map foxUUIDs = Maps.newHashMap(); // FoxUUID, OwnerUUID private EntityTypes customType; - private boolean isOnLoad = true; - - private Map lookupCache; - - private FileManager.Config config, configFoxes; - - private Map waitingName; + private Map lookupCache = Maps.newHashMap(); + private List spawnedFoxes; + private FileManager.Config config;//, configFoxes; + public static SQLiteHandler sqLiteHandler = new SQLiteHandler(); + public static SQLiteSetterGetter sqLiteSetterGetter = new SQLiteSetterGetter(); @Override public void onEnable() { @@ -69,19 +67,17 @@ public class TamableFoxes extends JavaPlugin implements Listener { return; } - fileManager = new FileManager(this); + sqLiteHandler.connect(); + sqLiteSetterGetter.createTablesIfNotExist(); + this.config = fileManager.getConfig("config.yml"); this.config.copyDefaults(true).save(); - this.configFoxes = fileManager.getConfig("foxes.yml"); - this.configFoxes.copyDefaults(true).save(); + /*this.configFoxes = fileManager.getConfig("foxes.yml"); + this.configFoxes.copyDefaults(true).save();*/ this.getServer().getPluginManager().registerEvents(this, this); this.getCommand("spawntamablefox").setExecutor(new CommandSpawnTamableFox(this)); - this.foxUUIDs = Maps.newHashMap(); - this.lookupCache = Maps.newHashMap(); - this.waitingName = Maps.newHashMap(); - final Map> types = (Map>) DataConverterRegistry.a() .getSchema(DataFixUtils.makeKey(SharedConstants.getGameVersion().getWorldVersion())) .findChoiceType(DataConverterTypes.ENTITY).types(); @@ -96,11 +92,21 @@ public class TamableFoxes extends JavaPlugin implements Listener { @Override public void onDisable() { + try { + for (EntityTamableFox fox : spawnedFoxes) { + sqLiteSetterGetter.saveFox(fox); + fox.getBukkitEntity().remove(); + } + + getServer().getConsoleSender().sendMessage(getPrefix() + ChatColor.GREEN + "Saved all foxes successfully!"); + } catch (Exception e) { + getServer().getConsoleSender().sendMessage(getPrefix() + ChatColor.RED + "Failed to save foxes!"); + } } private void replaceFoxesOnLoad() { - int amountReplaced = 0; + /*int amountReplaced = 0; for (World world : Bukkit.getWorlds()) { Chunk[] loadedChunks = world.getLoadedChunks(); @@ -113,7 +119,7 @@ public class TamableFoxes extends JavaPlugin implements Listener { continue; EntityTamableFox tamableFox = (EntityTamableFox) spawnTamableFox(entity.getLocation(), ((CraftFox) entity).getHandle().getFoxType()); - final YamlConfiguration configuration = configFoxes.get(); + //final YamlConfiguration configuration = configFoxes.get(); // get living entity data if (configuration.isConfigurationSection("Foxes." + entity.getUniqueId())) { String owner = configuration.getString("Foxes." + entity.getUniqueId() + ".owner"); @@ -142,8 +148,10 @@ public class TamableFoxes extends JavaPlugin implements Listener { tamableFox.updateFox(); tamableFox.setAge(((CraftFox) entity).getAge()); ItemStack entityMouthItem = ((CraftFox) entity).getEquipment().getItemInMainHand(); + entityMouthItem.setAmount(1); + if (entityMouthItem.getType() != Material.AIR) { - tamableFox.setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(new ItemStack(entityMouthItem.getType(), 1))); + tamableFox.setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(entityMouthItem)); } else { tamableFox.setSlot(EnumItemSlot.MAINHAND, new net.minecraft.server.v1_15_R1.ItemStack(Items.AIR)); } @@ -153,8 +161,10 @@ public class TamableFoxes extends JavaPlugin implements Listener { tamableFox.setAge(((CraftFox) entity).getAge()); ItemStack entityMouthItem = ((CraftFox) entity).getEquipment().getItemInMainHand(); + entityMouthItem.setAmount(1); + if (entityMouthItem.getType() != Material.AIR) { - tamableFox.setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(new ItemStack(entityMouthItem.getType(), 1))); + tamableFox.setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(entityMouthItem)); } else { tamableFox.setSlot(EnumItemSlot.MAINHAND, new net.minecraft.server.v1_15_R1.ItemStack(Items.AIR)); } @@ -166,7 +176,9 @@ public class TamableFoxes extends JavaPlugin implements Listener { } } - configFoxes.save(); + configFoxes.save();*/ + + spawnedFoxes = sqLiteSetterGetter.spawnFoxes(); this.isOnLoad = false; } @@ -179,15 +191,15 @@ public class TamableFoxes extends JavaPlugin implements Listener { EntityFox fox = (EntityFox) spawnedEntity; fox.setFoxType(type); - configFoxes.get().set("Foxes." + spawnedEntity.getUniqueID() + ".owner", "none"); - fileManager.saveConfig("foxes.yml"); + /*configFoxes.get().set("Foxes." + spawnedEntity.getUniqueID() + ".owner", "none"); + fileManager.saveConfig("foxes.yml");*/ return fox; } @EventHandler public void onChunkLoad(ChunkLoadEvent event) { - if (isOnLoad) + /*if (isOnLoad) return; Chunk chunk = event.getChunk(); Entity[] entities = chunk.getEntities(); @@ -241,7 +253,7 @@ public class TamableFoxes extends JavaPlugin implements Listener { entity.remove(); } - } + }*/ } @@ -363,12 +375,11 @@ public class TamableFoxes extends JavaPlugin implements Listener { if(!text.equals("")) { tamableFox.setChosenName(text); plr.sendMessage(getPrefix() + ChatColor.GREEN + text + " is perfect!"); - return AnvilGUI.Response.close(); - } else { - return AnvilGUI.Response.text("Insert a name for your fox!"); } + + return AnvilGUI.Response.close(); }) - .preventClose() // Prevents the inventory from being closed + //.preventClose() // Prevents the inventory from being closed .text("Fox name") // Sets the text the GUI should start with .plugin(this) // Set the plugin instance .open(player); // Opens the GUI for the player provided @@ -420,7 +431,43 @@ public class TamableFoxes extends JavaPlugin implements Listener { spawnTamableFox(entity.getLocation(), foxType); event.setCancelled(true); } + } + @EventHandler + public void onEntityDeathEvent(EntityDeathEvent event) { + Entity entity = event.getEntity(); + if (!this.isTamableFox(entity)) { + + return; + } + + // Remove the fox from storage + lookupCache.remove(entity.getUniqueId()); + foxUUIDs.remove(entity.getUniqueId()); + spawnedFoxes.remove(entity.getUniqueId()); + + //sqLiteSetterGetter.removeFox(); + + + EntityTamableFox tamableFox = (EntityTamableFox) ((CraftEntity) entity).getHandle(); + + if (tamableFox.getOwner() != null) { + Player owner = ((EntityPlayer)tamableFox.getOwner()).getBukkitEntity(); + owner.sendMessage(getPrefix() + ChatColor.RED + tamableFox.getChosenName() + " was killed!"); + } + + sqLiteSetterGetter.removeFox(tamableFox); + + /*if (configFoxes.get().getConfigurationSection("Foxes").contains(entity.getUniqueId().toString())) { + *//*EntityTamableFox tamableFox = (EntityTamableFox) ((CraftEntity) entity).getHandle(); + if (tamableFox.getOwner() != null && tamableFox.getOwner() instanceof Player) { + Player owner = (Player) tamableFox.getOwner(); + owner.sendMessage(getPrefix() + ChatColor.RED + tamableFox.getChosenName() + " was killed!"); + }*//* + + configFoxes.get().set("Foxes." + entity.getUniqueId(), null); + fileManager.saveConfig("foxes.yml"); + }*/ } public Entity getEntityByUniqueId(UUID uniqueId) { @@ -445,26 +492,6 @@ public class TamableFoxes extends JavaPlugin implements Listener { return null; } - @EventHandler - public void onEntityDeathEvent(EntityDeathEvent event) { - Entity entity = event.getEntity(); - if (!this.isTamableFox(entity)) - return; - this.lookupCache.remove(entity.getUniqueId()); - foxUUIDs.remove(entity.getUniqueId()); - - if (configFoxes.get().getConfigurationSection("Foxes").contains(entity.getUniqueId().toString())) { - /*EntityTamableFox tamableFox = (EntityTamableFox) ((CraftEntity) entity).getHandle(); - if (tamableFox.getOwner() != null && tamableFox.getOwner() instanceof Player) { - Player owner = (Player) tamableFox.getOwner(); - owner.sendMessage(getPrefix() + ChatColor.RED + tamableFox.getChosenName() + " was killed!"); - }*/ - - configFoxes.get().set("Foxes." + entity.getUniqueId(), null); - fileManager.saveConfig("foxes.yml"); - } - } - public boolean isTamableFox(org.bukkit.entity.Entity entity) { return ((CraftEntity) entity).getHandle().getClass().getName().contains("TamableFox") || ((CraftEntity) entity).getHandle() instanceof EntityTamableFox; @@ -483,9 +510,9 @@ public class TamableFoxes extends JavaPlugin implements Listener { return config; } - public FileManager.Config getConfigFoxes() { + /*public FileManager.Config getConfigFoxes() { return configFoxes; - } + }*/ public EntityTypes getCustomType() { return customType; @@ -495,6 +522,10 @@ public class TamableFoxes extends JavaPlugin implements Listener { return foxUUIDs; } + public List getSpawnedFoxes() { + return spawnedFoxes; + } + public static String getPrefix() { //return ChatColor.translateAlternateColorCodes('&', (String) config.get("prefix")); return ChatColor.RED + "[Tamable Foxes] "; diff --git a/src/main/java/net/seanomik/tamablefoxes/command/CommandSpawnTamableFox.java b/src/main/java/net/seanomik/tamablefoxes/command/CommandSpawnTamableFox.java index 69781f3..0d08cf8 100644 --- a/src/main/java/net/seanomik/tamablefoxes/command/CommandSpawnTamableFox.java +++ b/src/main/java/net/seanomik/tamablefoxes/command/CommandSpawnTamableFox.java @@ -1,11 +1,11 @@ -package net.seanomilk.tamablefoxes.command; +package net.seanomik.tamablefoxes.command; -import net.seanomilk.tamablefoxes.TamableFoxes; +import net.seanomik.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.TamableFoxes; import net.minecraft.server.v1_15_R1.EntityFox; import org.bukkit.ChatColor; import org.bukkit.Material; import org.bukkit.command.Command; -import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; import org.bukkit.entity.Player; @@ -41,12 +41,18 @@ public class CommandSpawnTamableFox implements TabExecutor { if (args.length != 0) { switch (args[0]) { case "red": - plugin.spawnTamableFox(player.getLocation(), EntityFox.Type.RED); + EntityTamableFox fox = (EntityTamableFox) plugin.spawnTamableFox(player.getLocation(), EntityFox.Type.RED); + plugin.getSpawnedFoxes().add(fox); + plugin.sqLiteSetterGetter.saveFox(fox); + player.sendMessage(plugin.getPrefix() + ChatColor.RESET + "Spawned a " + ChatColor.RED + "Red" + ChatColor.WHITE + " fox."); break; case "snow": - plugin.spawnTamableFox(player.getLocation(), EntityFox.Type.SNOW); - player.sendMessage(plugin.getPrefix() + ChatColor.RESET + "Spawned a Snow fox."); + EntityTamableFox spawnedFox = (EntityTamableFox) plugin.spawnTamableFox(player.getLocation(), EntityFox.Type.SNOW); + plugin.getSpawnedFoxes().add(spawnedFox); + plugin.sqLiteSetterGetter.saveFox(spawnedFox); + + player.sendMessage(plugin.getPrefix() + ChatColor.RESET + "Spawned a " + ChatColor.AQUA + "Snow" + ChatColor.WHITE + " fox."); break; case "verbose": player.sendMessage(plugin.getFoxUUIDs().toString()); @@ -60,7 +66,7 @@ public class CommandSpawnTamableFox implements TabExecutor { if (player.getInventory().getItemInMainHand().getType() == Material.AIR) { player.getInventory().setItemInMainHand(itemStack); - player.sendMessage(plugin.getPrefix() + ChatColor.GREEN + "Given Inspector item."); + player.sendMessage(plugin.getPrefix() + ChatColor.GREEN + "Gave Inspector item."); } else if (player.getInventory().firstEmpty() == -1) { player.sendMessage(plugin.getPrefix() + ChatColor.RED + "Your inventory is full!"); } else { @@ -70,7 +76,7 @@ public class CommandSpawnTamableFox implements TabExecutor { break; case "reload": plugin.getMainConfig().reload(); - plugin.getConfigFoxes().reload(); + //plugin.getConfigFoxes().reload(); player.sendMessage(plugin.getPrefix() + ChatColor.GREEN + "Reloaded."); break; default: diff --git a/src/main/java/net/seanomik/tamablefoxes/io/FileManager.java b/src/main/java/net/seanomik/tamablefoxes/io/FileManager.java index 18b7a7d..a771998 100644 --- a/src/main/java/net/seanomik/tamablefoxes/io/FileManager.java +++ b/src/main/java/net/seanomik/tamablefoxes/io/FileManager.java @@ -1,7 +1,7 @@ -package net.seanomilk.tamablefoxes.io; +package net.seanomik.tamablefoxes.io; import com.google.common.collect.Maps; -import net.seanomilk.tamablefoxes.TamableFoxes; +import net.seanomik.tamablefoxes.TamableFoxes; import org.bukkit.configuration.file.YamlConfiguration; import java.io.File; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBeg.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBeg.java index c2e3a8d..cd8d69f 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBeg.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBeg.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.*; import java.util.EnumSet; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBreed.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBreed.java index 03f0282..0a96b94 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBreed.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalBreed.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.*; import org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory; import org.bukkit.event.entity.CreatureSpawnEvent; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFleeSun.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFleeSun.java index bbbf9cb..b30786f 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFleeSun.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFleeSun.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.BlockPosition; import net.minecraft.server.v1_15_R1.PathfinderGoalFleeSun; import net.minecraft.server.v1_15_R1.WorldServer; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFloat.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFloat.java index 3d98611..6f80acd 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFloat.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFloat.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.PathfinderGoalFloat; import java.lang.reflect.InvocationTargetException; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFollowOwner.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFollowOwner.java index 9e447cf..46cc35d 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFollowOwner.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalFollowOwner.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.*; import org.bukkit.Location; import org.bukkit.craftbukkit.v1_15_R1.entity.CraftEntity; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalHurtByTarget.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalHurtByTarget.java index 42ac510..61bb279 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalHurtByTarget.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalHurtByTarget.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.*; import org.bukkit.event.entity.EntityTargetEvent.TargetReason; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLunge.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLunge.java index f6136ea..a95c24e 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLunge.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLunge.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.*; import java.lang.reflect.Field; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLungeUNKNOWN_USE.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLungeUNKNOWN_USE.java index e17be8c..76d2972 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLungeUNKNOWN_USE.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalLungeUNKNOWN_USE.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.Entity; import net.minecraft.server.v1_15_R1.EntityFox; import net.minecraft.server.v1_15_R1.EntityLiving; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalMeleeAttack.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalMeleeAttack.java index 6357f36..5a3445c 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalMeleeAttack.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalMeleeAttack.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.EntityLiving; import net.minecraft.server.v1_15_R1.PathfinderGoalMeleeAttack; import net.minecraft.server.v1_15_R1.SoundEffects; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtByTarget.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtByTarget.java index ca3c922..b360a43 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtByTarget.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtByTarget.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.EntityLiving; import net.minecraft.server.v1_15_R1.PathfinderGoalTarget; import net.minecraft.server.v1_15_R1.PathfinderTargetCondition; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtTarget.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtTarget.java index 23833a8..b205318 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtTarget.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalOwnerHurtTarget.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.EntityLiving; import net.minecraft.server.v1_15_R1.PathfinderGoalTarget; import net.minecraft.server.v1_15_R1.PathfinderTargetCondition; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalPickBushes.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalPickBushes.java index a267cd3..567c5cc 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalPickBushes.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalPickBushes.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.*; import org.bukkit.craftbukkit.v1_15_R1.event.CraftEventFactory; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomStrollLand.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomStrollLand.java index b465875..ad1f434 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomStrollLand.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomStrollLand.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.PathfinderGoalRandomStroll; import net.minecraft.server.v1_15_R1.RandomPositionGenerator; import net.minecraft.server.v1_15_R1.Vec3D; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomTargetNonTamed.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomTargetNonTamed.java index aa1e08f..be17afe 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomTargetNonTamed.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalRandomTargetNonTamed.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.EntityLiving; import net.minecraft.server.v1_15_R1.PathfinderGoalNearestAttackableTarget; diff --git a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalSit.java b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalSit.java index 91431dc..efcbdfc 100644 --- a/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalSit.java +++ b/src/main/java/net/seanomik/tamablefoxes/pathfinding/FoxPathfindGoalSit.java @@ -1,6 +1,6 @@ -package net.seanomilk.tamablefoxes.pathfinding; +package net.seanomik.tamablefoxes.pathfinding; -import net.seanomilk.tamablefoxes.EntityTamableFox; +import net.seanomik.tamablefoxes.EntityTamableFox; import net.minecraft.server.v1_15_R1.EntityLiving; import net.minecraft.server.v1_15_R1.PathfinderGoal; diff --git a/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteHandler.java b/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteHandler.java index 3937fde..41db155 100644 --- a/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteHandler.java +++ b/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteHandler.java @@ -1,4 +1,4 @@ -package net.seanomik.tamablefoxes.sqllite; +package net.seanomik.tamablefoxes.sqlite; import net.seanomik.tamablefoxes.TamableFoxes; import org.bukkit.Bukkit; @@ -18,7 +18,7 @@ public class SQLiteHandler { String url = "jdbc:sqlite:" + baseLoc + "plugins/TamableFoxes/foxes.db"; connection = DriverManager.getConnection(url); - Bukkit.getConsoleSender().sendMessage(TamableFoxes.getPrefix() + "Connection to SQLite has been established."); + //Bukkit.getConsoleSender().sendMessage(TamableFoxes.getPrefix() + "Connection to SQLite has been established."); } catch (SQLException e) { e.printStackTrace(); } diff --git a/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteSetterGetter.java b/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteSetterGetter.java index f099499..c00ca4d 100644 --- a/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteSetterGetter.java +++ b/src/main/java/net/seanomik/tamablefoxes/sqlite/SQLiteSetterGetter.java @@ -1,20 +1,28 @@ -package net.seanomik.tamablefoxes.sqllite; +package net.seanomik.tamablefoxes.sqlite; +import net.minecraft.server.v1_15_R1.BlockPosition; +import net.minecraft.server.v1_15_R1.EntityFox; import net.minecraft.server.v1_15_R1.EnumItemSlot; import net.seanomik.tamablefoxes.EntityTamableFox; import net.seanomik.tamablefoxes.TamableFoxes; +import org.bukkit.Bukkit; +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.OfflinePlayer; +import org.bukkit.craftbukkit.v1_15_R1.CraftWorld; +import org.bukkit.craftbukkit.v1_15_R1.entity.CraftPlayer; +import org.bukkit.craftbukkit.v1_15_R1.inventory.CraftItemStack; +import org.bukkit.inventory.ItemStack; import org.bukkit.plugin.Plugin; import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.time.LocalDateTime; -import java.time.format.DateTimeFormatter; import java.util.*; public class SQLiteSetterGetter { - public static Plugin plugin; + public static TamableFoxes plugin; public static SQLiteHandler sqLiteHandler; public void createTablesIfNotExist() { @@ -24,9 +32,11 @@ public class SQLiteSetterGetter { String foxesTable = "CREATE TABLE IF NOT EXISTS `foxes` ( " + - "`OWNER_UUID` TEXT PRIMARY KEY , " + - "`NAME` TEXT NOT NULL , " + + "`INDEX` INTEGER PRIMARY KEY AUTOINCREMENT , " + + "`OWNER_UUID` TEXT NOT NULL , " + + "`NAME` TEXT , " + "`LOCATION` TEXT NOT NULL , " + + "`TYPE` TEXT NOT NULL , " + "`MOUTH_ITEM` TEXT NOT NULL);"; try { @@ -57,14 +67,96 @@ public class SQLiteSetterGetter { plugin = TamableFoxes.getPlugin(TamableFoxes.class); try { sqLiteHandler.connect(); - PreparedStatement statement = sqLiteHandler.getConnection() - .prepareStatement("INSERT INTO foxes (OWNER_UUID,NAME,LOCATION,MOUTH_ITEM) VALUES (?,?,?,?)"); - statement.setString(1, (fox.getOwner().getUniqueID() == null) ? "none" : fox.getOwner().getUniqueID().toString()); + PreparedStatement statement = sqLiteHandler.getConnection().prepareStatement("INSERT INTO foxes (OWNER_UUID,NAME,LOCATION,TYPE,MOUTH_ITEM) VALUES (?,?,?,?,?)"); + if (fox.databaseIndex != -1) { + statement = sqLiteHandler.getConnection().prepareStatement("UPDATE foxes SET OWNER_UUID=?, NAME=?, LOCATION=?, TYPE=?, MOUTH_ITEM=? WHERE INDEX=" + fox.databaseIndex); + } + + statement.setString(1, (fox.getOwner() == null) ? "none" : fox.getOwner().getUniqueID().toString()); statement.setString(2, fox.getChosenName()); - statement.setString(3, fox.locX() + "," + fox.locY() + "," + fox.locY()); - statement.setString(4, fox.getEquipment(EnumItemSlot.MAINHAND).toString()); + statement.setString(3, fox.getWorld().worldData.getName() + "," + fox.locX() + "," + fox.locY() + "," + fox.locY()); + statement.setString(4, fox.getFoxType().toString()); + statement.setString(5, fox.getEquipment(EnumItemSlot.MAINHAND).toString().toUpperCase().substring(fox.getEquipment(EnumItemSlot.MAINHAND).toString().indexOf(' ')+1)); + statement.executeUpdate(); + + ResultSet result = statement.getGeneratedKeys(); + if (result.next()) { + fox.databaseIndex = result.getInt("INDEX"); + } + } catch (SQLException e) { + e.printStackTrace(); + } finally { + if (sqLiteHandler.getConnection() != null) { + try { + sqLiteHandler.getConnection().close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + } + + public void saveFoxes(List foxes) { // @TODO: Optimize + for (EntityTamableFox fox : foxes) { + saveFox(fox); + } + } + + public List spawnFoxes() { + plugin = TamableFoxes.getPlugin(TamableFoxes.class); + try { + sqLiteHandler.connect(); + PreparedStatement statement = sqLiteHandler.getConnection().prepareStatement("SELECT * FROM foxes"); + ResultSet results = statement.executeQuery(); + + List foxList = new ArrayList<>(); + while (results.next()) { // Loop through each row + List locationList = Arrays.asList(results.getString("LOCATION").split("\\s*,\\s*")); + Location loc = new Location(Bukkit.getWorld(locationList.get(0)), Double.parseDouble(locationList.get(1)), Double.parseDouble(locationList.get(2)), Double.parseDouble(locationList.get(3))); + + EntityTamableFox spawnedFox = (EntityTamableFox) plugin.spawnTamableFox(loc, EntityFox.Type.valueOf(results.getString("TYPE"))); + spawnedFox.databaseIndex = results.getInt("INDEX"); + spawnedFox.setSlot(EnumItemSlot.MAINHAND, CraftItemStack.asNMSCopy(new ItemStack(Material.valueOf(results.getString("MOUTH_ITEM")), 1))); + + if (!results.getString("OWNER_UUID").equals("none")) { + UUID ownerUUID = UUID.fromString(results.getString("OWNER_UUID")); + + OfflinePlayer owner = plugin.getServer().getOfflinePlayer(ownerUUID); + if (owner.isOnline()) { + spawnedFox.setOwner(((CraftPlayer) owner.getPlayer()).getHandle()); + } + + plugin.getFoxUUIDs().put(spawnedFox.getUniqueID(), ownerUUID); + spawnedFox.setChosenName(results.getString("NAME")); + } + + foxList.add(spawnedFox); + } + + return foxList; + } catch (SQLException e) { + e.printStackTrace(); + } finally { + if (sqLiteHandler.getConnection() != null) { + try { + sqLiteHandler.getConnection().close(); + } catch (SQLException e) { + e.printStackTrace(); + } + } + } + return null; + } + + public void removeFox(int databaseID) { + plugin = TamableFoxes.getPlugin(TamableFoxes.class); + try { + sqLiteHandler.connect(); + + PreparedStatement statement = sqLiteHandler.getConnection().prepareStatement("DELETE FROM foxes WHERE INDEX=" + databaseID); + statement.setInt(1, databaseID); statement.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); @@ -79,42 +171,7 @@ public class SQLiteSetterGetter { } } - public List spawnFoxes() { - plugin = Dexun.getPlugin(Dexun.class); - try { - sqLiteHandler.connect(); - PreparedStatement statement = sqLiteHandler.getConnection() - .prepareStatement("SELECT * FROM foxes"); - ResultSet results = statement.executeQuery(); - results.next(); - - String banReasonsSTR = results.getString("REASONS"); - String banDatesSTR = results.getString("ON_DATES"); - String banEndDatesSTR = results.getString("END_DATES"); - String unbanReasonsSTR = results.getString("UNBAN_REASONS"); - - List banReasons = new LinkedList(Arrays.asList(banReasonsSTR.substring(1).split(","))); - List banDates = new LinkedList(Arrays.asList(banDatesSTR.substring(1).split(","))); - List banEndDates = new LinkedList(Arrays.asList(banEndDatesSTR.substring(1).split(","))); - List unbanReasons = new LinkedList(Arrays.asList(unbanReasonsSTR.substring(1).split(","))); - - List> bans = new ArrayList>(); - bans.add(banReasons); - bans.add(banDates); - bans.add(banEndDates); - bans.add(unbanReasons); - - return bans; - } catch (SQLException e) { - e.printStackTrace(); - } finally { - if (sqLiteHandler.getConnection() != null) { - try { - sqLiteHandler.getConnection().close(); - } catch (SQLException e) { - e.printStackTrace(); - } - } - } + public void removeFox(EntityTamableFox fox) { + removeFox(fox.databaseIndex); } } diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 5335dd1..22fdcb4 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: TamableFoxes -version: 1.4-RELEASE -main: net.seanomilk.tamablefoxes.TamableFoxes +version: 1.4.1-SNAPSHOT +main: net.seanomik.tamablefoxes.TamableFoxes api-version: 1.15 load: POSTWORLD description: Modified version of TamableFoxes for 1.15.1. diff --git a/target/classes/plugin.yml b/target/classes/plugin.yml index 5335dd1..22fdcb4 100644 --- a/target/classes/plugin.yml +++ b/target/classes/plugin.yml @@ -1,6 +1,6 @@ name: TamableFoxes -version: 1.4-RELEASE -main: net.seanomilk.tamablefoxes.TamableFoxes +version: 1.4.1-SNAPSHOT +main: net.seanomik.tamablefoxes.TamableFoxes api-version: 1.15 load: POSTWORLD description: Modified version of TamableFoxes for 1.15.1. diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst index ff3a787..79a4eca 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -1,21 +1,23 @@ -net\seanomilk\tamablefoxes\EntityTamableFox.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalBreed.class -net\seanomilk\tamablefoxes\TamableFoxes.class -net\seanomilk\tamablefoxes\command\CommandSpawnTamableFox.class -net\seanomilk\tamablefoxes\io\FileManager$Config.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalFloat.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalFollowOwner.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalMeleeAttack.class -net\seanomilk\tamablefoxes\io\FileManager.class -net\seanomilk\tamablefoxes\EntityTamableFox$UpdateFoxRunnable.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalRandomTargetNonTamed.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalBeg.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalPickBushes.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtByTarget.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalFleeSun.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalSit.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalLungeUNKNOWN_USE.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalLunge.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalHurtByTarget.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalRandomStrollLand.class -net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtTarget.class +net\seanomik\tamablefoxes\EntityTamableFox.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtByTarget.class +net\seanomik\tamablefoxes\io\FileManager$Config.class +net\seanomik\tamablefoxes\command\CommandSpawnTamableFox.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalSit.class +net\seanomik\tamablefoxes\sqlite\SQLiteSetterGetter.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalBeg.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalRandomStrollLand.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalLunge.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalFloat.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalMeleeAttack.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalRandomTargetNonTamed.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalFleeSun.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtTarget.class +net\seanomik\tamablefoxes\io\FileManager.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalBreed.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalFollowOwner.class +net\seanomik\tamablefoxes\sqlite\SQLiteHandler.class +net\seanomik\tamablefoxes\TamableFoxes.class +net\seanomik\tamablefoxes\EntityTamableFox$UpdateFoxRunnable.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalLungeUNKNOWN_USE.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalPickBushes.class +net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalHurtByTarget.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index e0a9b3a..c39e1d8 100644 --- a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -1,19 +1,21 @@ -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalRandomTargetNonTamed.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\command\CommandSpawnTamableFox.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalLunge.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtTarget.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalRandomStrollLand.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\EntityTamableFox.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalHurtByTarget.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtByTarget.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalPickBushes.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalFollowOwner.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalSit.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalFloat.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\io\FileManager.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalFleeSun.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalBeg.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalBreed.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalLungeUNKNOWN_USE.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\pathfinding\FoxPathfindGoalMeleeAttack.java -D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomilk\tamablefoxes\TamableFoxes.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalRandomStrollLand.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalRandomTargetNonTamed.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalLunge.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\command\CommandSpawnTamableFox.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\TamableFoxes.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalBeg.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalPickBushes.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalBreed.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalMeleeAttack.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\EntityTamableFox.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalFleeSun.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\sqlite\SQLiteHandler.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalLungeUNKNOWN_USE.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtByTarget.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalOwnerHurtTarget.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalSit.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\sqlite\SQLiteSetterGetter.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalFloat.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\io\FileManager.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalHurtByTarget.java +D:\Code\java\spigotPlugins\myPlugins\GitTamableFoxes\src\main\java\net\seanomik\tamablefoxes\pathfinding\FoxPathfindGoalFollowOwner.java