Commit Graph

297 Commits

Author SHA1 Message Date
fullwall
c66a5b53ad Fix fluid push stack overflow 2023-02-14 00:19:45 +08:00
fullwall
871c7c0259 More code refactoring 2023-02-13 22:20:13 +08:00
fullwall
ad218261ff Code size reduction 2023-02-13 21:25:26 +08:00
fullwall
8f43ca70e5 Fix bug in item parsing for holograms, allow arbitrary bounding boxes for BoundingBoxTrait, attempt to unify common code across NMS implementations 2023-02-13 20:32:20 +08:00
fullwall
b0a2c51883 Fix /npc mirror with uuid change 2023-02-11 22:52:53 +08:00
fullwall
fe4434de91 Don't clear uuid version 2023-02-09 21:09:53 +08:00
fullwall
7244834e34 Make NPCs more likely to swim, add speed setting in water 2023-02-08 22:07:15 +08:00
fullwall
e828782be6 Snowman performance change 2023-01-27 01:54:13 +08:00
fullwall
a0439a3272 Mirror result slot 2023-01-06 23:25:57 +08:00
fullwall
aee977ebb3 Fix some 1.8.8 shop compat 2023-01-06 00:41:47 +08:00
fullwall
ffac34f734 Fix player ticking 2023-01-05 22:51:42 +08:00
fullwall
98c5c48c23 Implement new API 2023-01-05 20:05:15 +08:00
fullwall
ffef42efb7 Packet NPCs now properly spawn, fix NPE in new pathfinder, fix 1.8.8 compatibility with /npc shop 2023-01-04 23:02:33 +08:00
fullwall
e21681fa26 Add /npc hitbox, WIP packet NPCs 2023-01-03 20:55:27 +08:00
fullwall
b4280103c1 Simplify PlayerUpdateTask 2023-01-01 18:15:10 +08:00
fullwall
b8e79b20cf Implement API, check for invalid Player references, remove Text min/max-cooldown settings and fix Text delay/right click cancellations, make SitTrait work with npc#teleport 2023-01-01 15:26:35 +08:00
fullwall
a669a8a256 Workaround protocollib not supported listed boolean, fix dolphins moving while on ground, add /npc bossbar --range, add /npc create --nameplate --temporaryticks 2022-12-29 23:26:02 +08:00
fullwall
c11da48fc2 Set nophysics flag on setGameMode 2022-12-28 23:14:41 +08:00
fullwall
f6823fd842 Refresh sleep timers 2022-12-26 00:53:38 +08:00
fullwall
27603afdf4 Add /npc mirror for skins 2022-12-25 01:37:54 +08:00
fullwall
886d83eeb4 Use new API 2022-12-24 21:43:08 +08:00
fullwall
8c10fe8b18 Use per player metadata API 2022-12-24 19:53:59 +08:00
fullwall
8f21f87867 Be more aggressive with bed packets in older minecraft versions 2022-12-22 23:35:19 +08:00
fullwall
4c958b5e7c Fix custom name components in 1.8.8-1.12.2, 2022-12-22 23:17:28 +08:00
fullwall
8d202aa988 Implement metadata 2022-12-19 00:36:53 +08:00
fullwall
e90096eebe Add /npc spellcast 2022-12-18 23:21:08 +08:00
fullwall
3ee17c6dae Fix /npc camel and /npc llama 2022-12-18 22:18:12 +08:00
fullwall
c6e7ce65f5 Add /npc camel, minor code cleanup 2022-12-18 13:25:08 +08:00
fullwall
46b18eee49 Run cleanup 2022-12-10 13:31:11 +08:00
fullwall
b243d9698c Use npc.isProtected() 2022-12-10 13:29:05 +08:00
fullwall
139158cb48 Initial update to 1.19.3 2022-12-08 23:21:09 +08:00
fullwall
d34fd48533 Make lookAtFunction use packets for yaw, tweak API further 2022-12-06 23:50:11 +08:00
fullwall
c935caa140 Remove some dead code 2022-12-03 21:02:59 +08:00
fullwall
ede598cc9b Fix some issues with ShopTrait item costs/results and add NBT filter API. Adjust /npc item to be more flexible. 2022-12-03 18:21:46 +08:00
fullwall
8a65d4a5a0 Add way to set custom name directly 2022-11-30 06:13:55 +08:00
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
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
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
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
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
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
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
dad74a3279 Fix movement on 1.12/13 2022-01-09 22:09:55 +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
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
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
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
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
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
2a8f54f2d6 Move movement code into playerTick to avoid inter-world crashes 2020-07-27 17:14:57 +08:00
fullwall
3c5ba43b92 Backport to 1.8.8 too 2020-07-11 15:50:24 +08:00
fullwall
9dbe312b44 Backport alternative entity tracking setup to 1.13 2020-07-11 15:47:18 +08:00
fullwall
0a4905c0f3 Randomise name if using holograms to have unique scoreboard names 2020-07-08 18:58:39 +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
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
b68782d661 Backport to 1.13/14 2020-06-12 19:57:45 +08:00
fullwall
d484432f83 Call left click event for vehicles 2020-05-13 13:23:59 +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
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
3cf8c7c256 Fix bug with /npc snowman /npc pufferfish and make /npc ocelot more descriptive 2020-05-07 16:29:45 +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
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