Commit Graph
181 Commits
Author SHA1 Message Date
somehussar a2e0bb50b9 Apparently the import got removed. 2026-02-21 00:27:31 +01:00
somehussar c121d0c4e2 Fix missing spawndata. 2026-02-21 00:03:48 +01:00
Kam 2a1a5643d3 Potion Effect System + Manual and Remove Bulk 2026-02-14 04:04:13 -05:00
Kam d76f5d40a4 Prevent Passive Factions from taking Damage 2026-02-08 01:46:13 -05:00
Kam af02b0ab1d Various Fixes 2026-02-06 16:28:38 -05:00
Kam 55cd8cc5b3 Fix Rotation Locking 2026-02-06 03:34:45 -05:00
Kam 45a4313b70 Enhance ability system with position locking and duplicate name confirmation for presets 2026-02-04 21:50:39 -05:00
Kam 326626ad8e Better Fix to Lock Movement and Rotation Locking during Abilities. Fix Interupting on Projectile Abilities 2026-02-04 14:48:54 -05:00
Kam 38c0519c0a Refactor to Cleaner Class Setup 2026-01-29 14:19:57 -05:00
Kam d6d29613e8 Lock View Rotation 2026-01-26 19:03:48 -05:00
Kam a9b602713c Large Cleanup to Code Imports and Formatting 2026-01-22 23:07:38 -05:00
Kam 384b61832d Hitbox Fixes 2026-01-19 16:29:24 -05:00
Kam 166c8aa228 Ability Push 2026-01-09 15:29:00 -05:00
Claude 9b654621e8 Add attack speed check to NPC's attackEntityFrom before immunity check
The LivingAttackEvent handler was firing too late for NPCs because
EntityNPCInterface.attackEntityFrom() has its own immunity check that
runs BEFORE calling super (which fires LivingAttackEvent).

Now the attack speed bypass is checked directly in the NPC's
attackEntityFrom() method, before the immunity check at line 658.
2025-12-31 01:00:33 +00:00
Claude 096c9b0a69 Fix mount movement jitter by following vanilla horse/boat sync pattern
- Remove all velocityChanged=true flags from mount movement code
  (NPCMountUtil, EntityNPCInterface, EntityNPCFlying)
- Make performMountedMovement physics server-side only like vanilla horse
- Remove syncMountedRiderVelocity method that forced rider velocity packets
- Fix ground movement to not reset motionY every tick
- Let Minecraft's entity tracker handle position sync naturally

The jitter was caused by S12PacketEntityVelocity being sent every tick,
which constantly reset client interpolation. Vanilla horses/boats never
set velocityChanged and rely on the entity tracker for smooth sync.
2025-12-30 23:06:16 +00:00
google-labs-jules[bot] 000cefdab9 Fix mount movement sync and speed issues
- Remove server-side check for setAIMoveSpeed to fix client prediction desync on ground mounts
- Increase air strafe factor for flying mounts to match ground speed feel
2025-12-06 01:27:27 +00:00
Kam ee413c31b9 Improve mount client sync and flight speed scaling 2025-11-13 19:54:10 -05:00
Kam c33ac04d11 Refine mount GUI layout and flight handling 2025-11-07 22:44:22 -05:00
Kam 9744209938 Refactor mount helpers and expose NPC flight state 2025-11-07 20:15:49 -05:00
Kam f65662efaf Preserve airborne momentum when mounts dismount riders 2025-11-06 02:34:47 -05:00
Kam bed60002c3 Restrict mount riders and expose jump controls 2025-11-06 02:14:11 -05:00
Kam b035f4e188 Smooth mount steering and halt dismount drift 2025-11-06 02:00:55 -05:00
Kam 1754aa536a Fix mount rider jump handling 2025-11-06 01:43:00 -05:00
Kam d00c1cf156 Refine mount role rider positioning and home behavior 2025-11-06 01:42:55 -05:00
Kam 11e326de48 Add mount role for NPCs with rider controls 2025-11-06 00:20:22 -05:00
Kam 3d9b54ef5b Fix NPC hitbox scaling for large sizes 2025-10-20 14:41:45 -04:00
Kam 9c541999f3 Optimize Imports 2025-07-23 14:22:52 -04:00
bigguy345 f100fb0ab1 Fixed NPC Target and TargetLost events firing redundantly 2025-07-05 11:44:29 +03:00
bigguy345 e0c9bfffa5 Fixed updateEveryXTicks being inconsistent due to using entity's ticksExisted. IAction instances now track their own tick 2025-07-03 18:29:53 +03:00
bigguy345 7ea05e4ecc Refactored ScriptedActionManager to ActionManager, moved to same package as Actions 2025-06-30 18:13:31 +03:00
bigguy345 bc2bab889d cleared ActionManager on NPC delete 2025-06-30 08:59:51 +03:00
Kam 585ebdcc2f Add config for clearing action manager on death 2025-06-29 14:40:49 -04:00
bigguy345 dd4b0c8b4b ActionManager no longer cleared on entity's death/reset 2025-06-28 19:10:15 +03:00
bigguy345 a0026e1d59 Merge remote-tracking branch 'upstream/dev' into dev
# Conflicts:
#	build.gradle
#	src/main/java/foxz/command/CmdClone.java
#	src/main/java/foxz/command/CmdDialog.java
#	src/main/java/foxz/command/CmdNoppes.java
#	src/main/java/foxz/command/CmdNpc.java
#	src/main/java/foxz/command/CmdQuest.java
#	src/main/java/foxz/command/CmdScript.java
#	src/main/java/foxz/commandhelper/AbstractCommandHelper.java
#	src/main/java/kamkeel/npcs/CustomAttributes.java
#	src/main/java/kamkeel/npcs/addon/client/DBCClient.java
#	src/main/java/kamkeel/npcs/command/AnimationCommand.java
#	src/main/java/kamkeel/npcs/command/CloneCommand.java
#	src/main/java/kamkeel/npcs/command/DialogCategoryCommand.java
#	src/main/java/kamkeel/npcs/command/DialogCommand.java
#	src/main/java/kamkeel/npcs/command/FactionCommand.java
#	src/main/java/kamkeel/npcs/command/HelpCommand.java
#	src/main/java/kamkeel/npcs/command/NpcCommand.java
#	src/main/java/kamkeel/npcs/command/OverlayCommand.java
#	src/main/java/kamkeel/npcs/command/QuestCategoryCommand.java
#	src/main/java/kamkeel/npcs/command/QuestCommand.java
#	src/main/java/kamkeel/npcs/command/ScriptCommand.java
#	src/main/java/kamkeel/npcs/controllers/AttributeController.java
#	src/main/java/kamkeel/npcs/controllers/ProfileController.java
#	src/main/java/kamkeel/npcs/controllers/SyncController.java
#	src/main/java/kamkeel/npcs/controllers/data/attribute/ICustomAttribute.java
#	src/main/java/kamkeel/npcs/controllers/data/attribute/tracker/PlayerAttributeTracker.java
#	src/main/java/kamkeel/npcs/controllers/data/attribute/tracker/PlayerEquipmentTracker.java
#	src/main/java/kamkeel/npcs/network/PacketHandler.java
#	src/main/java/kamkeel/npcs/network/packets/data/large/SyncEffectPacket.java
#	src/main/java/kamkeel/npcs/network/packets/player/ScreenSizePacket.java
#	src/main/java/kamkeel/npcs/network/packets/request/clone/CloneSavePacket.java
#	src/main/java/kamkeel/npcs/network/packets/request/script/EffectScriptPacket.java
#	src/main/java/kamkeel/npcs/network/packets/request/script/ForgeScriptPacket.java
#	src/main/java/kamkeel/npcs/network/packets/request/script/GlobalNPCScriptPacket.java
#	src/main/java/kamkeel/npcs/network/packets/request/script/PlayerScriptPacket.java
#	src/main/java/kamkeel/npcs/network/packets/request/script/item/LinkedItemScriptPacket.java
#	src/main/java/nikedemos/markovnames/Main.java
#	src/main/java/nikedemos/markovnames/MarkovDictionary.java
#	src/main/java/nikedemos/markovnames/MarkovDictionarySPA.java
#	src/main/java/nikedemos/markovnames/generators/MarkovAncientGreek.java
#	src/main/java/nikedemos/markovnames/generators/MarkovJapanese.java
#	src/main/java/nikedemos/markovnames/generators/MarkovRoman.java
#	src/main/java/nikedemos/markovnames/generators/MarkovSlavic.java
#	src/main/java/nikedemos/markovnames/generators/MarkovSpanish.java
#	src/main/java/nikedemos/markovnames/generators/MarkovWelsh.java
#	src/main/java/noppes/npcs/AnimationMixinFunctions.java
#	src/main/java/noppes/npcs/CustomNpcsPermissions.java
#	src/main/java/noppes/npcs/DataInventory.java
#	src/main/java/noppes/npcs/DataStats.java
#	src/main/java/noppes/npcs/EventHooks.java
#	src/main/java/noppes/npcs/IChatMessages.java
#	src/main/java/noppes/npcs/ICompatibilty.java
#	src/main/java/noppes/npcs/LogWriter.java
#	src/main/java/noppes/npcs/NBTTags.java
#	src/main/java/noppes/npcs/NPCSpawning.java
#	src/main/java/noppes/npcs/NoppesStringUtils.java
#	src/main/java/noppes/npcs/NoppesUtilPlayer.java
#	src/main/java/noppes/npcs/NoppesUtilServer.java
#	src/main/java/noppes/npcs/QuestLogData.java
#	src/main/java/noppes/npcs/ScriptForgeEventHandler.java
#	src/main/java/noppes/npcs/ScriptItemEventHandler.java
#	src/main/java/noppes/npcs/ScriptPlayerEventHandler.java
#	src/main/java/noppes/npcs/ServerEventsHandler.java
#	src/main/java/noppes/npcs/ServerTickHandler.java
#	src/main/java/noppes/npcs/VersionCompatibility.java
#	src/main/java/noppes/npcs/ai/CombatHandler.java
#	src/main/java/noppes/npcs/ai/EntityAIAmbushTarget.java
#	src/main/java/noppes/npcs/ai/EntityAIAnimation.java
#	src/main/java/noppes/npcs/ai/EntityAIAttackTarget.java
#	src/main/java/noppes/npcs/ai/EntityAIAvoidTarget.java
#	src/main/java/noppes/npcs/ai/EntityAIBustDoor.java
#	src/main/java/noppes/npcs/ai/EntityAIDodgeShoot.java
#	src/main/java/noppes/npcs/ai/EntityAIFindShade.java
#	src/main/java/noppes/npcs/ai/EntityAIFollow.java
#	src/main/java/noppes/npcs/ai/EntityAIJob.java
#	src/main/java/noppes/npcs/ai/EntityAIMoveIndoors.java
#	src/main/java/noppes/npcs/ai/EntityAIMovingPath.java
#	src/main/java/noppes/npcs/ai/EntityAIOrbitTarget.java
#	src/main/java/noppes/npcs/ai/EntityAIPanic.java
#	src/main/java/noppes/npcs/ai/EntityAIPounceTarget.java
#	src/main/java/noppes/npcs/ai/EntityAIRangedAttack.java
#	src/main/java/noppes/npcs/ai/EntityAIRole.java
#	src/main/java/noppes/npcs/ai/EntityAISprintToTarget.java
#	src/main/java/noppes/npcs/ai/EntityAIStalkTarget.java
#	src/main/java/noppes/npcs/ai/EntityAITransform.java
#	src/main/java/noppes/npcs/ai/EntityAIWander.java
#	src/main/java/noppes/npcs/ai/EntityAIWatchClosest.java
#	src/main/java/noppes/npcs/ai/EntityAIWaterNav.java
#	src/main/java/noppes/npcs/ai/EntityAIZigZagTarget.java
#	src/main/java/noppes/npcs/ai/RandomPositionGeneratorAlt.java
#	src/main/java/noppes/npcs/ai/pathfinder/FlyPathFinder.java
#	src/main/java/noppes/npcs/ai/pathfinder/NPCPath.java
#	src/main/java/noppes/npcs/ai/pathfinder/PathNavigateFlying.java
#	src/main/java/noppes/npcs/ai/pathfinder/PathNodeType.java
#	src/main/java/noppes/npcs/ai/selector/NPCAttackSelector.java
#	src/main/java/noppes/npcs/ai/selector/NPCInteractSelector.java
#	src/main/java/noppes/npcs/ai/target/EntityAIClearTarget.java
#	src/main/java/noppes/npcs/ai/target/EntityAIClosestTarget.java
#	src/main/java/noppes/npcs/blocks/BlockCampfire.java
#	src/main/java/noppes/npcs/blocks/BlockCandle.java
#	src/main/java/noppes/npcs/blocks/BlockPlaceholder.java
#	src/main/java/noppes/npcs/blocks/BlockRotated.java
#	src/main/java/noppes/npcs/blocks/tiles/TileNpcContainer.java
#	src/main/java/noppes/npcs/blocks/tiles/TileRedstoneBlock.java
#	src/main/java/noppes/npcs/blocks/tiles/TileWaypoint.java
#	src/main/java/noppes/npcs/client/AssetsBrowser.java
#	src/main/java/noppes/npcs/client/ClientEventHandler.java
#	src/main/java/noppes/npcs/client/ClientProxy.java
#	src/main/java/noppes/npcs/client/ClientTickHandler.java
#	src/main/java/noppes/npcs/client/ImageDownloadAlt.java
#	src/main/java/noppes/npcs/client/MessageAchievement.java
#	src/main/java/noppes/npcs/client/NoppesUtil.java
#	src/main/java/noppes/npcs/client/RenderChatMessages.java
#	src/main/java/noppes/npcs/client/TextBlockClient.java
#	src/main/java/noppes/npcs/client/TranslateUtil.java
#	src/main/java/noppes/npcs/client/VersionChecker.java
#	src/main/java/noppes/npcs/client/controllers/PresetController.java
#	src/main/java/noppes/npcs/client/fx/EntityRainbowFX.java
#	src/main/java/noppes/npcs/client/gui/GuiBorderBlock.java
#	src/main/java/noppes/npcs/client/gui/GuiMagicCycleMap.java
#	src/main/java/noppes/npcs/client/gui/GuiMerchantAdd.java
#	src/main/java/noppes/npcs/client/gui/GuiNPCFactionSelection.java
#	src/main/java/noppes/npcs/client/gui/GuiNPCLinesEdit.java
#	src/main/java/noppes/npcs/client/gui/GuiNPCTransportCategoryEdit.java
#	src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawner.java
#	src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerAdd.java
#	src/main/java/noppes/npcs/client/gui/GuiNpcMobSpawnerMounter.java
#	src/main/java/noppes/npcs/client/gui/GuiNpcRedstoneBlock.java
#	src/main/java/noppes/npcs/client/gui/GuiNpcSelectionInterface.java
#	src/main/java/noppes/npcs/client/gui/GuiNpcWaypoint.java
#	src/main/java/noppes/npcs/client/gui/GuiScript.java
#	src/main/java/noppes/npcs/client/gui/GuiScriptList.java
#	src/main/java/noppes/npcs/client/gui/SubGuiClonerQuickTags.java
#	src/main/java/noppes/npcs/client/gui/SubGuiMagic.java
#	src/main/java/noppes/npcs/client/gui/SubGuiMagicCycle.java
#	src/main/java/noppes/npcs/client/gui/SubGuiMailmanSendSetup.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcAvailability.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcAvailabilityDialog.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcAvailabilityQuest.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcBiomes.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcDialogOption.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcDialogOptions.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcDialogVisual.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcFactionOptions.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcFactionPoints.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcMeleeProperties.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcMovement.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcName.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcProjectiles.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcRangeProperties.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcResistanceProperties.java
#	src/main/java/noppes/npcs/client/gui/SubGuiNpcRespawn.java
#	src/main/java/noppes/npcs/client/gui/advanced/GuiNPCDialogNpcOptions.java
#	src/main/java/noppes/npcs/client/gui/advanced/GuiNPCMarks.java
#	src/main/java/noppes/npcs/client/gui/advanced/GuiNPCNightSetup.java
#	src/main/java/noppes/npcs/client/gui/advanced/GuiNPCTagSetup.java
#	src/main/java/noppes/npcs/client/gui/custom/GuiCustom.java
#	src/main/java/noppes/npcs/client/gui/custom/components/CustomGuiLabel.java
#	src/main/java/noppes/npcs/client/gui/custom/components/CustomGuiScrollComponent.java
#	src/main/java/noppes/npcs/client/gui/customoverlay/components/CustomOverlayLabel.java
#	src/main/java/noppes/npcs/client/gui/customoverlay/components/CustomOverlayLine.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNPCEditAnimation.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNPCManageAnimations.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNPCManageBanks.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNPCManageLinked.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNpcManagePlayerData.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNpcManageRecipes.java
#	src/main/java/noppes/npcs/client/gui/global/GuiNpcQuestReward.java
#	src/main/java/noppes/npcs/client/gui/item/SubGuiLinkedItem.java
#	src/main/java/noppes/npcs/client/gui/mainmenu/GuiNPCInv.java
#	src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcAI.java
#	src/main/java/noppes/npcs/client/gui/mainmenu/GuiNpcStats.java
#	src/main/java/noppes/npcs/client/gui/model/GuiCreationScreen.java
#	src/main/java/noppes/npcs/client/gui/model/GuiEntitySelection.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelArms.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelBody.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelColor.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelHead.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelLegs.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelRotate.java
#	src/main/java/noppes/npcs/client/gui/model/GuiModelScale.java
#	src/main/java/noppes/npcs/client/gui/model/GuiPresetSave.java
#	src/main/java/noppes/npcs/client/gui/model/GuiPresetSelection.java
#	src/main/java/noppes/npcs/client/gui/player/GuiBook.java
#	src/main/java/noppes/npcs/client/gui/player/GuiCrate.java
#	src/main/java/noppes/npcs/client/gui/player/GuiDialogInteract.java
#	src/main/java/noppes/npcs/client/gui/player/GuiMailmanWrite.java
#	src/main/java/noppes/npcs/client/gui/player/GuiNPCBankChest.java
#	src/main/java/noppes/npcs/client/gui/player/GuiNPCTrader.java
#	src/main/java/noppes/npcs/client/gui/player/GuiNpcCarpentryBench.java
#	src/main/java/noppes/npcs/client/gui/player/GuiNpcFollower.java
#	src/main/java/noppes/npcs/client/gui/player/GuiNpcFollowerHire.java
#	src/main/java/noppes/npcs/client/gui/player/GuiQuestCompletion.java
#	src/main/java/noppes/npcs/client/gui/player/companion/GuiNpcCompanionInv.java
#	src/main/java/noppes/npcs/client/gui/player/companion/GuiNpcCompanionStats.java
#	src/main/java/noppes/npcs/client/gui/player/companion/GuiNpcCompanionTalents.java
#	src/main/java/noppes/npcs/client/gui/player/inventory/GuiQuestLog.java
#	src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeDialog.java
#	src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeItem.java
#	src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeKill.java
#	src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeLocation.java
#	src/main/java/noppes/npcs/client/gui/questtypes/GuiNpcQuestTypeManual.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcBankSetup.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcBard.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcCompanion.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcConversation.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcFollowerJob.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcFollowerSetup.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcGuard.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcHealer.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcItemGiver.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcSpawner.java
#	src/main/java/noppes/npcs/client/gui/roles/GuiNpcTraderSetup.java
#	src/main/java/noppes/npcs/client/gui/script/EventGuiScriptList.java
#	src/main/java/noppes/npcs/client/gui/script/GuiScriptEffect.java
#	src/main/java/noppes/npcs/client/gui/script/GuiScriptGlobal.java
#	src/main/java/noppes/npcs/client/gui/script/GuiScriptInterface.java
#	src/main/java/noppes/npcs/client/gui/script/GuiScriptItem.java
#	src/main/java/noppes/npcs/client/gui/script/GuiScriptLinkedItem.java
#	src/main/java/noppes/npcs/client/gui/script/GuiScriptPlayers.java
#	src/main/java/noppes/npcs/client/gui/select/GuiTextureSelection.java
#	src/main/java/noppes/npcs/client/gui/util/GuiContainerNPCInterface.java
#	src/main/java/noppes/npcs/client/gui/util/GuiContainerNPCInterface2.java
#	src/main/java/noppes/npcs/client/gui/util/GuiCustomScrollCloner.java
#	src/main/java/noppes/npcs/client/gui/util/GuiDiagram.java
#	src/main/java/noppes/npcs/client/gui/util/GuiHoverText.java
#	src/main/java/noppes/npcs/client/gui/util/GuiMenuTopIconButton.java
#	src/main/java/noppes/npcs/client/gui/util/GuiModelInterface2.java
#	src/main/java/noppes/npcs/client/gui/util/GuiNPCInterface2.java
#	src/main/java/noppes/npcs/client/gui/util/GuiNpcLabel.java
#	src/main/java/noppes/npcs/client/gui/util/GuiNpcTextArea.java
#	src/main/java/noppes/npcs/client/gui/util/GuiScriptTextArea.java
#	src/main/java/noppes/npcs/client/gui/util/GuiSelectionListener.java
#	src/main/java/noppes/npcs/client/gui/util/GuiTexturedButton.java
#	src/main/java/noppes/npcs/client/gui/util/IButtonListener.java
#	src/main/java/noppes/npcs/client/gui/util/IGuiClose.java
#	src/main/java/noppes/npcs/client/gui/util/IGuiData.java
#	src/main/java/noppes/npcs/client/gui/util/IGuiError.java
#	src/main/java/noppes/npcs/client/gui/util/IJTextAreaListener.java
#	src/main/java/noppes/npcs/client/gui/util/IPartyData.java
#	src/main/java/noppes/npcs/client/gui/util/IScrollData.java
#	src/main/java/noppes/npcs/client/gui/util/ISubGuiListener.java
#	src/main/java/noppes/npcs/client/gui/util/TextContainer.java
#	src/main/java/noppes/npcs/client/model/ModelMPM.java
#	src/main/java/noppes/npcs/client/model/ModelNpcCrystal.java
#	src/main/java/noppes/npcs/client/model/ModelNpcDragon.java
#	src/main/java/noppes/npcs/client/model/ModelPony.java
#	src/main/java/noppes/npcs/client/model/ModelSkirtArmor.java
#	src/main/java/noppes/npcs/client/model/part/ModelBeard.java
#	src/main/java/noppes/npcs/client/model/part/ModelBreasts.java
#	src/main/java/noppes/npcs/client/model/part/ModelClaws.java
#	src/main/java/noppes/npcs/client/model/part/ModelEars.java
#	src/main/java/noppes/npcs/client/model/part/ModelFin.java
#	src/main/java/noppes/npcs/client/model/part/ModelHair.java
#	src/main/java/noppes/npcs/client/model/part/ModelHorns.java
#	src/main/java/noppes/npcs/client/model/part/ModelLegs.java
#	src/main/java/noppes/npcs/client/model/part/ModelMohawk.java
#	src/main/java/noppes/npcs/client/model/part/ModelSkirt.java
#	src/main/java/noppes/npcs/client/model/part/ModelSnout.java
#	src/main/java/noppes/npcs/client/model/part/ModelTail.java
#	src/main/java/noppes/npcs/client/model/part/ModelWings.java
#	src/main/java/noppes/npcs/client/model/part/legs/ModelDigitigradeLegs.java
#	src/main/java/noppes/npcs/client/model/part/legs/ModelNagaLegs.java
#	src/main/java/noppes/npcs/client/model/part/tails/ModelSquirrelTail.java
#	src/main/java/noppes/npcs/client/model/util/Model2DRenderer.java
#	src/main/java/noppes/npcs/client/renderer/NpcItemRenderer.java
#	src/main/java/noppes/npcs/client/renderer/RenderCNPCHand.java
#	src/main/java/noppes/npcs/client/renderer/RenderCNPCPlayer.java
#	src/main/java/noppes/npcs/client/renderer/RenderCustomNpc.java
#	src/main/java/noppes/npcs/client/renderer/RenderNPCHumanMale.java
#	src/main/java/noppes/npcs/client/renderer/RenderNPCInterface.java
#	src/main/java/noppes/npcs/client/renderer/RenderNpcSlime.java
#	src/main/java/noppes/npcs/client/renderer/RenderProjectile.java
#	src/main/java/noppes/npcs/client/renderer/blocks/BlockRendererInterface.java
#	src/main/java/noppes/npcs/client/renderer/items/ItemCustomRenderer.java
#	src/main/java/noppes/npcs/client/renderer/items/ItemToolRenderer.java
#	src/main/java/noppes/npcs/compat/PixelmonHelper.java
#	src/main/java/noppes/npcs/config/ConfigScript.java
#	src/main/java/noppes/npcs/config/GlyphCache.java
#	src/main/java/noppes/npcs/config/StringCache.java
#	src/main/java/noppes/npcs/config/legacy/LegacyLoader.java
#	src/main/java/noppes/npcs/constants/EnumAnimationPart.java
#	src/main/java/noppes/npcs/constants/EnumCompanionTalent.java
#	src/main/java/noppes/npcs/constants/EnumDiagramLayout.java
#	src/main/java/noppes/npcs/constants/EnumGuiType.java
#	src/main/java/noppes/npcs/constants/EnumNpcToolMaterial.java
#	src/main/java/noppes/npcs/constants/EnumOptionType.java
#	src/main/java/noppes/npcs/constants/EnumParticleType.java
#	src/main/java/noppes/npcs/constants/EnumPotionType.java
#	src/main/java/noppes/npcs/constants/EnumQuestCompletion.java
#	src/main/java/noppes/npcs/constants/EnumQuestRepeat.java
#	src/main/java/noppes/npcs/constants/EnumQuestType.java
#	src/main/java/noppes/npcs/constants/EnumScriptType.java
#	src/main/java/noppes/npcs/constants/EnumTextureType.java
#	src/main/java/noppes/npcs/containers/ContainerCarpentryBench.java
#	src/main/java/noppes/npcs/containers/ContainerCrate.java
#	src/main/java/noppes/npcs/containers/ContainerMail.java
#	src/main/java/noppes/npcs/containers/ContainerManageRecipes.java
#	src/main/java/noppes/npcs/containers/ContainerMerchantAdd.java
#	src/main/java/noppes/npcs/containers/ContainerNPCFollowerSetup.java
#	src/main/java/noppes/npcs/containers/ContainerNPCTrader.java
#	src/main/java/noppes/npcs/containers/ContainerNpcInterface.java
#	src/main/java/noppes/npcs/containers/ContainerNpcItemGiver.java
#	src/main/java/noppes/npcs/containers/SlotNpcBankCurrency.java
#	src/main/java/noppes/npcs/controllers/BankController.java
#	src/main/java/noppes/npcs/controllers/CustomGuiController.java
#	src/main/java/noppes/npcs/controllers/DialogController.java
#	src/main/java/noppes/npcs/controllers/FactionController.java
#	src/main/java/noppes/npcs/controllers/LinkedItemController.java
#	src/main/java/noppes/npcs/controllers/LinkedNpcController.java
#	src/main/java/noppes/npcs/controllers/MagicController.java
#	src/main/java/noppes/npcs/controllers/PartyController.java
#	src/main/java/noppes/npcs/controllers/PlayerDataController.java
#	src/main/java/noppes/npcs/controllers/QuestController.java
#	src/main/java/noppes/npcs/controllers/ScriptContainer.java
#	src/main/java/noppes/npcs/controllers/ScriptController.java
#	src/main/java/noppes/npcs/controllers/ServerCloneController.java
#	src/main/java/noppes/npcs/controllers/TagController.java
#	src/main/java/noppes/npcs/controllers/data/Availability.java
#	src/main/java/noppes/npcs/controllers/data/DataScript.java
#	src/main/java/noppes/npcs/controllers/data/DataTransform.java
#	src/main/java/noppes/npcs/controllers/data/Dialog.java
#	src/main/java/noppes/npcs/controllers/data/EffectScript.java
#	src/main/java/noppes/npcs/controllers/data/Faction.java
#	src/main/java/noppes/npcs/controllers/data/FactionOptions.java
#	src/main/java/noppes/npcs/controllers/data/FramePart.java
#	src/main/java/noppes/npcs/controllers/data/GlobalNPCDataScript.java
#	src/main/java/noppes/npcs/controllers/data/LinkedItemScript.java
#	src/main/java/noppes/npcs/controllers/data/PlayerData.java
#	src/main/java/noppes/npcs/controllers/data/PlayerDataScript.java
#	src/main/java/noppes/npcs/controllers/data/PlayerFactionData.java
#	src/main/java/noppes/npcs/controllers/data/PlayerQuestData.java
#	src/main/java/noppes/npcs/controllers/data/Quest.java
#	src/main/java/noppes/npcs/controllers/data/RecipeAnvil.java
#	src/main/java/noppes/npcs/controllers/data/RecipeCarpentry.java
#	src/main/java/noppes/npcs/controllers/data/TransportCategory.java
#	src/main/java/noppes/npcs/enchants/EnchantInterface.java
#	src/main/java/noppes/npcs/entity/EntityCustomNpc.java
#	src/main/java/noppes/npcs/entity/EntityNpcDragon.java
#	src/main/java/noppes/npcs/entity/EntityProjectile.java
#	src/main/java/noppes/npcs/entity/data/ModelData.java
#	src/main/java/noppes/npcs/items/ItemBullet.java
#	src/main/java/noppes/npcs/items/ItemCrossbow.java
#	src/main/java/noppes/npcs/items/ItemDaggerReversed.java
#	src/main/java/noppes/npcs/items/ItemGun.java
#	src/main/java/noppes/npcs/items/ItemMusket.java
#	src/main/java/noppes/npcs/items/ItemNpcArmor.java
#	src/main/java/noppes/npcs/items/ItemNpcArmorColorable.java
#	src/main/java/noppes/npcs/items/ItemNpcCloner.java
#	src/main/java/noppes/npcs/items/ItemNpcInterface.java
#	src/main/java/noppes/npcs/items/ItemNpcMovingPath.java
#	src/main/java/noppes/npcs/items/ItemNpcTool.java
#	src/main/java/noppes/npcs/items/ItemRenderInterface.java
#	src/main/java/noppes/npcs/items/ItemSkirt.java
#	src/main/java/noppes/npcs/items/ItemSoulstoneEmpty.java
#	src/main/java/noppes/npcs/items/ItemSoulstoneFilled.java
#	src/main/java/noppes/npcs/items/ItemStaff.java
#	src/main/java/noppes/npcs/items/ItemTeleporter.java
#	src/main/java/noppes/npcs/items/ItemThrowingWeapon.java
#	src/main/java/noppes/npcs/items/MoneyBagContents.java
#	src/main/java/noppes/npcs/mixin/MixinItemRenderer.java
#	src/main/java/noppes/npcs/quests/QuestDialog.java
#	src/main/java/noppes/npcs/quests/QuestInterface.java
#	src/main/java/noppes/npcs/quests/QuestItem.java
#	src/main/java/noppes/npcs/quests/QuestKill.java
#	src/main/java/noppes/npcs/quests/QuestLocation.java
#	src/main/java/noppes/npcs/quests/QuestManual.java
#	src/main/java/noppes/npcs/roles/JobConversation.java
#	src/main/java/noppes/npcs/roles/JobFollower.java
#	src/main/java/noppes/npcs/roles/JobGuard.java
#	src/main/java/noppes/npcs/roles/JobHealer.java
#	src/main/java/noppes/npcs/roles/JobInterface.java
#	src/main/java/noppes/npcs/roles/JobItemGiver.java
#	src/main/java/noppes/npcs/roles/JobSpawner.java
#	src/main/java/noppes/npcs/roles/RoleCompanion.java
#	src/main/java/noppes/npcs/roles/RoleFollower.java
#	src/main/java/noppes/npcs/roles/RoleInterface.java
#	src/main/java/noppes/npcs/roles/RolePostman.java
#	src/main/java/noppes/npcs/roles/RoleTransporter.java
#	src/main/java/noppes/npcs/roles/companion/CompanionGuard.java
#	src/main/java/noppes/npcs/scripted/NpcAPI.java
#	src/main/java/noppes/npcs/scripted/ScriptBlock.java
#	src/main/java/noppes/npcs/scripted/ScriptNbt.java
#	src/main/java/noppes/npcs/scripted/ScriptPixelmonPlayerData.java
#	src/main/java/noppes/npcs/scripted/ScriptWorld.java
#	src/main/java/noppes/npcs/scripted/ScriptedActionManager.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptDBCPlayer.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptEntity.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptLivingBase.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptMonster.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptPixelmon.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptProjectile.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptVillager.java
#	src/main/java/noppes/npcs/scripted/event/ForgeEvent.java
#	src/main/java/noppes/npcs/scripted/event/NpcEvent.java
#	src/main/java/noppes/npcs/scripted/event/player/DialogEvent.java
#	src/main/java/noppes/npcs/scripted/event/player/FactionEvent.java
#	src/main/java/noppes/npcs/scripted/item/ScriptCustomItem.java
#	src/main/java/noppes/npcs/scripted/item/ScriptItemBook.java
#	src/main/java/noppes/npcs/scripted/item/ScriptItemStack.java
#	src/main/java/noppes/npcs/scripted/overlay/ScriptOverlay.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptJobBard.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptJobConversation.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptJobFollower.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptJobGuard.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptJobHealer.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptJobItemGiver.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptRoleFollower.java
#	src/main/java/noppes/npcs/scripted/roles/ScriptRoleTrader.java
#	src/main/java/noppes/npcs/scripted/scoreboard/ScriptScoreboard.java
#	src/main/java/noppes/npcs/scripted/scoreboard/ScriptScoreboardObjective.java
#	src/main/java/noppes/npcs/scripted/scoreboard/ScriptScoreboardTeam.java
#	src/main/java/noppes/npcs/util/NBTJsonUtil.java
#	src/main/java/tconstruct/client/tabs/TabRegistry.java
#	src/main/resources/mcmod.info
#	todo.txt
2025-04-27 04:15:30 +03:00
Kam febffe15e0 Update EntityNPCInterface.java 2025-04-23 22:08:04 -04:00
Kam 45f80c30db Don't do Attributes yet for DBC Damage 2025-04-23 21:57:34 -04:00
Kam cc148c02d7 Convert all getPlayerData() to PlayerData.get() 2025-04-08 22:48:32 -04:00
Kam c1257abdd7 Rename for Clarity 2025-03-20 14:02:51 -04:00
Kam bcf329c0ae Play Sound Options for Ranged Attacks 2025-03-19 18:07:21 -04:00
Kam 180d257024 Proper Reformating 2025-03-13 17:14:45 -04:00
Kam 6815f579a7 Full Imports and Code Format Optimization 2025-03-12 20:12:01 -04:00
Kam 710cb04f8d Apple Attributes for Items if DBC is not available, Resistances Always 2025-03-09 16:08:26 -04:00
Kam 5ab2203a8a Only Attributes + Resistances with DBC Addon 2025-03-09 03:17:21 -04:00
Kam 73594e46c0 Passivity to Factions 2025-03-06 17:33:44 -05:00
Kam 049d0baf5f NPCs to Players Magic Damage 2025-03-06 13:26:49 -05:00
Kam e3fad91547 Attribute and Magic Damage Calculations for Players to MOBS, Players, NPCs 2025-03-06 04:07:16 -05:00
bigguy345 0033413235 Added Scheduled Tasks system for NPC scripting.
Allows for scripting the scheduling of runnable methods in sequence within the NPC's AI

An example sequence of tasks:
1. Dashes towards player (might take 3-5 seconds, doesn't matter, task durations are dynamic so it can take as long as it needs).
2. Punches player away
3. Waits 10 ticks - Fires a ki blast
4. Teleports behind player
5. Knocks player out
2025-03-03 23:59:49 +02:00
bigguy345 a8e8566e7d Formatted EntityNPCInterface 2025-03-03 23:58:58 +02:00
Kam efcdeecbf2 Caching Some Paths for Efficiency 2025-02-18 04:57:17 -05:00
Kam 79955f549e Complete Some Todos and Remove Some 2025-02-18 04:45:47 -05:00