Commit Graph
65 Commits
Author SHA1 Message Date
Kam ebffc0e80e Create Combat Handler to help Ai to help manage which player should be at tacked 2024-01-23 23:16:42 -05:00
Luis C.M 4abbb62e69 -Parties: Kicking, inviting players, setting a leader, friendly fire toggle, and leaving a party are all functional over packets
-Created a new type of achievement that uses the bag icon, used for party messages
2024-01-22 00:57:59 -06:00
luisc 156a976cdd Implemented get/setDialog functions for ICustomNpc. 2023-11-30 15:29:35 -06:00
Kam 61763e620e Fix Hoverable now being the last and top layer and wrap to shrink size 2023-11-07 01:29:28 -05:00
Kam f6e8370ba3 Animation GUI Move to similar style menu. [Sub Gui not implemented yet] 2023-11-01 21:39:08 -04:00
Kam a6d0007523 Add Dimension to Mob Cloner Spawn 2023-07-29 01:41:04 -04:00
Kam fd52715384 Fix Cache not clearing on PlayerDataRemove request 2023-06-16 11:52:35 -04:00
Kam c3094988ea New Quest Edit Menu 2023-06-11 16:05:15 -04:00
Kam 22bc05ddcc Overhaul Dialog GUI 2023-06-07 22:49:54 -04:00
Kam 491e377a3e CAPITAL I cause it looks cool 2023-06-05 22:12:48 -04:00
Kam 54b46129a9 Capital "I" for Instance 2023-06-05 19:35:27 -04:00
Kam f6b9f2c973 Fix Load PlayerData for JSON or Dat Types 2023-06-02 03:37:18 -04:00
Kam 6df7d3643f Remove runTack() 2023-05-16 19:16:34 -04:00
Kam 204e7a9c15 Revert Some Multithreading for Synchronization 2023-05-16 17:17:11 -04:00
Kam 221f00ccf4 Make Save PlayerData within PlayerData. More multithreaded saving 2023-05-15 23:06:21 -04:00
Kam cf82314181 Final & Synchronized Data sending with slight delays to heavily improve server performance 2023-05-15 20:03:52 -04:00
Kam ae1f33d327 Utilize a One Thread and Synchronized attribute to better control data integrity and prevent data loss 2023-05-15 19:31:40 -04:00
Kam dd5ca106bc Fix Quest Cooldown string results 2023-05-11 16:45:25 -04:00
Kam ed97534e67 Add PlayerDataMap + Regenerating PlayerData button 2023-05-10 15:06:07 -04:00
KAMKEEL f52af0b19d Fix Global PlayerData Menu crashing when too much NBT data is loaded 2023-03-20 14:04:08 -04:00
Luis C.M df069c82c2 Added a quest alert toggle for each quest in the quest log.
Fixed instant complete quests not finishing sometimes.
2023-03-16 23:37:57 -05:00
KAMKEEL bda76bafe6 Optimize Imports 2023-01-12 21:33:06 -05:00
KAMKEEL 974bf2ca66 Packet Handling 2023-01-10 17:17:15 -05:00
Luis C.M 5d520837b1 Implemented a way to play ISound(s) to players without using a sound ID. 2022-12-21 19:07:19 -06:00
Luis C.M a895c8bd24 NpcAPI:
-Added millisToTime(long) and ticksToTime(long) functions to return time formatted strings from long values.

IPlayerQuestData:
-Added last completed time functions for repeating quests.

IQuest:
-Added repeat functions for repeating quests.

ServerCloneController:
-Fixed cloned NPCs having identical UUIDs.
2022-12-20 09:21:39 -06:00
Luis C.M a47af08d0f Fixed spawning clones without checking for region protection. 2022-12-18 02:58:12 -06:00
Luis C.M 0414817673 Implemented event interfaces, made more events cancellable. 2022-11-24 14:36:09 -06:00
KAMKEEL be9ae94163 Start API Branch 2022-11-15 15:25:53 -05:00
KAMKEEL c264c7c9d0 Merge branch 'master' into dev 2022-11-15 00:10:32 -05:00
Pétrus Pradella 79e20b07db Properly save PlayerData on json only on 'PlayerEvent.SaveToFile' 2022-11-11 15:15:42 -03:00
Luis C.M 8d3cd3fd82 Revert "Merge remote-tracking branch 'origin/dev' into dev"
This reverts commit 66edbcea80, reversing
changes made to 3fd962289c.
2022-11-06 01:25:28 -06:00
KAMKEEL 6ae465c5d0 Revert "Added several more functions to pre-existing classes:"
This reverts commit e9a8f8cebc.
2022-11-06 00:10:04 -04:00
Luis C.M e9a8f8cebc Added several more functions to pre-existing classes:
-Spawner, Transport, Healer, Guard, Bard jobs received more functions.
-Added more functions to the transporter role.
-IRole: Added getNpc() function.
-IAnimal, IEntityLiving, and IEntityLivingBase received more functions from their MC counterparts.
-Nearly every function with that takes position/vector parameters now has an equivalent with IPos as a parameter instead.
2022-11-05 20:19:14 -05:00
Luis C.M 6782a5b9ba Made NPC dialog event cancellable 2022-11-05 04:19:03 -05:00
c0508383 d1762654ba ISound:
-Allows for the changing of several sound attributes, including volume, pitch, repeating, etc.

NpcAPI, IPlayer, IWorld:
-Added more sound functions, with sounds that can be stopped and started based on an ID.
2022-07-13 19:27:27 -05:00
c0508383 a3b5f5993e IWorld:
-Implemented spawnClone() with a boolean parameter to check entity protection from mods & plugins correctly (for real this time).

ICloneHandler:
-Implemented ignoreProtection boolean value for the spawn() function.
2022-07-06 01:29:43 -07:00
Luis C.M c8a3b7825d Particle packets are only sent to players in the particle's world now. 2022-07-02 13:07:23 -05:00
Luis C.M 79a703429c ISkinOverlay:
-Removed set/getLocation, only supposed to be used during rendering.
2022-07-02 06:22:43 -05:00
Luis C.M f3f209820c IParticle:
-Added glow option.
2022-07-02 03:10:11 -05:00
Luis C.M 8f16e6b20f Added IDialogImage, a scripted object which is used by IDialog. Used to add dialog images.
IDialog:
-Added several new functions for dialogs' new visual attributes, as well as a way to add, get, create, remove, and clear dialog images.

Global NPC events:
-Added fields and variables from the old ScriptEvent events, in preparation to replace the old events with NpcEvent instances on local NPC scripts.
-Fixed issue where some event hooks would run on remote worlds.

Global NPC killed event:
-Added droppedItems and expDropped fields.

IWorld and NpcAPI:
-Now always uses a non-remove WorldServer object to create ScriptWorld objects and add them to the world cache.
2022-06-10 17:25:58 -05:00
Luis C.M ec5fc71413 Merge branch 'master' into dev
# Conflicts:
#	src/main/java/noppes/npcs/scripted/ScriptFaction.java
#	src/main/java/noppes/npcs/scripted/ScriptWorld.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptNpc.java
#	src/main/java/noppes/npcs/scripted/entity/ScriptPlayer.java
#	src/main/java/noppes/npcs/scripted/interfaces/IEntity.java
#	src/main/java/noppes/npcs/scripted/interfaces/IWorld.java
#	src/main/java/noppes/npcs/scripted/interfaces/entity/ICustomNpc.java
#	src/main/java/noppes/npcs/scripted/interfaces/entity/IPlayer.java
2022-05-27 15:31:02 -05:00
1whohears a4361b8420 Added various things to the API and other small changes
This adds some useful functions to the api and a few other changes.
I had been creating a custom build of this mod while working on stuff because I couldn't figure out how to do certain things without changing the mod. So this is a collection api features that I think everyone would find useful.

Api additions:
-purchase counting, and disabling trades for the trader role. (if a trade is disabled the gui still says insufficient funds, maybe allow a custom message to appear) added get the traders currency items and sell items.
-if an npc's projectile does explosive damage, you can disable it destroying blocks even if mob griefing is on
-int arrays as stored data for entities
-entity.playSound(...)
-get set if npcs can drown
-player read and unread dialog
-player set faction points
-extra player.sendMessage functions to add custom colors/bold/underline
-player clear inventory
-get set if a follower npc is following a player or waiting
-a bunch of stuff to script faction
-is an item food and how many food points?
-get scoreboard team by it's name
-get and create factions from the script world
-world.rayCastBlockPos is used for getting what block a player is looking at.
-world.getNearestAir is meant to get the block of air above or around the result of world.rayCastBlockPos, or at least that's how I've been using it.

Changes:
-in NoppesUtilServer I feel like if an npc is cloned it's ticksExisted or age should bee zero
-follower npcs should have the canDespawn field automatically set to false...? maybe make it an option
2022-05-24 03:06:16 -05:00
Luis C.M 33bb0307e9 Separated data objects and data controller objects in the noppes.npcs.controllers package. 2022-05-24 01:07:50 -05:00
Luis C.M cf33b90b26 Used interfaces in implementations instead of the real classes for most scripted classes. 2022-05-11 22:08:31 -05:00
Luis C.M 5520fc5f2b ScriptParticle:
-Added HEXColor2, HEXColorRate, and HEXColorRateStart fields, and respective setters and getters, allowing for changes in HEX color over time.

Marked plenty of old ScriptEntityParticle functions as deprecated. This includes any functions referring to scripted particles as "Entity Particles" and functions outside the API or ScriptParticle class used to spawn or create particles.
2022-05-07 03:46:37 -05:00
Luis C.M d49a31a4fe ScriptParticle:
-The spawnInWorld() function now requires a ScriptWorld object to be passed in as the first parameter.
-New spawnInWorld() function with its only parameter being a ScriptWorld object. Spawns in the world with the particle's x,y,z variables.
2022-05-07 01:40:41 -05:00
Luis C.M 2d2933e873 ScriptEntityParticle:
-Particles can now start or end at a certain tick, and loop or not loop.
-Added setSize(), getWidth() and getHeight() functions.
-Added setOffset(), getOffsetX(), and getOffsetY() functions.
-Added setAnimRate() and getAnimRate() functions.
2022-05-06 01:22:48 -05:00
Luis C.M 728269ff87 ScriptEntityParticle:
-Added width, offset, and animation rate attributes to particles.
-Added setSize(), getWidth() and getHeight() functions.
-Added setOffset(), getOffsetX(), and getOffsetY() functions.
-Added setAnimRate() and getAnimRate() functions.
2022-05-06 00:22:28 -05:00
Luis C.M f16e2402a6 ScriptEntityParticle:
-Added scripted particles which can not face the player, having their angles be absolute in the world instead of relative to the camera.
-set/getFacePlayer() functions added.
2022-05-04 18:08:54 -05:00
Luis C.M 65bb3b5939 Important fix to some NPC hook scripts crashing, added option and dialog object fields to local NPC dialog and NPC dialog closed scripts 2022-04-09 00:17:16 -05:00