Commit Graph

248 Commits

Author SHA1 Message Date
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
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
fullwall 829e4a40ae Change yaw setting for 1.8.8 2018-07-24 20:16:24 +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 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