Commit Graph

320 Commits

Author SHA1 Message Date
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
b26dfb3d0f Implement new PathStrategy method, improve swimming navigation 2022-02-19 16:36:31 +08:00
fullwall
bef0f16f3b Cancel current move destination when navigator paused 2022-02-02 21:40:19 +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
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
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
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
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
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
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
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
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
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
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
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
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
d0dcb235b3 Various fixes and features 2019-11-28 16:10:35 +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
65cbb8850f Support java 12 2019-05-16 17:50:59 +08:00
fullwall
c901bb0ebe Update for 1.14.1 2019-05-14 16:44:32 +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
mergu
f47912f001 Fix npc path block updates (#1611)
* Fix npc path block updates

* Only update pathfind blocks in debug mode
2018-11-05 19:05:28 +08:00
fullwall
97d4d7b428 Force armor stands to use the new pathfinder and override packet sending 2018-09-18 18:15:37 +08:00
fullwall
11166c8bbe Update version and preliminary 1.13.1 update 2018-08-26 20:43:51 +08:00
fullwall
505ef8a926 Use new spawnreason 2018-08-08 16:08:38 +08:00
mcmonkey
3023492e4d
use latest cb versions
They're all now on the buildserver
2018-07-19 20:30:42 -07:00
fullwall
dfb5b90b38 Preliminary 1.13 update - some known issues 2018-07-19 20:18:47 +08:00
fullwall
23f03c1fd8 Add PlayerAnimation.START_ELYTRA 2018-06-29 22:35:13 +08:00
fullwall
e4f059683a Don't persist armor stands from PlayerAnimation.SIT 2018-06-29 00:07:56 +08:00
Alex "mcmonkey" Goodwin
221eb4b8d5 Fix for client NPE issue - don't missend player spawn packets (#1525)
* Fix #1360 - don't missend player spawn packets

Player spawn packets were improperly sent by the Minecraft internals in early NPC spawn sequence, when they are not valid to be sent yet. This patch blocks their sending until the tracker system is pushed onto the NPC. Tested and functional.

* improve long name cutting order, fixes #1422

ensures that root name will always be 16 characters if the given name was too long - previously, the root name could be as small as a single character (for input name of 17 characters).
2018-06-28 23:51:41 +08:00
Alex "mcmonkey" Goodwin
42fda25ceb Patch skin command, rename command (#1524)
* Fix npc skin -t argument order

Command input is doc'd as (and should function as) data then signature, but the called method was signature then data... update calls it in correct order. Also, fixes doc to indicate that a name is valid input, not just uuid (not entirely sure how that is handled when sent out in a packet, but it seems to be correct to feed a name)

* Ensure rename command will handle scoreboard changes

Always update prefix/suffix, not just only when team is newly created
Guarantee removal entity from scoreboard team on remove
Also removes a fileheader screwup (first line changed in 1_12_R1 file)
Also removes non-used code bits (the two coloredName lines - they don't actually functionally do anything)
Also removes a duplicated data get call

* patch gamemode command

Uppercase + unique permission node

* patch for names of length 30
2018-06-27 12:00:03 +08:00
Julian v.d Berkmortel
5d04746a99 ( Patch for #1498 ) protect villager npcs from lightning (#1504) 2018-06-07 17:08:39 +08:00
DoNotSpamPls
79fc7c426b mcstats.org > bstats.org (#1478)
Switch to bstats
2018-04-18 22:22:38 +08:00
fullwall
772ab5fb7b Add NMS.setPeekShulker to replace old method 2018-04-09 00:17:17 +08:00
fullwall
4c99dc0e7c Initial 1.8.8 support 2018-04-07 16:02:35 +08:00
fullwall
4da3153cdd Fix shulker color and playing sounds 2018-03-26 14:39:28 +08:00
fullwall
9a5c6a2170 Fix #1452 2018-03-24 15:33:41 +08:00
fullwall
e20e45169a Prevent magma cubes from damaging players 2018-03-15 17:21:51 +08:00
fullwall
a1d1a6cc13 Fix vex NPCs having gravity on spawn 2018-03-15 17:10:23 +08:00
fullwall
5f062dbb3a Fix horse/llama equipping 2018-03-15 16:41:30 +08:00
fullwall
73ff01c774 Add color to /npc shulker 2018-03-09 23:30:28 +08:00
fullwall
407430daa5 Stop default AI for players mounted on pigs 2018-03-09 19:44:10 +08:00
fullwall
bf13181bd1 Add a NPE check to getVehicle 2018-03-02 00:39:05 +08:00
fullwall
d14119bc38 Override an ocelot method 2018-02-18 18:56:19 +08:00
fullwall
9ad7c976bf Fix wolf targeting with Citizens installed 2018-02-05 15:51:20 +08:00
fullwall
476debfcd7 Make horse equipper more general 2018-02-03 08:56:09 +08:00
fullwall
c767b6fdc3 Support non-yggdrasil implementations of MinecraftSessionService 2018-01-29 16:26:26 +08:00
fullwall
f33804609e Add -l flag to /npc spawn and add /npc metadata
Add /npc remove --owner
2018-01-01 14:41:10 +08:00
fullwall
ffbedcd841 Implement a rudimentary setSkinPersistent API 2017-10-19 00:27:27 +08:00
fullwall
15569c529f Add /npc shulker 2017-09-04 19:16:49 +08:00
fullwall
0e25c352a0 Try to aggressively stub out AdvancementDataPlayer 2017-08-24 19:50:04 +08:00
fullwall
aa3654c3fa Use minecraft logic for minecarts 2017-07-10 01:00:35 +08:00
fullwall
c02fec9ca0 Set noclip for spectator NPCs 2017-06-09 20:27:44 +08:00
fullwall
4235e72cc1 Remove subscription to bukkit broadcast 2017-06-08 19:37:57 +08:00
fullwall
8145751136 Bump version, first pass at 1.12 2017-06-02 17:36:25 +08:00
fullwall
61c96f08ef Lower default movement speed for slimes 2017-04-03 01:25:27 +08:00
mcmonkey4eva
252296c552 Fix an NMS field typo 2017-02-05 16:55:44 -08:00
fullwall
226470d743 Fix wither crash 2017-01-17 16:08:33 +08:00
fullwall
db418648ab Fix flying move logic 2017-01-17 16:06:16 +08:00
fullwall
59f67c02b9 Add /npc llama 2016-12-27 00:38:59 +08:00
fullwall
af24e5f427 Fix #1027 2016-12-26 16:44:05 +08:00
fullwall
f7a4e78a8c Don't update controller look during navigation 2016-12-24 21:22:11 +08:00
fullwall
7cf12cdf78 Small fix for 1.11.2 compat 2016-12-22 02:21:46 +08:00
fullwall
cf5beab4c5 Add immediate parameter to Util.faceLocation and fix a bug in it 2016-12-16 17:03:11 +08:00
fullwall
728930a09f Fix horse subclasses 2016-12-14 16:19:59 +08:00
fullwall
afb7e13ee6 Fix some issues with controllable 2016-12-11 17:12:29 +08:00
fullwall
86d6794b43 Fix Minecraft 1.10 player looking 2016-12-10 20:20:27 +08:00
fullwall
e3981a15a6 Implement debug NavigatorParameter and change some Player yaw code 2016-12-10 19:53:55 +08:00
fullwall
9329c66667 Fix bad getBukkitEntity if condition 2016-12-04 02:00:36 +08:00
fullwall
3634bce18e Try to avoid defaulting to 0 yaw 2016-12-02 19:38:06 +08:00
fullwall
f2879fbfcc Fix players always looking south 2016-11-30 14:17:01 +08:00
fullwall
3a612d64b7 Fix Guardians, EnderDragon looking and update how bats/silverfish/endermite looking is handled 2016-11-29 00:25:28 +08:00
fullwall
bc9374d30c Remove villager force head yaw setting 2016-11-26 23:42:23 +08:00
fullwall
d968384d58 Clamp controller look yaw for entityinsentients as well 2016-11-26 23:25:59 +08:00
fullwall
974cb61a43 Clamp yaw and update some yaw-related variables 2016-11-26 23:07:25 +08:00
fullwall
2bd712434d Set player yaw as well 2016-11-26 10:45:55 +08:00
fullwall
07a3aeabad Forward the rest of the RegistryMaterials methods and fix player looking 2016-11-25 19:29:59 +08:00
fullwall
0fa0d29f17 Update CustomEntityRegistry to allow other plugins to override classees 2016-11-25 19:11:35 +08:00
fullwall
83413cb1b8 Change handle yaw fields 2016-11-25 19:04:07 +08:00
fullwall
71e28c6b6c Update PlayerControllerJump/Look 2016-11-22 16:15:11 +08:00
fullwall
b695afdcd5 Fix mob NPC not using pitch 2016-11-22 16:04:48 +08:00
fullwall
2f7e4ea786 Add -h option to /npc name 2016-11-22 15:41:51 +08:00
fullwall
58c5fc748e Fix skin layers not showing up 2016-11-22 14:58:51 +08:00
fullwall
3cd6da8ff5 Remove debug 2016-11-22 01:24:28 +08:00
fullwall
cb3c32a101 Remove some generics which may be confusing jenkins 2016-11-22 01:09:11 +08:00
fullwall
765c42cb45 Modify EntityTypes hooks to be less invasive 2016-11-22 01:00:52 +08:00
fullwall
bf7f92cd8f Update PlayerNavigation 2016-11-20 12:55:44 +08:00
fullwall
dccfadb846 Fixes for 1.11 2016-11-17 17:00:16 +08:00
fullwall
0189157400 First pass at 1.11 2016-11-17 15:53:41 +08:00