Commit Graph

659 Commits

Author SHA1 Message Date
fullwall
b4943a0e84 Fix some bugs in straight line targeter 2020-11-27 22:45:13 +08:00
fullwall
2f10ac86cc Avoid caching empty paths 2020-11-24 20:34:22 +08:00
fullwall
4491e95952 Reload holograms with line height change 2020-11-23 07:48:26 +08:00
fullwall
810441c17b Add new setting and implement parameter 2020-11-22 21:29:55 +08:00
fullwall
fb0591c187 Implement new APIs 2020-11-22 21:08:01 +08:00
fullwall
9310dde3f0 Add new navigation strategy without pathfinding 2020-11-20 19:11:26 +08:00
fullwall
353251acc6 Strip colors when checking for text emptiness 2020-11-17 11:39:24 +08:00
fullwall
59d4f7033c Hide nameplates for empty hologram names 2020-11-17 11:36:18 +08:00
fullwall
3c2d0625b4 Clone spawn location more, minor cleanup 2020-11-17 10:15:52 +08:00
fullwall
da5a611014 Add --registry arg to /npc select 2020-11-17 09:12:41 +08:00
fullwall
0add70d397 Add spawnreason to debug 2020-11-17 09:09:52 +08:00
fullwall
e29f05156d Add setLocked to Age 2020-11-17 09:04:24 +08:00
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