Renamed ServerDialog into NPCConversation and NPCDialog
Fixed an bug on register dialogs and quests via your own Mod
Added TextButton - Similar to normal Button but renders normal text, not centered
Improved DialogScreen.class
Added DefaultTargetType if your goal dont need a custom one
Added MoveToTargetTyp
Added new Server events for new goals
Improved registry. Automatically registered all Enums per Enum.class
Added a render to check what entity can give player a quest.
Added methods to check if an entity can give a quest
WIP - Quest Maker In-Game
Added RenderConfig for questmarker reload
Added new packets (There are a lot, check network-message)
Added MenuHandler for QuestMaker
Added staticc instance for Gson
Added Mathematic#vec3NumberBetween
Added Mathematic#simpleMatrixToVec3 - Convert Matrix4f to Vec3
Removed MCUtil constructor
Added MCUtil#nextQuestTracked to display next QuestTracked in HUD
Added MCUtil#findSlotMatchingItemStack to check if inventory has an concrete ItemStack with NBT
Removed MCUtilClient constructor
Fixed MCUtilClient#RenderLine methods
Added MCUtilClient#formatString to create a MutableComponent from 2 texts and 2 ChatFormattings
Added MCUtilClient#RenderEntity/Item to render an Item or Entity with added constant rotation
Added MCUtilClient#createButton as a replace of new button builder
Added GsonManager#writeJson to write a file into an existing path
Added QuestCommand#openQuestMaker (WIP for QuestMaker menu)
Mixed QuestApiMain & ClientEventHandlerRegister
Added a way to create NPC that gives quests to player without coding (With JSON)
Added a new IEnum inteface for register Dialog and Quest enums
Added EnumRegistry..class for automatically register Enums - Classes inside IEnum interfaces
Changed Enum.classes implementing IEnum Interfaces
Added additionalFields
Added LootTableReward
Added CollectNBTGoal
Added translatable text to quests (Dialogs left)
New HashMap on LocateHashMap for dialogPerEntityType & dialogPerCompoundTag
Created codec folders for filemanager classes
Created methods registerDatapack for dialogs, quests, npc (entity type and compound tag)
Created classes LoadDialogList & LoadTagDialogList for loading npc dialogs from datapack and resources
Changes on screens
Renamed classes on dialogoption folder
Command quest reward (Support for @p)
Multistage quests via quest reward
Changes on AbstractQuest:
-
Added completeQuest method per quest type instead of having a single class CompleteQuest
-
Added enhancedCompleteQuest method if your QuestType needs extra code, like remove items on complete quest
Datapack support:
- 4 new classes for JSON Listener with datapacks
Added packet OpenVanillaEntityScreen to change between dialog screen and entity default screen (if it has)
If npc has dialog screen and his own screen, player can open default screen directly with interact + shift
Added methods to MCUtil: - hasQuest (Checks if player has active or completed X quest)
Added methods to MCUtilClient for render text
Added reloadQuests command for reload resources folder (dev run + debug mode)
Added new events on ServerEvent:
-
loadDialogPerEntityType: Checks if there's any json in npc-entity_type_list that fetchs with interacted entity and display his dialogs
-
loadDialogPerCompoundTag: Checks if interacted entity has fetched tags with any json in npc-compound_tag_list and display his dialogs
Added new paths to QuestApiMain Added enums for Logic_Gates (Used on CompoundTagList)
Fixed quest log, data keep even if quest was deleted/completed
Fixed some minor bugs
Find UUID client and server side method
Remade events to not use packets
Created server handler
Fixed entity parameter on quest handler
Fixed bug on UserQuest not find on TrackedQuest Packet
Multiple quest types, rewards, requirements on json
Deleted ProtectEntity quest type
Cleaned code
Improved AddQuestHandler class
Deleted non-necessary parameters on RenderQuestTracker
Improved network message TrackedQuest, now is sending a single
String with the whole UserQuest data
Re-worked full json quest structure (UserQuest & ServerQuest)
Improved read data on some QuestHandler
BlockHitResult on MCUtil is commented
Re-made MoveToEvent to work with new json structure
Updated QuestLog screen
Changed LogoIcon
Added QuestLog and QuestTracked registries
Added config files for screens
QuestTracked divded on QuestTrackedScreen and QuestTrackedTimer
Fixed tracked quest data, on execute quest tracker it was changing
QuestTracked to another "randomly"
Fixed bug, if you had 2 quest with iron ingot as target it didn't update the data, so it automatically completed both
File manager to create folders per world and player
Screen Registry w/ DialogScreen (Soon more)
Added examples and registries:
Dialog Option (Player responses)
Dialog Requirement (Not the same that Quest Requirement)
Quest Requirement
Quest Reward
Quest Type w/ handlers
Target Type (Client side, only for screens)
Multiple utils for file management, server logic, client logic, timer, mathematics.
Quest commands with suggestions
Quest with timer
QuestLog changed background
QuestLog improved EditBox