From 1183f7d91b8205b8dc957b2ad4de2b9fb695e8d4 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 11:19:36 -0400 Subject: [PATCH 1/7] Fix NullPointer Crash with Carpentry Search bench and BLANK recipes --- .../java/noppes/npcs/client/gui/player/GuiRecipes.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java b/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java index 8c4950a91..b4b8659d9 100644 --- a/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java +++ b/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java @@ -72,7 +72,12 @@ public class GuiRecipes extends GuiNPCInterface } List list = new ArrayList(); for(IRecipe recipe : RecipeController.instance.anvilRecipes.values()){ - // System.out.println(recipe.getRecipeOutput().getDisplayName()); + if(recipe.getRecipeOutput() == null) + continue; + + if(recipe.getRecipeOutput().getDisplayName() == null) + continue; + if(recipe.getRecipeOutput().getDisplayName().toLowerCase().contains(search.toLowerCase())) list.add(recipe); } From 6f7ea7340c1f99daab910ec8e7543db1d3af042e Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 11:24:25 -0400 Subject: [PATCH 2/7] Remove Blank Named recipes and items --- src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java b/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java index b4b8659d9..f76e28bb9 100644 --- a/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java +++ b/src/main/java/noppes/npcs/client/gui/player/GuiRecipes.java @@ -78,6 +78,9 @@ public class GuiRecipes extends GuiNPCInterface if(recipe.getRecipeOutput().getDisplayName() == null) continue; + if(recipe.getRecipeOutput().getDisplayName().trim().equals("")) + continue; + if(recipe.getRecipeOutput().getDisplayName().toLowerCase().contains(search.toLowerCase())) list.add(recipe); } From fa7fb7f73432d79f95e174dbcf4070055de3fd7e Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 11:57:39 -0400 Subject: [PATCH 3/7] ??? Fix Quest Cooldown Times ??? --- src/main/java/kamkeel/QuestCommand.java | 10 ++++++++-- .../noppes/npcs/controllers/data/PlayerQuestData.java | 7 ++++++- .../java/noppes/npcs/scripted/entity/ScriptPlayer.java | 7 ++++++- 3 files changed, 20 insertions(+), 4 deletions(-) diff --git a/src/main/java/kamkeel/QuestCommand.java b/src/main/java/kamkeel/QuestCommand.java index 278f12518..2e51306aa 100644 --- a/src/main/java/kamkeel/QuestCommand.java +++ b/src/main/java/kamkeel/QuestCommand.java @@ -5,8 +5,10 @@ import java.util.List; import net.minecraft.command.CommandException; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayerMP; +import net.minecraft.server.MinecraftServer; import noppes.npcs.Server; import noppes.npcs.constants.EnumPacketClient; +import noppes.npcs.constants.EnumQuestRepeat; import noppes.npcs.controllers.DialogController; import noppes.npcs.controllers.PlayerDataController; import noppes.npcs.controllers.QuestController; @@ -95,8 +97,12 @@ public class QuestCommand extends CommandKamkeelBase { if(playerdata.questData.activeQuests.containsKey(questid)){ playerdata.questData.activeQuests.remove(questid); } - - playerdata.questData.finishedQuests.put(questid, System.currentTimeMillis()); + + if(quest.repeat == EnumQuestRepeat.RLDAILY || quest.repeat == EnumQuestRepeat.RLWEEKLY) + playerdata.questData.finishedQuests.put(quest.id, System.currentTimeMillis()); + else + playerdata.questData.finishedQuests.put(quest.id, sender.getEntityWorld().getTotalWorldTime()); + playerdata.savePlayerDataOnFile(); if(playerdata.player != null){ Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.completed", quest.title); diff --git a/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java b/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java index 709a8a183..7dfc53fa2 100644 --- a/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java +++ b/src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java @@ -11,6 +11,7 @@ import noppes.npcs.api.handler.IPlayerQuestData; import noppes.npcs.api.handler.data.IQuest; import noppes.npcs.constants.EnumPacketClient; import noppes.npcs.constants.EnumQuestCompletion; +import noppes.npcs.constants.EnumQuestRepeat; import noppes.npcs.constants.EnumQuestType; import noppes.npcs.controllers.PlayerDataController; import noppes.npcs.controllers.QuestController; @@ -164,7 +165,11 @@ public class PlayerQuestData implements IPlayerQuestData { Quest quest = QuestController.instance.quests.get(id); if (quest == null) return; - finishedQuests.put(id, System.currentTimeMillis()); + + if(quest.repeat == EnumQuestRepeat.RLDAILY || quest.repeat == EnumQuestRepeat.RLWEEKLY) + finishedQuests.put(quest.id, System.currentTimeMillis()); + else + finishedQuests.put(quest.id, parent.player.worldObj.getTotalWorldTime()); } public void stopQuest(int id) { diff --git a/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java b/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java index 5b7babab6..ecf5b35b7 100644 --- a/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java +++ b/src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java @@ -27,6 +27,7 @@ import noppes.npcs.api.item.IItemStack; import noppes.npcs.api.overlay.ICustomOverlay; import noppes.npcs.config.ConfigScript; import noppes.npcs.constants.EnumPacketClient; +import noppes.npcs.constants.EnumQuestRepeat; import noppes.npcs.constants.EnumQuestType; import noppes.npcs.containers.ContainerCustomGui; import noppes.npcs.controllers.*; @@ -270,7 +271,11 @@ public class ScriptPlayer extends ScriptLivingBase if (quest == null) return; PlayerData data = PlayerDataController.instance.getPlayerData(player); - data.questData.finishedQuests.put(id, System.currentTimeMillis()); + + if(quest.repeat == EnumQuestRepeat.RLDAILY || quest.repeat == EnumQuestRepeat.RLWEEKLY) + data.questData.finishedQuests.put(quest.id, System.currentTimeMillis()); + else + data.questData.finishedQuests.put(quest.id, player.worldObj.getTotalWorldTime()); } /** From 6859b2da479aaabe04680cd372267c2c6ff88a74 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 12:14:09 -0400 Subject: [PATCH 4/7] 1.8.2-beta --- build.gradle | 2 +- src/main/java/noppes/npcs/CustomNpcs.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build.gradle b/build.gradle index 85ad4cf23..9635a3d30 100644 --- a/build.gradle +++ b/build.gradle @@ -34,7 +34,7 @@ configurations { apply plugin: 'forge' -version = "1.8.1" +version = "1.8.2-beta" group= "com.kamkeel.customnpc-plus" // http://maven.apache.org/guides/mini/guide-naming-conventions.html archivesBaseName = "CustomNPC-Plus" diff --git a/src/main/java/noppes/npcs/CustomNpcs.java b/src/main/java/noppes/npcs/CustomNpcs.java index 4037a99d9..adb9903b2 100644 --- a/src/main/java/noppes/npcs/CustomNpcs.java +++ b/src/main/java/noppes/npcs/CustomNpcs.java @@ -35,7 +35,7 @@ import java.util.ArrayList; import java.util.Set; import java.util.UUID; -@Mod(modid = "customnpcs", name = "CustomNpcs", version = "1.8.1") +@Mod(modid = "customnpcs", name = "CustomNpcs", version = "1.8.2-beta") public class CustomNpcs { @SidedProxy(clientSide = "noppes.npcs.client.ClientProxy", serverSide = "noppes.npcs.CommonProxy") From 3cba19cea24dc2a2fdce28f0d0fb9c962a178693 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 13:19:53 -0400 Subject: [PATCH 5/7] Fix UUIDS not saving when spawning an NPC --- .../java/noppes/npcs/controllers/ServerCloneController.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/main/java/noppes/npcs/controllers/ServerCloneController.java b/src/main/java/noppes/npcs/controllers/ServerCloneController.java index d9b754e62..5666535ae 100644 --- a/src/main/java/noppes/npcs/controllers/ServerCloneController.java +++ b/src/main/java/noppes/npcs/controllers/ServerCloneController.java @@ -254,8 +254,6 @@ public class ServerCloneController implements ICloneHandler { nbttagcompound.removeTag("MovingPathNew"); nbttagcompound.removeTag("Pos"); nbttagcompound.removeTag("Riding"); - nbttagcompound.removeTag("UUIDMost"); - nbttagcompound.removeTag("UUIDLeast"); if(!nbttagcompound.hasKey("ModRev")) nbttagcompound.setInteger("ModRev", 1); From dd5ca106bc74f52c5e2ca8b9eb5462302819e563 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 16:45:25 -0400 Subject: [PATCH 6/7] Fix Quest Cooldown string results --- .../java/noppes/npcs/NoppesUtilServer.java | 28 +++++-------------- .../noppes/npcs/controllers/data/Quest.java | 6 ++-- 2 files changed, 10 insertions(+), 24 deletions(-) diff --git a/src/main/java/noppes/npcs/NoppesUtilServer.java b/src/main/java/noppes/npcs/NoppesUtilServer.java index cced40865..8a94ca9bf 100644 --- a/src/main/java/noppes/npcs/NoppesUtilServer.java +++ b/src/main/java/noppes/npcs/NoppesUtilServer.java @@ -799,35 +799,21 @@ public class NoppesUtilServer { long minutes = seconds / 60; long hours = minutes / 60; long days = hours / 24; - long months = days / 30; - long years = months / 12; - - months = months % 12; - days = days % 30; - hours = hours % 24; - minutes = minutes % 60; - seconds = seconds % 60; + seconds %= 60; + minutes %= 60; + hours %= 24; StringBuilder sb = new StringBuilder(); - if (years > 0) { - sb.append(years + " year(s) "); - } - if (months > 0) { - sb.append(months + " month(s) "); - } if (days > 0) { - sb.append(days + " day(s) "); + sb.append(days).append(" day").append(days == 1 ? "" : "s").append(", "); } if (hours > 0) { - sb.append(hours + " hour(s) "); + sb.append(hours).append(" hour").append(hours == 1 ? "" : "s").append(", "); } if (minutes > 0) { - sb.append(minutes + " minute(s) "); + sb.append(minutes).append(" minute").append(minutes == 1 ? "" : "s").append(", "); } - if (seconds > 0) { - sb.append(seconds + " second(s)"); - } - + sb.append(seconds).append(" second").append(seconds == 1 ? "" : "s"); return sb.toString(); } } diff --git a/src/main/java/noppes/npcs/controllers/data/Quest.java b/src/main/java/noppes/npcs/controllers/data/Quest.java index ee4eb0eab..b3f6e1237 100644 --- a/src/main/java/noppes/npcs/controllers/data/Quest.java +++ b/src/main/java/noppes/npcs/controllers/data/Quest.java @@ -148,11 +148,11 @@ public class Quest implements ICompatibilty, IQuest { switch (repeat) { case MCDAILY: - return Math.max(0, questTime + 24000 - player.worldObj.getTotalWorldTime()); + return Math.max(0, (questTime + 24000 - player.worldObj.getTotalWorldTime()) * 50); case MCWEEKLY: - return Math.max(0, questTime + 168000 - player.worldObj.getTotalWorldTime()); + return Math.max(0, (questTime + 168000 - player.worldObj.getTotalWorldTime()) * 50); case RLDAILY: - return Math.max(0, questTime + 86400000 - System.currentTimeMillis()); + return Math.max(0, questTime + 86400000 - System.currentTimeMillis()); case RLWEEKLY: return Math.max(0, questTime + 604800000 - System.currentTimeMillis()); } From 9ff341bd1764bd69996a6e003f81989b16fa31e7 Mon Sep 17 00:00:00 2001 From: Kam Date: Thu, 11 May 2023 16:58:03 -0400 Subject: [PATCH 7/7] Fix Quest Completion Message --- src/main/java/kamkeel/QuestCommand.java | 2 +- .../noppes/npcs/controllers/PlayerQuestController.java | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/main/java/kamkeel/QuestCommand.java b/src/main/java/kamkeel/QuestCommand.java index 2e51306aa..b21e590a0 100644 --- a/src/main/java/kamkeel/QuestCommand.java +++ b/src/main/java/kamkeel/QuestCommand.java @@ -59,7 +59,7 @@ public class QuestCommand extends CommandKamkeelBase { QuestData questdata = new QuestData(quest); playerdata.questData.activeQuests.put(questid, questdata); playerdata.savePlayerDataOnFile(); - if(playerdata.player != null){ + if(playerdata.player != null && questdata.sendAlerts){ Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.MESSAGE, "quest.newquest", quest.title); Server.sendData((EntityPlayerMP)playerdata.player, EnumPacketClient.CHAT, "quest.newquest", ": ", quest.title); } diff --git a/src/main/java/noppes/npcs/controllers/PlayerQuestController.java b/src/main/java/noppes/npcs/controllers/PlayerQuestController.java index a24e981bf..5a8024c64 100644 --- a/src/main/java/noppes/npcs/controllers/PlayerQuestController.java +++ b/src/main/java/noppes/npcs/controllers/PlayerQuestController.java @@ -60,17 +60,24 @@ public class PlayerQuestController { public static void setQuestFinished(Quest quest, EntityPlayer player){ PlayerData playerdata = PlayerDataController.instance.getPlayerData(player); PlayerQuestData data = playerdata.questData; + QuestData questData = data.activeQuests.get(quest.id); data.activeQuests.remove(quest.id); if(quest.repeat == EnumQuestRepeat.RLDAILY || quest.repeat == EnumQuestRepeat.RLWEEKLY) data.finishedQuests.put(quest.id, System.currentTimeMillis()); else data.finishedQuests.put(quest.id,player.worldObj.getTotalWorldTime()); + if(quest.repeat != EnumQuestRepeat.NONE && quest.type == EnumQuestType.Dialog){ QuestDialog questdialog = (QuestDialog) quest.questInterface; for(int dialog : questdialog.dialogs.values()){ playerdata.dialogData.dialogsRead.remove(dialog); } } + if (questData.sendAlerts) { + Server.sendData((EntityPlayerMP) player, EnumPacketClient.MESSAGE, "quest.completed", questData.quest.title); + Server.sendData((EntityPlayerMP) player, EnumPacketClient.CHAT, "quest.completed", ": ", questData.quest.title); + } + } public static boolean canQuestBeAccepted(Quest quest, EntityPlayer player){ if(quest == null)