Commit Graph

262 Commits

Author SHA1 Message Date
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
75b3ec1ceb Catch NSME on network listener set 2022-12-20 21:35:51 +08:00
fullwall
8d202aa988 Implement metadata 2022-12-19 00:36:53 +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
7d2a222143 Trial using runtime maven dependencies to reduce jar size 2022-11-13 12:50:45 +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
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
4347901cab Backport changes 2022-08-22 23:05:57 +08:00
fullwall
972be828a1 Use new netty method 2022-08-04 11:49:42 +08:00
fullwall
7b3c0c8126 Add /npc allay 2022-07-28 06:36:51 +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
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
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
8a78c5788f Add SplashPotion for 1.8.8 2022-05-26 16:48:46 +08:00
fullwall
5b274ad7a7 Add ARROW type to 1.8.8 2022-05-11 20:45:11 +08:00
fullwall
c03ffef940 Add an arrow type to 1.8.8 2022-05-10 15:12:41 +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
96a5889111 Trial change to knockback in 1.8.8 2022-03-10 03:38:08 +08:00
fullwall
908e678135 entityBaseTick should update some variables 2022-03-10 03:12:43 +08:00
fullwall
bd26f30361 Add enchantment method when attacking in 1.8.8 2022-03-10 02:38:39 +08:00
fullwall
dfb63084b2 Run source format 2022-02-28 17:01:59 +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
b26dfb3d0f Implement new PathStrategy method, improve swimming navigation 2022-02-19 16:36:31 +08:00
fullwall
bf56a6dcb2 Add glowing for non-player characters, stop 1.8.8 noDamageTicks from going down too fast 2022-02-15 01:35:07 +08:00
fullwall
bef0f16f3b Cancel current move destination when navigator paused 2022-02-02 21:40:19 +08:00
fullwall
5c3878d2f8 Implement destinationTeleportMargin. Tweak pathfinding in an attempt to fix minecraft navigation issues with players. Expect changes. 2022-01-29 14:56:29 +08:00
fullwall
7683516d62 Avoid setting NPC.COLLIDABLE_METADATA on Player NPCs 2022-01-20 17:10:52 +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
3c3e1f12a1 Switch 1.8.8 pom to Java 7 (TBD if Java 6 still required) 2021-12-01 23:03: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
Alex 'mcmonkey' Goodwin
7314cec13c Fix broken build
caused by #2685
2021-11-08 17:40:12 -08:00
VytskaLT
eb8ac56b65
Fix updated versions of Netty on 1.8 (#2685)
* Fix new Netty versions on 1.8

* Fix on Netty 4.1.69.Final
2021-11-08 22:22:42 +08:00
fullwall
840f32469b First pass at fall damage 2021-10-25 00:22:19 +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
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
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
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
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
4e3ee63303 Backport boat movement to 1.8.8 2020-07-27 17:49:17 +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
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
d484432f83 Call left click event for vehicles 2020-05-13 13:23:59 +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
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
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
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
7d89ffcd61 Fix compile error 2020-04-09 00:20:14 +08:00
fullwall
14ebf26935 Try to avoid water more 2020-04-08 23:59:49 +08:00
fullwall
1cd8e1913e Add head yaw persistence 2020-03-21 18:30:52 +08:00
fullwall
9f3841c3ec Fix /npc name in 1.8.8 2020-03-03 23:31:04 +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
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
8843454af0 Don't reset pitch on older versions of Minecraft 2020-02-25 13:35:44 +08:00
fullwall
e52f616a4b Added sitting flag to /npc panda 2020-02-21 20:28:57 +08:00
fullwall
b9a08d609a Reformat project 2020-02-14 22:48:40 +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
fullwall
d72b6ef9e8 Change isSpawned API to use old valid logic. May fix spawning issues. 2019-10-03 13:14:20 +08:00
fullwall
68e5fb2570 Fix javadoc pom and reformat other poms 2019-05-13 16:44:50 +08:00
mcmonkey
3d893d81d0
bump maven plugins, use ECJ for 1.14 compile 2019-04-25 17:57:54 -07:00
fullwall
2d05ca134e Preliminary 1.14 update 2019-04-24 21:01:22 +08:00
fullwall
3682faebec Implement new API and fix an error from Paper 2019-02-05 18:12:02 +08:00
Alex "mcmonkey" Goodwin
9e0b4e0ab9 Improve handling of NPC names, fixes #1640 (#1642)
* Improve handling of NPC names, fixes #1640

Moves the logic to a Util method (instead of duplicated in each module), and adds the "prefixColors" portions (replacing just a static 'RESET' code).
If colors and effects are combined, using only the most recent effect is sufficient (eg reapplying bold) as that should produce effectively no change while still having a color code stuck into the name as is needed to break NPCs looking like real players internally.

* Additional NPC name improvement: fix color code splliting

a name consisting of a color code followed by 15 letters would get split in the middle of the color code, rather than around it. This fixes that.
2018-12-20 04:44:06 +08:00
Alex "mcmonkey" Goodwin
62d264bf31 Patch 1.8 pathfinding issue (#1629)
Some users have reported 1.8 server freezing here - looks like the original NMS method was miscopied, this patch should bring it properly in-line.
2018-12-08 07:00:47 +08:00
fullwall
3b6996b3ee . 2018-10-07 13:25:34 +08:00
fullwall
b4b160b64d Fix weird eclipse error 2018-10-07 13:24:21 +08:00
fullwall
4424f8b9ae QoL enhancements for waypoints triggers 2018-10-07 13:20:56 +08:00
fullwall
1dc0edd7b0 Fix compile error 2018-09-18 18:22:16 +08:00
fullwall
97d4d7b428 Force armor stands to use the new pathfinder and override packet sending 2018-09-18 18:15:37 +08:00