Commit Graph

334 Commits

Author SHA1 Message Date
fullwall
b8050199f1 Add per-player rotation API 2022-11-28 23:10:50 +08:00
fullwall
d9c55b97b0 Implement cancellable variant 2022-11-14 23:53:14 +08:00
fullwall
ed9230c680 Implement knockback event 2022-11-13 23:33:18 +08:00
fullwall
da19c909fe Implement isPushableByFluid metadata up to 1.13.2 2022-11-13 20:54:06 +08:00
fullwall
85dd78e582 Fix NMS#sleep 2022-11-12 19:50:05 +08:00
fullwall
35245a580b Fix /npc pickupitems message and for players, null casing for /npc panimate START_SLEEPING 2022-11-10 21:31:32 +08:00
fullwall
73689cf9c2 Widen navigating definition 2022-11-07 23:30:39 +08:00
fullwall
f8cdbc4515 Add SleepTrait 2022-10-25 17:07:11 +08:00
fullwall
f6d7ebe809 Add STOP_ELYTRA PlayerAnimation, add a right click option to /npc shop to avoid having to make a command for it 2022-10-22 10:42:44 +08:00
fullwall
d04ea81225 WIP fix for NPCs not despawning properly 2022-10-17 01:17:32 +08:00
fullwall
fc83c28085 Consolidate sit implementation, persist sit location to avoid sinking over successive restarts 2022-10-04 23:42:23 +08:00
md5nake
d29781e0b5
Make pathfinder max visited nodes configurable (#2902) 2022-10-02 02:44:06 +08:00
fullwall
03e757d411 Fix wither arrow shield typo 2022-09-15 01:01:48 +08:00
fullwall
1977e146d0 Try to deploy parent pom 2022-09-10 10:08:33 +08:00
fullwall
d64cfda050 Update poms for new repo 2022-09-09 19:05:23 +08:00
fullwall
1ccc2eae6d Adjust /npc wither charged -> invulnerable, add arrow-shield 2022-09-08 13:28:14 +08:00
fullwall
7b3c0c8126 Add /npc allay 2022-07-28 06:36:51 +08:00
fullwall
ddf5660c66 Stop anvil guis from giving out input items 2022-07-26 15:08:13 +08:00
fullwall
5dbc578fd2 Integrate team creation directly into ScoreboardTrait 2022-07-25 23:14:00 +08:00
fullwall
b28348ec52 Cleanup 2022-07-22 16:40:18 +08:00
fullwall
d7ce79fe85 Update maven pom plugin version and trial a microoptimisation for players 2022-07-22 15:22:55 +08:00
fullwall
b6eb42e07f Fix updateInventoryTitle on containers 2022-07-22 00:57:36 +08:00
fullwall
58b53174c8 Fix itemframes, add /npc debug command, don't lowercase skin names early in skintrait 2022-07-15 10:21:44 +08:00
fullwall
4dfac9c62d Remove team unregistering to ScoreboardTrait, add scoreboard-teams send ticks to assist with a possible scoreboard conflict 2022-07-13 20:09:21 +08:00
fullwall
3fcf8931f7 Consolidate versioned trait commands 2022-07-10 01:53:34 +08:00
fullwall
98c2d3492a Add /npc piglin --dancing 2022-07-07 23:34:15 +08:00
fullwall
35dd4078dd Fix double updating bee/bat/ghast AI 2022-07-05 19:13:31 +08:00
fullwall
36cbef81a7 Fix dropstrait, allow player hurt/death sound to be set 2022-06-24 12:43:23 +08:00
fullwall
bf532728d1 Set destination even for non NPCs 2022-06-22 12:35:01 +08:00
fullwall
318596c715 Adjust minecraft pathfinder to look less frequently and pathfind closer to destination in players 2022-06-21 23:52:25 +08:00
fullwall
a64ad43d11 Fix block breaker on old versions not picking up the entity held item 2022-06-17 20:36:05 +08:00
fullwall
4768a4f76a Add SitTrait for NPCs 2022-06-14 21:38:15 +08:00
fullwall
2e2a83779e Implement anvil GUI 2022-06-12 19:49:21 +08:00
fullwall
21f3a7755a Implement new API 2022-06-12 01:37:38 +08:00
fullwall
4c3224efad Remove eclipse compiler from poms 2022-06-08 14:07:33 +08:00
fullwall
d94e83b74c Attempt to update to 1.19 2022-06-08 11:58:22 +08:00
fullwall
2341ccfbf9 Update references 2022-04-28 13:47:50 +08:00
fullwall
8694603c85 Refactor PlayerControllerLook into RotationTrait 2022-04-25 02:22:39 +08:00
fullwall
324d94a21f Rename /npc pose --save to /npc pose --mirror and add /npc pose --save to save the current NPC pose 2022-04-24 19:22:55 +08:00
fullwall
3685d33980 Add /npc bossbar --track and fix equipment caching logic 2022-04-23 13:42:48 +08:00
fullwall
53d7a23d9f Renamings from NMS 2022-04-19 15:37:35 +08:00
fullwall
b0f1290b58 Change EAT_FOOD to LEAVE_BED in 1.18/17 2022-04-13 11:14:37 +08:00
fullwall
908e678135 entityBaseTick should update some variables 2022-03-10 03:12:43 +08:00
fullwall
897c511757 Fix dragon yaw and make it same as rider yaw. Refactor out redundant calculation of yaw 2022-02-20 22:34:29 +08:00
fullwall
97d4c3b117 Make nonliving entities look at entities too, fix /npc lookclose with shulkers spamming noises 2022-02-20 21:56:51 +08:00
fullwall
626b6d6b42 Allow NPCs to push other entities 2022-02-20 21:21:50 +08:00
fullwall
ecbab327ed Fix some bugs 2022-02-20 10:04:09 +08:00
fullwall
be019c0e83 Refactor blockbreaker, add /npc blockbreak 2022-02-20 01:05:38 +08:00
fullwall
b12ae2ee66 Improve underwater pathfinding, cleanup 2022-02-19 18:26:37 +08:00
fullwall
b26dfb3d0f Implement new PathStrategy method, improve swimming navigation 2022-02-19 16:36:31 +08:00
fullwall
2981f7e855 Fix flying move controllers not respecting the no gravity setting 2022-02-19 14:20:02 +08:00
fullwall
984ce6d9e7 Improve underwater mobs staying in place 2022-02-16 17:36:03 +08:00
fullwall
bef0f16f3b Cancel current move destination when navigator paused 2022-02-02 21:40:19 +08:00
fullwall
77aa63f1ff Trial minor optimisation 2022-01-22 21:08:55 +08:00
fullwall
7683516d62 Avoid setting NPC.COLLIDABLE_METADATA on Player NPCs 2022-01-20 17:10:52 +08:00
fullwall
bf3bf6f776 Add /npc llama -c/b 2022-01-02 01:33:19 +08:00
fullwall
5fffa23e94 Add packet update delay setting 2022-01-02 01:22:35 +08:00
fullwall
85cf761933 Further micro-optimisation 2021-12-29 00:42:20 +08:00
fullwall
b933246a95 Implement a surprisingly missed optimisation 2021-12-29 00:30:53 +08:00
fullwall
19ee0e2c19 Use metadata and track players if on the playerlist which should make mobs spawn nearby 2021-12-28 20:13:25 +08:00
fullwall
750f8e2e4c Implement helper methods and allow hologram lines to be items 2021-12-27 23:59:21 +08:00
fullwall
da71b8d811 Null check 1.8.8 getCollisionBox 2021-12-19 14:30:57 +08:00
fullwall
71a6e43c0e Reduce eclipse compiler version 2021-12-01 23:13:32 +08:00
fullwall
bbae8d83d5 Trial updating eclipse compiler version 2021-12-01 23:09:38 +08:00
fullwall
22fe84831e Initial 1.18 update 2021-12-01 22:56:22 +08:00
fullwall
8f341ccaf2 Implement new metadata 2021-11-28 00:09:30 +08:00
fullwall
3da3cc2ae8 Fix /npc villager --profession error message, more sane boundingbox calculation 2021-11-27 12:19:19 +08:00
fullwall
840f32469b First pass at fall damage 2021-10-25 00:22:19 +08:00
fullwall
19c07ff1f5 Null check /npc bossbar 2021-10-14 18:05:19 +08:00
fullwall
fd3833deba Backport bukkitEntity change 2021-09-27 20:50:38 +08:00
fullwall
3d3de6576d Use onPreSpawn event to avoid 'FOUC' in armorstands. Fix invulnerable ticks being reduced too quickly. 2021-09-23 14:12:44 +08:00
fullwall
f9bb877e85 Explicit types for 1.14 and 1.15 2021-09-20 21:16:40 +08:00
fullwall
db825cce72 Add rough impl of SneakTrait 2021-09-20 20:59:54 +08:00
fullwall
b930cb2460 Block invalid item material AIR 2021-08-31 02:06:31 +08:00
fullwall
d4c557d5b2 Improve /npc text editor, implement speech bubbles, allow armor stands to pathfind using the A* finder, allow /npc bossbar to work on all entities 2021-07-19 23:02:41 +08:00
fullwall
f2d4c38843 Preliminary update to 1.17 - known bugs include every entity glowing 2021-06-13 03:20:18 +08:00
Alex "mcmonkey" Goodwin
4dc123bb4b
Refactor scoreboard handling to use instant scoreboard application at spawn (#2544)
Full description in PR https://github.com/CitizensDev/Citizens2/pull/2544
2021-05-08 02:02:17 +08:00
fullwall
c24ce1e1ed Use NMS methods for isSolid checking 2021-04-30 10:31:25 +08:00
fullwall
15f57c4970 Add null checks 2021-01-24 20:51:12 +08:00
fullwall
9cbc1c6bd8 Send equipment packets when equipment changes 2021-01-24 19:25:59 +08:00
fullwall
688ba3af8e Avoid errors with missing metadata 2021-01-20 17:55:34 +08:00
fullwall
0a6b1235db Reduce jar size by refactoring push event 2021-01-03 00:09:21 +08:00
fullwall
0111600aa8 Fix /npc polarbear message and simplify behavior map entities to work with /npc ai 2020-12-17 13:38:02 +08:00
fullwall
fe7f6e373f Add /npc polarbear -r and restore target and goal selectors 2020-12-17 13:13:23 +08:00
fullwall
556c58a7f6 Only jump with head height
distance of above
2020-12-16 01:16:04 +08:00
fullwall
7743763d3c Refactor common code, add missing condition 2020-11-14 18:41:21 +08:00
fullwall
dffbf60465 Simplify inBlock check to avoid chunk loading 2020-11-14 17:27:54 +08:00
fullwall
11a231cd13 Remove deprecated interface 2020-10-24 14:21:04 +08:00
fullwall
e52a3c4685 Extend CraftTippedArrow 2020-10-24 13:39:25 +08:00
fullwall
a944c3ca9c Make mob entity uuids the same as their NPC uuid 2020-10-18 18:32:33 +08:00
fullwall
9f7e57fbda Add spaces between /npc villager output 2020-10-03 22:13:47 +08:00
fullwall
8c1b51da98 Look more often even if target hasn't moved much 2020-09-16 21:58:15 +08:00
fullwall
0db8f37eeb Block right click water bucket for protected NPC fish 2020-09-16 20:35:34 +08:00
fullwall
7450c4db45 Use new getOrAddTrait methodf 2020-09-14 17:57:58 +08:00
fullwall
ab16b50814 Try to avoid handling player properties twice if respawning in the same tick 2020-09-13 16:16:54 +08:00
fullwall
934f94e137 Add setting for max minecraft pathfinder fall distance 2020-09-05 15:13:34 +08:00
fullwall
0c7dd3b4f0 Set default invulnerability ticks to 0 2020-09-01 23:51:17 +08:00
fullwall
c4e4d2f300 Add tablist remove delay setting 2020-08-28 22:55:07 +08:00
Alex "mcmonkey" Goodwin
a79e8a571a
Patch consistent application of scoreboard teams (#2302)
* Patch consistent application of scoreboard teams

This corrects issues with scoreboard team logic by ensuring NPCs use a consistent internal name, rather than randomizing

* apply team name tag visible=false earlier
2020-08-28 22:43:14 +08:00
fullwall
45907da2d7 Hologram bugfixes 2020-08-11 22:47:45 +08:00
fullwall
d9762be13b Use head height for block breaker 2020-08-08 23:08:08 +08:00
fullwall
b902879ca6 Fix gravity 2020-08-08 15:21:54 +08:00
fullwall
d46aad717f Backport boat movement to 1.15 2020-07-27 17:42:30 +08:00
fullwall
2a8f54f2d6 Move movement code into playerTick to avoid inter-world crashes 2020-07-27 17:14:57 +08:00
fullwall
0a4905c0f3 Randomise name if using holograms to have unique scoreboard names 2020-07-08 18:58:39 +08:00
fullwall
ed141532a8 Don't store hashcode goal selector 2020-07-06 23:28:14 +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
9d2cad098a Implement new bounding box checker for pathfinding 2020-06-30 20:39:40 +08:00
fullwall
c9564c4be2 Implement enderman methods 2020-06-27 15:41:47 +08:00
fullwall
1505ccfeca Extra NPE check 2020-06-27 15:17:29 +08:00
fullwall
1db379d88f Update maven compiler version 2020-06-25 17:57:13 +08:00
fullwall
04519d868b Initial 1.16 commit 2020-06-25 17:24:32 +08:00
fullwall
c5bcfdc8cd Reformat 2020-06-12 20:02:48 +08:00
fullwall
310c1ce52f Block force boat/minecart mounting 2020-06-12 19:49:25 +08:00
fullwall
500e8527e1 Reorder player update task adding 2020-06-08 16:30:13 +08:00
fullwall
51b974b50f Update inWater status 2020-06-07 12:09:10 +08:00
fullwall
2a1ce46e2b Use deprecated TippedArrow interface 2020-06-05 22:06:33 +08:00
fullwall
e7368747c7 Rework packet sending to avoid replacing the entity tracker entry 2020-05-16 19:13:19 +08:00
fullwall
d484432f83 Call left click event for vehicles 2020-05-13 13:23:59 +08:00
fullwall
241810eedc Delay remove packet one tick 2020-05-12 23:50:54 +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
feb6bc2851 Remove debug line 2020-05-12 21:13:09 +08:00
fullwall
c1a89984a3 Rework mounted pathfinding 2020-05-12 20:28:41 +08:00
fullwall
a044eed988 Attempted fix for /npc tphere - make NPCs tracked over a longer range than previously 2020-05-12 19:43:52 +08:00
fullwall
c2467b7a25 Adjust horse pathfinding 2020-05-12 16:48:21 +08:00
fullwall
9d6a9f7a14 Just block right clicks for mushroom cows if protected 2020-05-10 13:38:02 +08:00
fullwall
10cea99af1 Disable milking protected NPC cows 2020-05-09 22:15:22 +08:00
fullwall
7c203235c4 Add disambiguation method for compiling with latest spigot 2020-05-08 11:08:47 +08:00
fullwall
cf07a5a379 Fix jenkins compile issue 2020-05-08 10:54:25 +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
e1f749236b Fix /npc mushroomcow, increase base player speed 2020-05-06 11:13:54 +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
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
8c1f636c19 Add controllable ground direction modifier setting 2020-04-30 23:40:40 +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
a269bf1ccc Revert entity looking changes for now 2020-04-26 21:28:51 +08:00
fullwall
fe8eb4e85d Change how npc looking works 2020-04-25 16:57:31 +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
0531fe859e Implement new AI API for Minecraft 1.15.2, fix Squids 2020-04-20 17:38:56 +08:00
fullwall
80011eed41 Revamp SkinnableEntity into SkinTrait 2020-04-19 02:07:03 +08:00
fullwall
14ebf26935 Try to avoid water more 2020-04-08 23:59:49 +08:00
fullwall
275728e65b Fix cat lying down, remove dead code 2020-04-02 13:28:42 +08:00
fullwall
1cd8e1913e Add head yaw persistence 2020-03-21 18:30:52 +08:00
fullwall
1ddc78a543 Restore old stuck behaviour 2020-03-16 20:28:41 +08:00
fullwall
6bc8692b5f Fix a possible method resolution bug 2020-03-16 12:22:48 +08:00
fullwall
a6fbb31de6 Fix villager interacting in 1.15 2020-03-16 09:46:03 +08:00
fullwall
f345ef3f16 Restore PR, add --n to /npc command to allow a maximum number of uses per command 2020-03-03 23:40:42 +08:00
fullwall
9f3841c3ec Fix /npc name in 1.8.8 2020-03-03 23:31:04 +08:00
fullwall
767891588a Merge branch 'master' of github.com:CitizensDev/Citizens2 2020-03-02 14:52:19 +08:00
fullwall
496a4cbb3b Use Minecraft's no gravity logic and enable it for all default flying NPCs 2020-03-02 14:51:54 +08:00
Andre_601
7fd5f5cac4
Fix broken Nectar message (#2054) 2020-03-01 15:34:03 +08:00
fullwall
bd95e7d364 Remove some dead code 2020-03-01 15:33:48 +08:00
fullwall
87c2a884c5 Merge branch 'master' of github.com:CitizensDev/Citizens2 2020-03-01 15:30:00 +08:00
fullwall
95ab688877 Fix shulker color setting 2020-03-01 15:29:47 +08:00
fullwall
ad69b483db Add /npc snowman 2020-02-25 14:12:06 +08:00
fullwall
de94185133 Fix turtle navigation between biomes 2020-02-21 23:50:35 +08:00
fullwall
e52f616a4b Added sitting flag to /npc panda 2020-02-21 20:28:57 +08:00
fullwall
2d2b796b12 Reduce base horse movement speed 2020-02-16 17:18:12 +08:00
fullwall
8d6b56daa2 Reduce default movement speed on 1.15 villagers 2020-02-14 22:47:19 +08:00
fullwall
ade25b246a Use Minecraft horse controls 2020-02-14 22:42:03 +08:00
fullwall
3bf5881c4b Fix /npc equip for horses on 1.15, add max controllable speed setting 2020-02-14 19:00:06 +08:00
fullwall
72180ff8ee Update pom 2020-01-22 21:44:12 +09:00
Alex "mcmonkey" Goodwin
72c73329df Fix "SLEEP" and "STOP_SLEEPING" animations for 1.14 and 1.15 (#2029)
These now both fully work as they used to, allowing an NPC (or any Player entity) to go into a sleeping animation without requiring a bed (which is a bug introduced in the one of the recent MC updates). Fully tested and working in 1.15, presumed working for 1.14 as most things work the same. Not ported to 1.13 as I'm less confident on whether things are equivalent that far back.
2020-01-20 17:31:30 +09:00
fullwall
529855bd6d Deregister event handlers in deregisterAll(), empty talk item is now equivalent to * talk item 2020-01-16 17:17:58 +09:00
fullwall
a0e3b23bc3 Try to migrate ocelot modifiers trait for new MC versions 2020-01-11 13:41:46 +09:00
fullwall
44054d5941 Horse method not renamed properly 2020-01-11 13:33:52 +09:00
fullwall
1a0282d970 Fix /npc metadata remove and forward getOptional call to avoid default entity type issue 2019-12-23 11:03:08 +09:00
fullwall
3e708f0d80 Fix typo 2019-12-21 18:58:33 +09:00
fullwall
ba61a48815 Bump pom versions 2019-12-21 18:56:28 +09:00
fullwall
530e26c4f8 Fix pushable status in 1.15 2019-12-19 16:44:22 +09:00
fullwall
2089225321 Fix NPE in 1.15 navigaiton 2019-12-19 16:37:02 +09:00
fullwall
cefc0edf57 Remove debug 2019-12-13 12:18:44 +08:00
fullwall
a04f054fb9 Fix incorrect navigation checking 2019-12-13 00:08:20 +08:00
fullwall
688f78ea6f Merge moduled trait code and discontinue building of 1.10 2019-12-12 00:13:54 +08:00
fullwall
ff9c920df3 Initial 1.15 support 2019-12-11 11:25:10 +08:00