Commit Graph

1914 Commits

Author SHA1 Message Date
themode
9ed3bd929c Only flush when the channel is active 2021-02-17 05:12:43 +01:00
themode
590e6cb939 Add write water mark, reduce debug prints, update netty to latest 2021-02-17 05:03:31 +01:00
themode
16ad864c09 Disable TCP_NO_DELAY by default 2021-02-16 04:17:38 +01:00
themode
437afc28ff Enable suggestion by default for ArgumentEntityType 2021-02-14 07:52:27 +01:00
themode
f1448c8c89 Renamed RelativeLocation#from 2021-02-14 00:31:49 +01:00
themode
beaf25ff47 Added convenient Arguments#has 2021-02-14 00:25:08 +01:00
themode
df2ee23a7c ArgumentLoop cleanup 2021-02-13 08:43:38 +01:00
themode
e0d0c14933 Fix ArgumentLong and don't set default min/max for number arguments 2021-02-13 07:35:53 +01:00
TheMode
6c4454e9fb
Merge pull request #137 from LeoDog896/command
Enhance Command System
2021-02-13 06:28:54 +01:00
themode
1d64cafcf2 Move some CommandDispatcher methods 2021-02-13 00:34:25 +01:00
LeoDog896
367889a374 No magic strings in ArgumentString 2021-02-12 15:27:18 -05:00
themode
33a26b80f5 Added CommandData#has and allow #set chaining 2021-02-12 08:34:05 +01:00
themode
c9ab710be2 Fix argument callback being overridden 2021-02-12 05:24:40 +01:00
themode
efd2dbc021 Fix command argument sharing 2021-02-12 04:34:37 +01:00
KrystilizeNevaDies
427632d29b Use primitives in BlockBatch#flush 2021-02-12 11:34:45 +10:00
LeoDog896
2f99567edf Use slf4j logger instead of direct print 2021-02-11 20:18:02 -05:00
KrystilizeNevaDies
ee8815d2f8 Add shouldLoadChunks in BlockBatch#flush 2021-02-12 10:37:53 +10:00
themode
5610b1a72a Added ArgumentLoop parsing 2021-02-12 00:25:12 +01:00
themode
84da72d798 Fix command aliases + cleanup 2021-02-12 00:00:44 +01:00
themode
f0105d7058 Added WIP ArgumentLoop (no parsing yet) 2021-02-11 20:36:02 +01:00
themode
f639ac83f7 Rewrite of the command nodes creation 2021-02-11 06:37:09 +01:00
themode
ab9ddebfea WIP ArgumentGroup nodes, renamed NodeMaker#addNodes 2021-02-11 05:08:49 +01:00
themode
b34b490504 Added ArgumentGroup parsing, WIP nodes 2021-02-11 04:47:48 +01:00
themode
e9d91fd21e Separate the dispatcher from the parsing algorithm 2021-02-11 04:18:19 +01:00
themode
86908fbd0e Remove Argument redirect API (should use NodeMaker instead) 2021-02-11 03:09:00 +01:00
themode
053ef06ee1 Cleanup (moved some packet methods to DeclareCommandsPacket) and added CommandResult#getInput 2021-02-11 03:00:13 +01:00
themode
1a2fd4f743 Added NodeMaker + ArgumentCommand 2021-02-11 02:51:42 +01:00
themode
601ee71744 Fix invalid argument being considered as "successful" execution 2021-02-11 01:45:35 +01:00
themode
779490064e Root node should be at index 0 (to facilitate the future ArgumentCommand) 2021-02-11 00:58:10 +01:00
themode
dffb90e1b4 Fix CommandDispatcher#findCommandResult never returning null, + cleanup 2021-02-11 00:33:55 +01:00
themode
266c4d9bed ArgumentEntity static fields naming fix 2021-02-11 00:29:31 +01:00
themode
eda821c3d8 Cleanup + don't verify player name in ArgumentEntity 2021-02-11 00:25:38 +01:00
themode
c11151360b Added ArgumentLiteral 2021-02-11 00:14:29 +01:00
themode
c6e15d4bda Added getters in CommandResult 2021-02-11 00:06:22 +01:00
themode
9fc10bc051 Added CommandResult & moved ParsedCommand 2021-02-11 00:04:42 +01:00
themode
12c0b604db Added boolean for node redirection 2021-02-10 23:09:38 +01:00
themode
2547972459 Deprecate Arguments#getObject 2021-02-10 21:35:18 +01:00
LeoDog896
0ce88102ed Get, has, and set argument redirects 2021-02-09 19:11:27 -05:00
LeoDog896
2330cb7037 And declare it as a set 2021-02-09 18:27:41 -05:00
LeoDog896
c4e6d18ee4 Get commands from appropiate set 2021-02-09 18:26:26 -05:00
LeoDog896
3f5fe7bbd9 Revert command set removal 2021-02-09 18:24:23 -05:00
LeoDog896
7854602a04 Remove unnecessary toNodes wrapper 2021-02-09 13:21:25 -05:00
LeoDog896
de5e8e3e67 Cleanup 2021-02-09 12:24:50 -05:00
LeoDog896
becd876dcd Put getNumberProperties into Number arg 2021-02-09 10:58:27 -05:00
LeoDog896
bedc91427e Remove repetitive Set
The Map of commands already stores 2 lists, and making another one for the sake of it actually decreases readability.
2021-02-09 10:40:04 -05:00
LeoDog896
79ec9e6569 Add null checks for aliases 2021-02-09 09:26:53 -05:00
LeoDog896
3d74e74b9e Use redirection for aliases instead of repetition 2021-02-09 09:25:18 -05:00
LeoDog896
6b4c514254 Fix imports 2021-02-09 07:26:32 -05:00
LeoDog896
f20d8941a5 Put simpleArgumentNode into Argument 2021-02-08 21:03:55 -05:00
LeoDog896
b770710e0d Redo argsValues
(Until / if theres a better solution)
2021-02-08 20:59:46 -05:00
LeoDog896
01b4a1b582 Allow time unit to be omittable 2021-02-08 19:45:25 -05:00
LeoDog896
7705c03500 Use Array for validation
Unless something goes absolutely terribly and in fact void wrong the ArgumentValidation should be fine.
2021-02-08 19:33:56 -05:00
LeoDog896
8d7cce3044 Use collections for the correct situations 2021-02-08 19:11:47 -05:00
LeoDog896
e809e69a07 Use protected COMMAND_MANAGER field 2021-02-08 18:54:55 -05:00
LeoDog896
f300d60411 Prefer primitives over list 2021-02-08 18:33:01 -05:00
LeoDog896
4379f4b1e1 Outsource node building to other classes 2021-02-08 18:25:10 -05:00
themode
04c792c302 Fix javadoc 2021-02-08 04:10:43 +01:00
themode
004b4563c2 Replace NbtCompound to CommandData 2021-02-08 04:08:22 +01:00
themode
3c7bbc9d2d Added initial command return support 2021-02-08 03:42:35 +01:00
themode
8334e100cf Don't send packet to disconnected clients 2021-02-07 22:02:03 +01:00
themode
2d7e16fa8e change UpdateOption value from int to long 2021-02-07 20:14:40 +01:00
themode
f7aeeabe9c Override ItemStack#equals 2021-02-07 19:38:14 +01:00
themode
5a308f0ced Added deprecation warning for most Arguments methods 2021-02-06 19:38:59 +01:00
themode
1af8ea5303 Added comment about broken bedrock client skin using Geyser 2021-02-06 03:51:17 +01:00
jglrxavpok
8a992b3e45 New constructor to give UUID as argument in LivingEntity, now used to specify player UUID 2021-02-05 14:32:28 +01:00
jglrxavpok
da3a8b17b2 Add FireworkMeta#getFlightDuration 2021-02-05 12:18:05 +01:00
jglrxavpok
6addd63396 Fix extension subdependencies not being loaded + Test that J9 modules are supported 2021-02-04 20:40:12 +01:00
jglrxavpok
9ce7a08d12 Extension can check if their code modifiers (including Mixins) loaded correctly 2021-02-04 19:11:43 +01:00
jglrxavpok
ee158c0dea Use Nullable string instead of Optional in MinestomRootClassLoader#findExtensionObjectOwner 2021-02-04 11:57:43 +01:00
jglrxavpok
2a96beb819 Extensions will be unloaded when server is stopped 2021-02-03 20:56:36 +01:00
jglrxavpok
a63e9462c2 All EventHandler remove extension callback when the extension unloads 2021-02-03 20:47:01 +01:00
jglrxavpok
c9d2edef3a Tests for shutdown and delay tasks 2021-02-03 19:35:59 +01:00
jglrxavpok
c8e311855f Auto-unschedule and cancel tasks from extensions 2021-02-03 17:51:14 +01:00
themode
9fe2b8359c Added convenient EntityFinder#findFirstPlayer(CommandSender) 2021-02-03 17:21:49 +01:00
jglrxavpok
4f39498ef5 Remove debug code no longer relevant 2021-02-03 17:12:20 +01:00
jglrxavpok
eadd4a2b39 Automatically unload GlobalEventHandler callbacks 2021-02-03 17:11:06 +01:00
themode
b5d03cb7a9 Added convenient EntityFinder#find(CommandSender) 2021-02-03 16:57:58 +01:00
KrystilizeNevaDies
a92ab6ea47 Add comment on Instance#setTime 2021-02-03 16:31:15 +10:00
themode
1146d50f24 Cleanup 2021-02-02 21:14:01 +01:00
themode
c6cafb19a4 Added all missing metadata (except Particle) 2021-02-02 21:13:31 +01:00
themode
cb41b2e3d7 Added villager data metadata 2021-02-02 21:03:25 +01:00
jglrxavpok
2b5d67a3ca Don't crash the server if Mixin can't be loaded due to identical file names inside the JAR file.
But please spam the console.
2021-02-02 14:49:19 +01:00
jglrxavpok
9b9565dbbd Early loading of Mixin and code modifiers
+ System property to disable early loading if necessary
2021-02-02 12:44:57 +01:00
themode
b6cce091e8 Remove magic values from ColoredText 2021-02-02 07:04:16 +01:00
themode
f17a518e92 Fix color not being displayed after a forward slash 2021-02-02 06:56:45 +01:00
themode
7843f74b4b Fix string encoding to UTF-8 2021-02-01 23:39:44 +01:00
themode
dd1b67e5de Enable netty error processing by default 2021-02-01 18:22:36 +01:00
themode
735dd50f4e Fix optional metadata 2021-01-31 15:26:51 +01:00
themode
1707cc73f5 rename to #legacyToFormat 2021-01-31 00:42:21 +01:00
themode
2f326aeaae Rename #toLegacy to #toFormat since it didn't make sense 2021-01-31 00:25:49 +01:00
themode
8f174f2c87 Update ChangeGameStatePacket to reflect wikivg documentation 2021-01-30 16:03:04 +01:00
themode
3026e46220 Added new metadata API 2021-01-30 04:44:44 +01:00
themode
59c4cd9382 Reorder Direction enum to support entity metadata 2021-01-29 21:05:18 +01:00
themode
66817eb9c4 Fixed Team#removeMember 2021-01-29 00:02:43 +01:00
themode
edd880ceb6 Allow to update both the block state and custom ids using PlayerBlockBreakEvent#setResultCustomBlock 2021-01-28 22:53:02 +01:00
themode
b321a10caa Change the algorithm order of InstanceContainer#setBlock 2021-01-28 16:19:06 +01:00
themode
da2286de74 Make the FakePlayer constructor protected instead of private 2021-01-28 15:42:11 +01:00
themode
c607a7a2cb Small style cleanup 2021-01-28 15:41:11 +01:00
themode
fa0c5050e4 Prevent entities from moving during death animation 2021-01-28 15:37:55 +01:00
themode
522b4edc7a New Navigator class to properly separate pathfinder functionalities 2021-01-28 15:33:52 +01:00
themode
e0c8e94bc1 Limit the number of velocity packet used for entities 2021-01-27 19:35:53 +01:00
themode
9775262c6a Fix velocity for netty clients 2021-01-27 19:20:52 +01:00
themode
626d48a0fb Fix Sidebar line score not being removed client-side 2021-01-27 17:46:26 +01:00
themode
7a54b4162d Style cleanup 2021-01-26 15:53:03 +01:00
iamceph
ded8a4b4f8 Move getBlock to Instance only 2021-01-26 09:51:19 +01:00
iamceph
564d549f81 Merge remote-tracking branch 'upstream/master' 2021-01-26 09:46:41 +01:00
themode
a9e638b93f Fix infinite recursion with Instance#getBlockStateId 2021-01-25 21:58:06 +01:00
themode
0da4f96e7e Allow gravity values to be doubles 2021-01-25 21:30:56 +01:00
themode
5f75ea7d3a Remove unnecessary casts 2021-01-25 19:33:53 +01:00
themode
3067f1daaa Merge with master 2021-01-25 19:27:04 +01:00
themode
9ee25ee8ce Merge branch 'master' into double-position 2021-01-25 19:24:19 +01:00
themode
f4a3a9e733 Change Sidebar's queue into a Set, added Sidebar#getLines 2021-01-25 17:48:08 +01:00
themode
fa02a12c1e More math 2021-01-25 14:09:36 +01:00
themode
f48c291929 More math methods in Vector 2021-01-25 13:56:17 +01:00
themode
c01736f863 Use doubles instead of floats to represent Position and Vector 2021-01-25 13:47:13 +01:00
themode
886c4ca9c9 Improve InstanceManager#getInstance comment 2021-01-25 10:21:10 +01:00
iamceph
e74d3ca0f6 Merge remote-tracking branch 'upstream/master' 2021-01-25 09:56:35 +01:00
KrystilizeNevaDies
d733dbbc3f Upate getInstance(UUID) to return nullable instance 2021-01-25 17:25:51 +10:00
iamceph
324c72002f Fix oopsie 2021-01-25 01:17:24 +01:00
iamceph
028241e069 Add ability to get Block from Instance 2021-01-25 01:16:07 +01:00
iamceph
6807217608
Add ability to get Instance by UUID (#114) 2021-01-25 09:52:08 +10:00
iamceph
60cd25e07f Add ability to get Instance by UUID 2021-01-25 00:23:44 +01:00
themode
b37670e1c7 Override PlayerSkin#toString 2021-01-24 16:32:42 +01:00
themode
3e990bb716 Ignore INTERACT_AT packet, remove buggy console prefix 2021-01-24 15:44:18 +01:00
themode
a0f5317292 Remove unnecessary unmodifiable collection 2021-01-23 22:06:41 +01:00
Tyan
7d7c65aa70 Set the last location at the end of refreshPosition 2021-01-23 15:51:07 +01:00
themode
bf692d8043 Clone the teleport position to prevent object sharing 2021-01-23 08:42:49 +01:00
themode
36933fe4b3 Ensure synchronization of the location field 2021-01-23 08:23:24 +01:00
themode
7de0067a13 Small utility methods for EntityRotationPacket 2021-01-22 21:28:33 +01:00
TheMode
5eb5f32095
Merge pull request #110 from MrBretze/patch-1
Added withProperties in BlockAlternative.java
2021-01-21 17:22:59 +01:00
MrBretzel
840eb1a27e
Update BlockAlternative.java 2021-01-21 17:21:36 +01:00
themode
4bb27c305f Cleanup & remove unnecessary calls in PlayerDiggingListener 2021-01-21 16:53:20 +01:00
themode
7a4f3672de Send creeper metadata on spawn 2021-01-21 12:33:04 +01:00
themode
b5a01d6571 Add indicator in the console to display command support 2021-01-21 11:37:54 +01:00
TheMode
1cd3228c06
Merge pull request #109 from DerTyan/exception-handling
Added ExceptionManager for custom exception handling
2021-01-21 06:06:27 +01:00
MrBretzel
18ce3625c7
Added withProperties in BlockAlternative.java
Example: 

blockAlternative.withProperties("facing");

Return the facing of the block a empty string
2021-01-20 20:22:54 +01:00
Tyan
855c8af455 Added ExceptionManager for custom exception handling 2021-01-20 11:43:45 +01:00
themode
d83abcef85 Fix inventory click on size non-divisible by 9 2021-01-20 08:18:00 +01:00
themode
023431e32a Use ordinal as the id in InventoryType 2021-01-20 05:35:41 +01:00
KrystilizeNevaDies
feb1d8f0e9
missing comma 2021-01-20 13:31:45 +10:00
KrystilizeNevaDies
b08a75fc03
Add SMITHING to InventoryType 2021-01-20 13:31:01 +10:00
themode
240a745830 Prevent runtime exception when passing an array with null values in ArgumentWord 2021-01-19 06:27:58 +01:00
themode
7d72d48a5a Fix keep alive packet 2021-01-18 21:47:00 +01:00
LeoDog896
fa7fe1398f Change remove to poll 2021-01-18 10:45:22 -05:00
LeoDog896
78abfb9657 Make init function UNSAFE 2021-01-18 10:44:12 -05:00
LeoDog896
4aed6ffa5c Revert ConcurrentStack 2021-01-18 10:42:01 -05:00
LeoDog896
83111cb8bb Add javadocs to ConcurrentStack 2021-01-18 10:35:43 -05:00
LeoDog896
ac68c094ce Better keepalive and connection handling 2021-01-17 19:26:20 -05:00
TheMode
1eea505da0 Update version name 2021-01-17 08:29:23 +01:00
TheMode
b00824d053
Merge pull request #104 from LeoDog896/master
Microoptimization cleanup
2021-01-17 07:20:51 +01:00
LeoDog896
5419530125 Enchanted book and Colored StringBuilder 2021-01-15 22:03:44 -05:00
Alexander
8f130b5dd9 Fix missing field bug 2021-01-15 21:25:16 +00:00
LeoDog896
fec05d6838 More fastutil usages 2021-01-15 16:04:57 -05:00
LeoDog896
3b3a86a402 Prefer nullable over optional 2021-01-15 13:39:12 -05:00
LeoDog896
3514547610 Fix isEmpty check in ColoredText 2021-01-15 13:26:12 -05:00
LeoDog896
8633797420 Use a StringBuilder for ColoredText 2021-01-15 13:16:09 -05:00
LeoDog896
0c1b93a82b Return non-fastutil type 2021-01-15 13:08:55 -05:00
LeoDog896
12adb9a965 *Actually important Microoptimization*
Anything that handles every single connected player should be optimized
2021-01-15 13:05:21 -05:00
LeoDog896
3536bdc856 Microoptimization cleanup
Just some small microoptimizations including preferring fastutils, Removing unnecessary checks already dealt with using @NotNull, all since I had extra unplanned free time.
2021-01-15 11:08:11 -05:00
themode
238ea649ab Cleanup Team class 2021-01-14 04:33:23 +01:00
TheMode
e6706ec327
Merge pull request #102 from LeoDog896/master
Add EatBlockGoal instance check & MeleeAttackGoal range.
2021-01-13 20:01:02 +01:00
LeoDog896
97b7e122e9 Add instance check to NavigableEntity 2021-01-13 07:54:06 -05:00
LeoDog896
96d581a49f Optimize EatBlockGoal with fastutil 2021-01-13 07:50:41 -05:00
LeoDog896
2cd5a362a4 Add eating check for instances. 2021-01-13 07:37:20 -05:00
LeoDog896
85a84dbea6 Add range to MeleeAttackGoal 2021-01-13 07:33:51 -05:00
KrystilizeNevaDies
7bc1f37e80 Add a direct way to set the bounding box in Entity 2021-01-13 21:57:55 +10:00
themode
098ba1a6a4 Fix client crash when receiving packets before playing state 2021-01-13 09:16:22 +01:00
themode
e0afe62c66 Comment about getItemStacks() array modification 2021-01-13 08:39:33 +01:00
themode
9d8e9276f6 Added the convenient InventoryModifier#copyContents 2021-01-13 08:28:37 +01:00
themode
8e1ffdff7d Prevent double intersect check 2021-01-13 06:34:09 +01:00
themode
7d8ce32ba9 Fix block placement collision on chunk border 2021-01-13 06:32:42 +01:00
themode
d5da334c25 Item lore cannot be null (but empty) 2021-01-13 03:42:31 +01:00
themode
ea8b8ea41e Fix getChunkAt 2021-01-13 00:56:53 +01:00
LeoDog896
37d528c5a2 Check for removed entity before targeting 2021-01-12 15:16:24 -05:00
themode
fcc5bc4381 Improve bootstrap warning 2021-01-12 04:22:24 +01:00
themode
29c8f924fa Added missing metadata types 2021-01-11 21:21:19 +01:00
themode
c5d56ae820 Small velocity code cleanup 2021-01-11 08:44:38 +01:00
themode
fc694f4b49 Override JsonMessage#toString 2021-01-11 04:42:50 +01:00
themode
14d0149276 Fix boolean argument 2021-01-11 02:57:18 +01:00
themode
d7fec0297f Fix argument callback with 0 correct argument 2021-01-11 01:54:59 +01:00
KrystilizeNevaDies
23e70208a8
Fix EntityDamageEvent not being cancellable 2021-01-10 14:18:16 +10:00
themode
1859f513e5 Added convenient EntityFinder#findFirstPlayer 2021-01-10 02:39:05 +01:00
themode
b1db46f575 Allow null instance for entity query 2021-01-10 02:30:57 +01:00
R0bbyYT
71ca9414e4 Makes the HologramEntity accessible and adds documentation. 2021-01-09 22:20:08 +01:00
themode
2cf9e55f7b Trim argument name 2021-01-09 06:53:55 +01:00
themode
85390662b7 Merge remote-tracking branch 'origin/master' 2021-01-09 03:42:14 +01:00
themode
4a0302892e Added static parser for ArgumentEntity 2021-01-09 03:40:53 +01:00
Matt Worzala
ef35a39388
Add Player#openBook (#99) 2021-01-09 12:40:22 +10:00
themode
9aaecceb01 Added support for player name only 2021-01-09 03:31:24 +01:00
themode
d0bf6d9f0d Improve ArgumentString parsing + add apache commons-text dependency 2021-01-09 03:14:10 +01:00
themode
8871cf16c0 Don't default the permission level 2021-01-09 02:38:26 +01:00
themode
a6e5dbc60e Fix permission level to use the target selector 2021-01-09 02:20:55 +01:00
themode
ac1fa4cb9e Fix selector variables list and use a switch 2021-01-09 01:13:44 +01:00
themode
8f99753235 WIP entity selector argument 2021-01-09 00:59:03 +01:00
themode
2c2a691af7 Registries#getEntityType should return null if invalid 2021-01-09 00:58:06 +01:00
themode
ef1afb9cd9 WIP EntityFinder 2021-01-08 23:47:31 +01:00
themode
8fef648221 Fix chunk packets from being wrongly sent when switching instance 2021-01-08 17:17:36 +01:00
themode
90006ac48d Prevent compression from blocking the thread too much 2021-01-08 16:20:04 +01:00
Tyan
c702e94937 Made some field in PlayerInventory protected for allowing usage in child classes 2021-01-08 12:29:59 +01:00
themode
066b3dc417 Cleanup 2021-01-08 08:32:33 +01:00