Commit Graph
50 Commits
Author SHA1 Message Date
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
Luis C.M 18ff2bff78 Implemented Global NPC Events!
All NPCs activate these scripts. If a player wants to create a script that's universally used by all NPCs, this allows for that to happen with a lot of ease!
2022-03-23 03:54:06 -05:00
luisc 1cb27a9e7a Implemented XYZ rotations correctly, now clearly rotate around an axis respective to the player's camera. 2022-03-04 18:08:05 -06:00
luisc 7f8246e04e PARTICLE ROTATION 2022-03-02 18:18:03 -06:00
luisc 0aef0827ec Fixed scripted particles not spawning on some NPCs. Custom particle packets are now sent to all players. 2022-01-14 16:39:24 -06:00
luisc 04def38b63 Added dialog events to scripted player events 2022-01-12 22:59:03 -06:00
luisc d50f51e208 Added handler support to NPC API. 2022-01-10 15:21:48 -06:00
luisc 8a7f40189e Fixed redundant function calls for saving player data in NoppesUtilServer when using isGUIOpen(). Added getServerTime() to NpcAPI. 2021-11-22 02:33:28 -06:00
luisc 0d807b36d9 Added isGUIOpen() function, and setPosition function with a dimensionId parameter to ScriptPlayer. 2021-11-16 10:41:04 -06:00
luisc 5515f5ef83 Fixed executeCommand() function for scripting API on the server-side. 2021-10-19 19:49:43 -05:00
luisc 72f2c3c60a Implemented global Forge events. Reorganized NPC API files. 2021-10-18 06:33:39 -05:00
luisc 6752f8baec Implemented several more events for players, including a click event, key event, fall event, and the basic entity living hurt, killed, and kills events, among others. 2021-10-12 02:57:32 -05:00
luisc 95d2814651 Backported GUI features and necessary classes from 1.12. 2021-09-30 21:44:30 -05:00
luisc 6e9c693d49 Changed entity search method for custom particles to solely use entity IDs instead of entities near the closest player. 2021-09-06 12:28:14 -05:00
luisc fbc22fdef2 Added Custom Particles for scripted entities that work on server and client sides. 2021-09-06 01:24:38 -05:00
KAMKEEL a31efb2dc3 1.7.10 Files
Files added
2018-09-13 12:03:28 -04:00