Commit Graph

1847 Commits

Author SHA1 Message Date
Németh Noel
2f725becf2 canPlaceOn and canDestroy getters no longer return an unmodifiable list, methods for additions and removals are therefore removed 2021-02-28 22:39:38 +01:00
Németh Noel
bcfaf71c7c Added checks for canPlaceOn and canDestroy sets in #isSimilar, changed emptiness check to Collection#isEmpty from != 0 in #hasNbtTag 2021-02-28 21:01:23 +01:00
Németh Noel
10ece83d75 Cleaned up imports and removed unnecessary .toString() calls 2021-02-28 20:35:10 +01:00
Németh Noel
7abf6ba9e7 Added CanPlaceOn and CanDestroy properties for ItemStacks and implemented checks for them 2021-02-28 19:37:31 +01:00
Konstantin Shandurenko
2b6a081c0d Now devs have to explicitly instantiate EntityAIGroupBuilder 2021-02-28 20:07:34 +03:00
Konstantin Shandurenko
57e2bdb5d6 Slightly rewritten EntityAIGroupBuilder 2021-02-27 17:57:30 +03:00
themode
419ebe7553 Use soft references for cached packet instead of weak 2021-02-26 12:48:53 +01:00
Konstantin Shandurenko
20f581cc11 Merged with master 2021-02-26 06:58:12 +03:00
TheMode
d3bea57ddc Packet caching cleanup
Signed-off-by: TheMode <themode@outlook.fr>
2021-02-25 20:14:13 +01:00
themode
882720c822 Added RawJsonMessage constructor taking a json object as a string to reduce boilerplate code 2021-02-25 19:01:29 +01:00
themode
e8e8022ec6 Fix pathfinding + cleanup 2021-02-25 15:48:48 +01:00
themode
a0d5ac12bc Small literal argument cleanup 2021-02-25 15:38:59 +01:00
themode
7da3a16978 Fix connection loop 2021-02-25 15:35:31 +01:00
TheMode
77ed13abd9
Merge pull request #152 from RinesThaix/entities
EntityMeta
2021-02-25 15:30:35 +01:00
Konstantin Shandurenko
6192d1fead removed duplicating code piece 2021-02-25 14:40:14 +03:00
Konstantin Shandurenko
23ee4c7fdf Deprecated Entity constructors accepting spawnPosition and introduces Entity#setInstance(Instance, Position) 2021-02-25 13:56:10 +03:00
Konstantin Shandurenko
3c5b76c0a8 Tiny improvement for Entity#switchEntityType 2021-02-25 13:39:22 +03:00
Konstantin Shandurenko
e13bca1fdd default scope to EAST case in EntitySpawnType.PAINTING 2021-02-25 13:37:40 +03:00
Konstantin Shandurenko
046ebc03f6 AbstractProjectile now extends Entity and not ObjectEntity 2021-02-25 13:07:55 +03:00
Konstantin Shandurenko
8ca43c4caa Entity is not abstract anymore 2021-02-25 13:00:02 +03:00
Konstantin Shandurenko
8a57918fe9 LivingEntity is not abstract anymore 2021-02-25 11:39:37 +03:00
Konstantin Shandurenko
83c5d3c95f Marked Entity#getEntityType as NotNull 2021-02-25 10:38:53 +03:00
Konstantin Shandurenko
18da3e0168 Moved switchEntityType from EntityCreature to Entity 2021-02-25 10:37:02 +03:00
Konstantin Shandurenko
ca6546eb7d Removed obsolete metadata type values inside Entity 2021-02-25 10:00:29 +03:00
Konstantin Shandurenko
1308f81678 Switched all direct spawn packets interactions to EntityType#getSpawnType#getSpawnPacket 2021-02-25 09:15:51 +03:00
Konstantin Shandurenko
7db7dab4b9 EntitySpawnType initial commit 2021-02-25 08:59:55 +03:00
Konstantin Shandurenko
49c92883cd ArgumentEnum 2021-02-25 07:03:26 +03:00
themode
d60118d5f6 Improve block breaking code, to fix issue when breaking a block should immediately place a new one 2021-02-24 12:18:27 +01:00
Konstantin Shandurenko
1115b829a1 EntityAIGroupBuilder 2021-02-24 13:38:42 +03:00
Konstantin Shandurenko
f8634171f7 Metadata#setNotifyAboutChanges 2021-02-24 13:28:23 +03:00
Konstantin Shandurenko
3f941d51bb Fixed initial BoundingBox of Pufferfish 2021-02-23 20:04:30 +03:00
Konstantin Shandurenko
405390640b Switched LivingEntity's explicit usage of metadata to LivingEntityMeta 2021-02-23 19:57:45 +03:00
Konstantin Shandurenko
60fcd43f18 Removed ParticleWrapper 2021-02-23 19:30:26 +03:00
Konstantin Shandurenko
c9f7ee5546 Renamed ParticleType back to Particle 2021-02-23 19:29:21 +03:00
Konstantin Shandurenko
6e950ab170 BaseEntityMeta is now an EntityMeta 2021-02-23 19:18:53 +03:00
Konstantin Shandurenko
ebb061ae39 Removed LambdaMetafactoryUtils 2021-02-23 18:45:24 +03:00
Konstantin Shandurenko
692dcfed4c Setting default entity BoundingBox from EntityType data 2021-02-23 18:41:24 +03:00
Konstantin Shandurenko
bbe143520e A bit more changes to EntityMeta 2021-02-23 18:37:00 +03:00
Konstantin Shandurenko
eb274ce95e Added default meta constructor to EntityTypes 2021-02-23 18:07:57 +03:00
themode
2843da6b26 Small comment cleanup 2021-02-23 15:11:21 +01:00
TheMode
ebed118ee2
Merge pull request #139 from LeoDog896/sound
Add Position PlaySound methods
2021-02-23 15:08:43 +01:00
Konstantin Shandurenko
237466c90e Removed new entity classes and marked previously existing ones as deprecated 2021-02-23 16:10:14 +03:00
LeoDog896
f7fc7240f6 Reduce boilerplate in convience methods 2021-02-23 07:53:10 -05:00
Konstantin Shandurenko
0915858df3 Meta wrappers for all the entities 2021-02-23 15:11:10 +03:00
Konstantin Shandurenko
6eda8f97db Removed @author javadocs 2021-02-23 09:14:38 +03:00
Konstantin Shandurenko
b409eadffa ArgumentEnum and /horse command for demo scene 2021-02-23 09:06:19 +03:00
Konstantin Shandurenko
cfc5f860e9 Fishes 2021-02-23 08:47:09 +03:00
Konstantin Shandurenko
07be9d449b Much more entities 2021-02-23 08:25:35 +03:00
Konstantin Shandurenko
ca3d36ac0c Villagers and Ageable 2021-02-23 07:11:54 +03:00
Konstantin Shandurenko
2a55ed654d Zombies 2021-02-23 06:45:04 +03:00
Konstantin Shandurenko
7a7c63afc2 Horses 2021-02-23 06:38:54 +03:00
Konstantin Shandurenko
d2c5d87582 EntityType improvements 2021-02-23 06:02:52 +03:00
Konstantin Shandurenko
3bba4ea704 New Entity AI 2021-02-23 02:28:24 +03:00
Kieran Wallbanks
a3f388a88b Add events for player sneaking and sprinting changes 2021-02-22 16:36:40 +00:00
TheMode
7bd9283e17
Merge pull request #148 from RinesThaix/goals
Switched TargetSelectors result caching from EntityCreature field to local one in GoalSelectors
2021-02-22 15:15:18 +01:00
Konstantin Shandurenko
fbddffec32 Switched TargetSelectors result caching from EntityCreature field to local one in GoalSelectors 2021-02-22 17:08:15 +03:00
TheMode
20a23a4ebc
Merge pull request #147 from RinesThaix/goals
AbstractProjectile and arrows now call EntityAttackEvent, without damaging entities
2021-02-22 14:46:20 +01:00
Konstantin Shandurenko
1053cb33b1 Tiny comment for Projectile#getShooter 2021-02-22 16:42:52 +03:00
Konstantin Shandurenko
bcdd1bb70a AbstractProjectile and arrows now call EntityAttackEvent, without damaging entities 2021-02-22 16:41:39 +03:00
themode
0cef390ff2 Fix null check 2021-02-22 14:06:47 +01:00
TheMode
60385c0887
Merge pull request #141 from MrBretze/master
Fixed somme read for NBT Tag to ItemStack
2021-02-22 14:03:48 +01:00
themode
549eb6b6e1 Fix javadoc 2021-02-22 14:02:33 +01:00
TheMode
71f1e51df3
Merge pull request #146 from RinesThaix/goals
Arrows and RangedAttackGoal
2021-02-22 13:58:43 +01:00
Konstantin Shandurenko
dbd0e472c2 Added power param for projectiles shooting 2021-02-22 15:54:35 +03:00
Konstantin Shandurenko
504e8cafb4 Codestyle formatting and several comments 2021-02-22 15:33:03 +03:00
Konstantin Shandurenko
6e23552d9a Not calculating entity collisions for arrows in first 3 ticks of its life 2021-02-22 14:58:26 +03:00
Konstantin Shandurenko
714e107eb3 Removed @author javadocs 2021-02-22 14:53:04 +03:00
Konstantin Shandurenko
b475a4cd78 Entity collisions for arrows 2021-02-22 14:51:17 +03:00
Konstantin Shandurenko
dbfebc50ec Block collisions for arrows 2021-02-22 14:42:46 +03:00
themode
b0185aa7e1 Cache command result, increases performance by an order of magnitude 2021-02-22 11:49:28 +01:00
themode
732fa0434a Properly return the command result UNKNOWN 2021-02-22 11:26:16 +01:00
themode
b4508692a5 Fix situation where no command executor is chosen when there is ambiguity. Also fix subcommand default executor not being used as backup 2021-02-22 09:42:48 +01:00
themode
b4d9cecdce Fix build & remove deprecated method 2021-02-22 08:46:30 +01:00
themode
3d585825b2 Use weak references for cached values 2021-02-22 08:43:06 +01:00
themode
04b5a4f166 Use google common cache instead of our own dirty solution 2021-02-22 08:41:38 +01:00
Konstantin Shandurenko
3a251934ec Projectiles shooting 2021-02-22 09:45:19 +03:00
Konstantin Shandurenko
3d14b614ce EntityArrow and EntitySpectralArrow 2021-02-22 09:05:54 +03:00
Konstantin Shandurenko
3c8824c7b0 RangedAttackGoal implementation initial commit 2021-02-22 08:46:37 +03:00
themode
77148338b9 Added Entity#clearEffects 2021-02-22 06:00:49 +01:00
TheMode
1fda2aba6d
Merge pull request #145 from RinesThaix/goalTargetsCaching
Caching entity target found by goal selectors
2021-02-22 05:36:26 +01:00
Konstantin Shandurenko
54da48fd3e Caching entity target found by goal selectors 2021-02-22 07:33:11 +03:00
TheMode
5014cd7ba9
Merge pull request #143 from MrBretze/optifineFix
Added OptifineSupport.isEnabled()
2021-02-22 05:32:54 +01:00
Konstantin Shandurenko
e01a92c92c Fixing armor equip with right clicking 2021-02-22 05:17:14 +03:00
themode
85a8396c9d UUID & player name cannot contain space 2021-02-21 17:44:38 +01:00
themode
78e37258ed Improve ArgumentEntity to support entity UUID & pre-check for player name 2021-02-21 17:43:30 +01:00
MrBretzel
f7ec0dbc1f Added OptifineSupport.isEnabled() 2021-02-21 17:25:35 +01:00
ALS
fb6c51204b getAsByte 2021-02-21 16:59:50 +01:00
ALS
12f0190f97 Revert AttributeSlot.parse(String string) 2021-02-21 16:56:06 +01:00
themode
200b244224 Fix JSON string not being displayable using ColoredText, remove unnecessary fields in PlayerListHeaderAndFooterPacket 2021-02-21 16:49:25 +01:00
themode
728107b0fe Added convenient EntityFinder#findFirstEntity 2021-02-21 12:35:04 +01:00
ALS
b842f07c3c Use getAsInt and getAsDouble 2021-02-20 23:54:25 +01:00
ALS
0f9a2b5b4f Fixed a possible null for attributeSlot 2021-02-20 20:39:49 +01:00
ALS
01ff9e2123 Fix failed issue 2021-02-20 19:51:45 +01:00
themode
99be06f571 Revert to check shared command arguments 2021-02-20 19:18:28 +01:00
ALS
ac7ca6f8e4 Fixed somme read for NBT Tag to ItemStack 2021-02-20 17:35:02 +01:00
MrBretzel
2c45103b2c
Update Arguments.java 2021-02-20 15:43:22 +01:00
MrBretzel
1ad1f06e33
Adding has(Argument<T> argument) to Arguments.java 2021-02-20 15:31:30 +01:00
themode
bd840a868f Improve optional argument support & client-side brigadier suggestion 2021-02-20 13:10:12 +01:00
themode
721f9abc08 FakePlayer now implements NavigableEntity 2021-02-20 09:15:08 +01:00
themode
a419d7eb3f Add subcommand support for fast parsing & proper separation between logics 2021-02-20 08:59:15 +01:00
LeoDog896
4daa55d27e Add Position playsound methods 2021-02-19 18:43:35 -05:00
themode
06abbcb7fb Fix chunks being sent 2 times on first spawn 2021-02-19 13:52:27 +01:00
jglrxavpok
e40186a2aa Periodically remove extension observers (every minute at the moment) 2021-02-17 17:37:54 +01:00
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