Commit Graph

647 Commits

Author SHA1 Message Date
fullwall
1e050bb89d Name Citizens save and load tasks for timings 2020-11-15 20:32:16 +08:00
fullwall
1eddabe8c0 Allow /npc follow to teleport across worlds 2020-11-15 17:43:26 +08:00
fullwall
7743763d3c Refactor common code, add missing condition 2020-11-14 18:41:21 +08:00
fullwall
d3002965fd Cleanup 2020-11-13 10:31:55 +08:00
fullwall
0c36ea04a7 Reset hologram if now empty 2020-11-07 15:10:49 +08:00
fullwall
ba00c91a30 Remove path properly 2020-11-04 16:42:55 +08:00
fullwall
10e1576496 Don't measure distance between worlds 2020-11-03 14:36:44 +08:00
fullwall
55922168d2 1.16.4 initial update 2020-11-03 14:33:34 +08:00
fullwall
9ff38f0080 Make citizens.npc.talk default true 2020-10-27 01:31:18 +08:00
fullwall
e8cdba65df Fix /npc hologram remove off by one 2020-10-26 17:20:09 +08:00
fullwall
cac35409c9 Check for command message setting being empty 2020-10-21 15:18:07 +08:00
fullwall
a944c3ca9c Make mob entity uuids the same as their NPC uuid 2020-10-18 18:32:33 +08:00
fullwall
8cdda471b9 Prevent concurrent modification issue with NPC spawning 2020-10-15 20:30:50 +08:00
fullwall
7dba144924 Use MONITOR priority for NPCSpawnEvent 2020-10-15 20:21:15 +08:00
fullwall
5081b713a8 For completeness, work with stacked waypoints 2020-10-14 15:16:40 +08:00
fullwall
e10af76e45 Showing markers by default 2020-10-14 15:14:49 +08:00
fullwall
10ec4b2c29 Fix conversation abandoned event 2020-10-14 15:12:41 +08:00
fullwall
4f345dddc1 Give an extra block's worth of leeway to /npc path reaching the destination 2020-10-13 21:51:52 +08:00
fullwall
de74b21dd7 Fix up some messages with the waypoint editor 2020-10-13 19:51:53 +08:00
fullwall
306a448a48 Remove editing slot from linear waypoint editor, make showing points the default and adjust messages to explain this 2020-10-13 18:52:45 +08:00
fullwall
c46362b02d Just use the slower but safer remove option 2020-10-12 23:04:12 +08:00
fullwall
9eb254215f Add preventing spawn debug 2020-10-12 22:49:09 +08:00
fullwall
675eaffad5 Prevent chunk load respawning with SpawnReason.PLUGIN 2020-10-12 22:24:44 +08:00
fullwall
12b796afa3 Add extra spawning debug 2020-10-12 21:58:26 +08:00
fullwall
13dee3570f Add messages for chat waypoint trigger 2020-10-12 21:10:49 +08:00
fullwall
4591b9e3a9 Fix rightclicking markers in /npc path 2020-10-12 21:00:23 +08:00
fullwall
6a3382c5ce Insert in proper position 2020-10-12 20:45:47 +08:00
fullwall
1d314fba7a Append waypoints in the waypoint editor 2020-10-12 20:44:11 +08:00
fullwall
b2f841a40e Fix shulker bullets with lookclose on 2020-10-12 14:10:23 +08:00
fullwall
b20113e1f1 Make flying A* use the new iterations per tick settings 2020-10-10 21:40:33 +08:00
fullwall
9e0b8d1c5a Fix hologram names with non-player NPCs 2020-10-08 21:06:45 +08:00
fullwall
38dfb0e42c Looking for the closest block to the ground when targeting entities 2020-10-08 13:26:41 +08:00
fullwall
27b0bc107c Generate getters for trait methods 2020-10-07 19:16:41 +08:00
fullwall
8f009d5598 Add /npc ai command 2020-10-05 15:59:14 +08:00
fullwall
84ec48078d Add global settings for command error messages 2020-10-05 12:18:19 +08:00
fullwall
f5dc673948 Fix /npc command sequential 2020-10-03 15:40:53 +08:00
fullwall
ace484636a Add /npc pathto 2020-09-17 23:31:44 +08:00
fullwall
7450c4db45 Use new getOrAddTrait methodf 2020-09-14 17:57:58 +08:00
fullwall
450bff76ec Fix protect setting for followtrait 2020-09-14 17:39:49 +08:00
fullwall
d334d86f3d Make shulker bullet the default marker type 2020-09-11 16:35:15 +08:00
fullwall
52f8044cd5 Update to 1.16.3 2020-09-11 09:29:42 +08:00
fullwall
11b161e216 Destroy wander markers 2020-09-10 21:23:25 +08:00
fullwall
5d2d6b7e4d Move marker code to sync 2020-09-10 20:48:18 +08:00
fullwall
934f94e137 Add setting for max minecraft pathfinder fall distance 2020-09-05 15:13:34 +08:00
fullwall
7d10e25da5 Fix condition in entityportalevent 2020-08-30 17:00:33 +08:00
fullwall
0a9aaef54e Add setting 2020-08-28 22:55:29 +08:00
fullwall
9f3da308e3 Don't save commands directly to avoid yaml key issues 2020-08-12 23:40:44 +08:00
fullwall
a5d2010c41 Initial 1.16.2 update 2020-08-12 22:21:12 +08:00
fullwall
73250c300a Allow /npc hologram set to add not set 2020-08-11 22:57:32 +08:00
fullwall
45907da2d7 Hologram bugfixes 2020-08-11 22:47:45 +08:00
fullwall
2f6395884a Make /npc tphere center and cursor work consistently 2020-08-10 18:02:35 +08:00
fullwall
21b2908e83 Remove team metadata 2020-08-09 13:04:46 +08:00
fullwall
9d50055d6f Only players can use scoreboard teams at the moment 2020-08-08 22:34:49 +08:00
fullwall
d579fcbb53 Add cursor argument and center flag to /npc tphere 2020-08-03 20:30:50 +08:00
fullwall
d46aad717f Backport boat movement to 1.15 2020-07-27 17:42:30 +08:00
fullwall
8639c0ab27 Add /npc hologram direction 2020-07-27 17:34:07 +08:00
fullwall
2a8f54f2d6 Move movement code into playerTick to avoid inter-world crashes 2020-07-27 17:14:57 +08:00
fullwall
5bfe08ecfb Rudimentary movement strategy for non-living entities 2020-07-27 15:56:42 +08:00
fullwall
e8c57acac1 Add boat movement to 1.16, include ID in default selection message 2020-07-27 10:44:13 +08:00
fullwall
62e44c25ed Armor stands shouldn't have holograms even if the setting is enabled 2020-07-22 01:30:07 +08:00
fullwall
5907c1c8b2 Make /npc tphere include the coordinates it was teleported to 2020-07-22 00:54:49 +08:00
fullwall
be592d1f54 setInvulnerable doesn't exist on old minecraft versions 2020-07-21 20:59:54 +08:00
fullwall
7081002f1f Add some error messages for invalid /npc hologram commands 2020-07-21 11:15:05 +08:00
fullwall
ac9d7035e1 Init anonymous registry list 2020-07-18 21:18:53 +08:00
fullwall
155df40dcb Make getNPCRegistries() return anonymous registries too, make default registry name static 2020-07-18 21:10:55 +08:00
fullwall
c8898b52e3 Add always-use-name-holograms 2020-07-18 19:08:10 +08:00
fullwall
b571debec1 Add -s(ilent) flag to /npc create 2020-07-18 01:00:23 +08:00
fullwall
65aa07a09d Null check 2020-07-17 12:35:36 +08:00
fullwall
b14f0bac9c Redirect left/right clicks for hologram NPCs 2020-07-17 09:52:00 +08:00
fullwall
f973fdde9c Remove unused quickselect setting 2020-07-16 23:55:09 +08:00
fullwall
57373a68a3 Don't teleport if despawned 2020-07-15 23:50:48 +08:00
fullwall
0036c9d6a2 Fix /npc command random 2020-07-15 20:19:43 +08:00
fullwall
4e26f52252 Go back to including metrics directly 2020-07-12 11:49:48 +08:00
fullwall
0feb1462ef Reduce default new finder iterations 2020-07-11 13:14:45 +08:00
fullwall
c60e18bd87 teleport should check cross-world 2020-07-11 00:44:40 +08:00
fullwall
f3986ec9cc Update custom name status immediately on spawn 2020-07-11 00:38:27 +08:00
fullwall
aaa45ea72e Paper seems to prefer despawning immediately 2020-07-10 15:13:53 +08:00
fullwall
0586f2ab89 Vehicles shouldn't use LookAirController 2020-07-10 14:04:53 +08:00
fullwall
429264dbf0 Fix Boolean parsing issue 2020-07-10 12:28:39 +08:00
fullwall
652a68a79d Respect name visibility properly 2020-07-10 12:19:29 +08:00
fullwall
44b6da408d Simplify marker removal 2020-07-09 23:43:27 +08:00
fullwall
ea20cdb21e Fix duplication of name hologram 2020-07-09 23:37:45 +08:00
fullwall
cb676c4b19 Implement new event 2020-07-08 23:52:42 +08:00
fullwall
b5e59585e3 If NPC is already despawned count that as a valid despawn 2020-07-08 19:26:00 +08:00
fullwall
202c2487a6 Allow selecting by NPC uuid (global) 2020-07-08 12:18:49 +08:00
fullwall
3ecd3300ce Add location cloning to setTarget and Waypoint 2020-07-07 22:22:34 +08:00
fullwall
29e6e20feb Add /npc hologram clear 2020-07-07 01:07:01 +08:00
fullwall
ed141532a8 Don't store hashcode goal selector 2020-07-06 23:28:14 +08:00
fullwall
002b2b61ff Also cancel push event if not collidable 2020-07-06 21:48:57 +08:00
fullwall
c68ba08f9d Fix missing change 2020-07-06 21:27:48 +08:00
fullwall
0a58215541 Use holograms instead of scoreboard for names 2020-07-06 16:37:34 +08:00
fullwall
d333c98823 Refactor getHeight for NMS 2020-07-06 08:42:46 +08:00
fullwall
942b354967 Fixes for /npc hologram, add /npc command random 2020-07-03 22:59:18 +08:00
fullwall
878263359a Flesh out hologram impl more 2020-07-03 15:14:55 +08:00
fullwall
ae0c3b7a6b Update /npc text help 2020-07-02 12:30:00 +08:00
fullwall
9d2cad098a Implement new bounding box checker for pathfinding 2020-06-30 20:39:40 +08:00
fullwall
381f303023 Add very basic /npc hologram command 2020-06-30 18:17:14 +08:00
fullwall
05cc8de3c7 Implement /npc command cost 2020-06-30 15:20:02 +08:00
fullwall
82bdbe31c1 Fix condition negation 2020-06-29 23:09:18 +08:00
fullwall
79eab9135b Null check poses trait 2020-06-29 18:05:48 +08:00
fullwall
0ee8c63a66 Remove debug 2020-06-29 18:02:30 +08:00
fullwall
0293ac17df Add default poses 2020-06-29 15:32:37 +08:00
fullwall
c7ab1a8407 Copy getStoredLocation/getLocation 2020-06-28 18:05:04 +08:00
fullwall
d8b3b1c2c0 Add event to spawning debug 2020-06-28 17:36:24 +08:00
fullwall
c9564c4be2 Implement enderman methods 2020-06-27 15:41:47 +08:00
fullwall
59cefadeda Add /npc enderman 2020-06-27 15:41:22 +08:00
fullwall
99c7155a7a Make debug-mode show /npc skin exception 2020-06-27 10:52:54 +08:00
fullwall
2cb61039eb Implement new event 2020-06-26 20:51:50 +08:00
fullwall
19013fc94f Allow equipping netherite gear in /npc equip 2020-06-26 14:26:10 +08:00
fullwall
d6df589b23 Implement new event 2020-06-26 12:16:13 +08:00
fullwall
04519d868b Initial 1.16 commit 2020-06-25 17:24:32 +08:00
fullwall
02e68de7c7 Add error message if item in hand pattern not specified 2020-06-23 20:38:19 +08:00
fullwall
869e787fea Update disableteleporting message id 2020-06-15 21:20:10 +08:00
fullwall
2a131102df Check for range equality in random lookclose 2020-06-13 00:18:59 +08:00
fullwall
50218336c5 Remove debugging 2020-06-12 21:18:52 +08:00
fullwall
c5bcfdc8cd Reformat 2020-06-12 20:02:48 +08:00
fullwall
a591089d3c Add debug for /npc command 2020-06-12 19:35:30 +08:00
fullwall
bcf932d616 Add message about cycle parameter 2020-06-12 19:31:36 +08:00
fullwall
daa4d3cc25 Add linear waypoint cycling 2020-06-12 19:29:28 +08:00
fullwall
67510c43a5 Add missing permission error to /npc command --permission 2020-06-11 23:31:14 +08:00
fullwall
0693cd3bfc Change /npc command --permissions 2020-06-11 23:19:24 +08:00
fullwall
40bf7444dd Add some detailed help for /npc command 2020-06-11 16:47:55 +08:00
fullwall
244496dca3 Fixes for /npc command sequential 2020-06-11 16:23:48 +08:00
fullwall
1fd6ccbad9 First pass of /npc command sequential 2020-06-11 02:24:03 +08:00
fullwall
500e8527e1 Reorder player update task adding 2020-06-08 16:30:13 +08:00
fullwall
fd14197175 Account for negative max players 2020-05-28 22:34:12 +08:00
fullwall
ef03e224c2 -o implies -p in /npc command 2020-05-21 18:36:59 +08:00
fullwall
df5ed08e32 Add /npc waypoint add 2020-05-16 16:22:15 +08:00
fullwall
4633b75c24 Use new util method 2020-05-15 12:26:21 +08:00
fullwall
d484432f83 Call left click event for vehicles 2020-05-13 13:23:59 +08:00
fullwall
0b922011bd Rework tablist for recent versions 2020-05-12 23:12:39 +08:00
fullwall
5e2a7efb9e Revert view distance tracking code 2020-05-12 22:33:54 +08:00
fullwall
0498353751 Update tablist after teleport 2020-05-12 22:13:22 +08:00
fullwall
c1a89984a3 Rework mounted pathfinding 2020-05-12 20:28:41 +08:00
fullwall
c2467b7a25 Adjust horse pathfinding 2020-05-12 16:48:21 +08:00
fullwall
cc14768607 New finder now sets the passenger movement for horses 2020-05-11 20:36:35 +08:00
fullwall
03064a55f5 Increase read timeout of /npc skin --url 2020-05-11 14:15:48 +08:00
fullwall
c79c3cbf88 Add missing messages in waypoint commands 2020-05-10 22:29:34 +08:00
fullwall
bb0aedff0c Prevent concurrent modification of player list 2020-05-10 18:42:58 +08:00
fullwall
10cea99af1 Disable milking protected NPC cows 2020-05-09 22:15:22 +08:00
fullwall
aa0752f7a2 Change /npc sound -s to a toggle and make -d reset silent to false 2020-05-08 13:36:58 +08:00
fullwall
3cf8c7c256 Fix bug with /npc snowman /npc pufferfish and make /npc ocelot more descriptive 2020-05-07 16:29:45 +08:00
fullwall
c72016046b Fix player movement speed and add iterations per tick setting for new pathfinder 2020-05-06 18:08:12 +08:00
fullwall
e89cd03cce Fix bug with /npc command --n 2020-05-05 21:53:12 +08:00
fullwall
41a3673a9f Make /npc pathopt more usable 2020-05-05 18:40:58 +08:00
Alex "mcmonkey" Goodwin
30f2dee4d7
Reduce potential for errors with packet teams (#2138)
* Reduce potential for errors with packet teams

Move scoreboard removal out of NMS to event method, and make more unique names

* remove unneeded isCancelled check
2020-05-05 18:20:56 +08:00
fullwall
92d3605e30 Change default talk item to * 2020-05-05 15:48:35 +08:00
fullwall
071225bcb9 Revert previous change 2020-05-04 21:10:47 +08:00
fullwall
e6cf9b8b08 Clean up multiworld permission check for /npc tphere and don't respawn NPCs who were spawned for another reason 2020-05-04 16:21:34 +08:00
fullwall
a9ddebd8f8 Controllable should allow donkeys/mules to use horse physics, and delay skin respawning by a tick 2020-05-04 16:09:07 +08:00
fullwall
9a4c8e73c2 Micro optimisation 2020-05-03 02:06:33 +08:00
fullwall
5bb346e8c9 Remove cache persistence logic 2020-05-03 00:16:16 +08:00
fullwall
ba31206a4c Add path caching to linear waypoint provider 2020-05-03 00:13:29 +08:00
fullwall
a1744f0e35 Prettify /npc command output a little bit 2020-05-01 20:07:22 +08:00
Alex "mcmonkey" Goodwin
2c24671ae3
simplify scoreboard patch to be 100% packet based (#2129)
* simplify scoreboard patch to be 100% packet based

which fixes edge case client errors

* fix edge cases of respawning and multinpc boards
2020-05-01 17:49:25 +08:00
fullwall
16c418415b Cleanup, reduce number of packets per packet update cycle 2020-05-01 17:49:03 +08:00
fullwall
a2208f0d32 Minor style changes 2020-05-01 01:47:07 +08:00
Alex "mcmonkey" Goodwin
981ade8974
patch the majority of potential scoreboard packet errors (#2128) 2020-05-01 01:39:07 +08:00
fullwall
27f417113a Simplify CitizensNPCRegistry 2020-05-01 00:51:05 +08:00
fullwall
01b3dbfd33 PlayerUpdateTask should now be run on 1.8.8 2020-05-01 00:40:27 +08:00
fullwall
2b94ad8959 Minor cleanup 2020-05-01 00:26:17 +08:00
fullwall
f33c745e19 Add controllable ground direction modifier setting 2020-04-30 23:45:06 +08:00
fullwall
8336fe1b7c Fix load bug in body yaw 2020-04-30 23:11:45 +08:00
fullwall
521c1d3fda Add /npc command permissions for temporary permissions during the command 2020-04-30 21:32:38 +08:00
fullwall
12ffd56981 Add delay argument to /npc command and add a builder-style API for creating new commands 2020-04-30 21:15:24 +08:00
Alex "mcmonkey" Goodwin
0e31ffb9f8
Implement packet-based scoreboard team enforcement (#2127)
* Implement packet-based scoreboard team enforcement

This should fix incompatibility with scoreboard plugins that break the main scoreboard

* impl to 1.8-1.12, move event logic, fix Setting usage

* pull setting if to outside of foreach loop

* fix return vs continue, minor opti as requested
2020-04-30 20:51:10 +08:00
fullwall
8109a90440 Fix saving of body vs head yaw 2020-04-30 19:11:56 +08:00
fullwall
32429f140d Run clientside player ticking at a different time 2020-04-29 20:56:39 +08:00
fullwall
bbf3f281eb Fix portal removal timing 2020-04-29 19:18:16 +08:00
fullwall
d5667e53f5 Use new API 2020-04-26 12:53:00 +08:00
fullwall
dc72f7526c Support bungee /server command in Citizens command 2020-04-25 19:10:49 +08:00
fullwall
fe8eb4e85d Change how npc looking works 2020-04-25 16:57:31 +08:00
fullwall
f9b0397cab Add --eid option to /npc remove 2020-04-22 23:46:36 +08:00
fullwall
a360810e8d Pre-filter chunk unload entities 2020-04-22 20:25:17 +08:00
fullwall
4bbe797120 QoL change for /npc glowing --color to enable if not previously enabled 2020-04-22 18:00:15 +08:00
fullwall
5e431462e0 Try to remove any previous wander goals 2020-04-22 00:27:25 +08:00
fullwall
000fc19a40 Clear PhTree before recalculation 2020-04-22 00:24:18 +08:00
fullwall
2383e8f551 Further reduce default controllable speed 2020-04-21 23:04:39 +08:00
fullwall
655bdf0001 Change how NPC looking works so that body yaw matches head yaw after a tick 2020-04-21 22:24:13 +08:00
fullwall
06d8e92ff2 Cancel right click event if NPC has talked to someone 2020-04-20 21:44:50 +08:00
fullwall
0531fe859e Implement new AI API for Minecraft 1.15.2, fix Squids 2020-04-20 17:38:56 +08:00
fullwall
725adb009f Cast command cooldowns manually 2020-04-20 00:54:35 +08:00
fullwall
341f7b1990 Incorporate speed modifier into forward controllable speed and boost left/right speed 2020-04-19 18:07:49 +08:00
fullwall
0a8736b690 Add some basic javadoc to SkinTrait 2020-04-19 02:43:08 +08:00
fullwall
2c1ef04614 Migrate /npc skin properly and deprecate skinnable entity methods 2020-04-19 02:13:00 +08:00
fullwall
93af872e93 Ensure /npc skin works while not spawned 2020-04-19 02:09:46 +08:00
fullwall
80011eed41 Revamp SkinnableEntity into SkinTrait 2020-04-19 02:07:03 +08:00
fullwall
9090d1c69b Fix lookclose target invalidation 2020-04-19 01:28:40 +08:00
fullwall
ecae2dbe8a Make wander goal more random 2020-04-19 01:22:55 +08:00
fullwall
b546afa368 Better default skin name detection 2020-04-18 12:31:27 +08:00
fullwall
aaa6397a69 Add new API to avoid default skin fetching 2020-04-18 12:24:29 +08:00
fullwall
c63b6efdf7 Fix NPE in Enderman Equipper 2020-04-16 18:31:45 +08:00
fullwall
d13530ff49 Ensure commands run on main thread 2020-04-16 03:04:42 +08:00
fullwall
b26540619b Merge branch 'master' of github.com:CitizensDev/Citizens2 2020-04-15 04:20:38 +08:00
fullwall
e288bd934c Fix NPE in linear waypoint editor 2020-04-15 04:20:21 +08:00
Tom Miller
fe024923cf
We can optimize a significant portion of LookClose's findNewTarget method with some changes: (#2103)
-Build the list of all potential Players and THEN sort by distance. A good chunk of the method's time was spend sorting things it didn't need to.
-Second, reorder the player checks for best performance, where getNPC() is the cheapest check and isPluginVanished is the most expensive check.

In somewhat minimal testing, these changes almost dropped findNewTarget off of my profiling entirely
2020-04-14 01:57:20 +08:00
fullwall
09f7cbb9d5 Use chunk.getEntities on chunk unload 2020-04-13 21:56:48 +08:00
fullwall
14ebf26935 Try to avoid water more 2020-04-08 23:59:49 +08:00
fullwall
ba13f6c389 Use raw chat messages to perform commands 2020-04-08 23:19:59 +08:00
fullwall
275728e65b Fix cat lying down, remove dead code 2020-04-02 13:28:42 +08:00