Commit Graph

645 Commits

Author SHA1 Message Date
themode
a128d30b6b WIP Item rework implementation 2021-04-02 18:13:02 +02:00
themode
a70870d261 Added ItemMetaBuilder.Provider 2021-04-02 15:42:58 +02:00
themode
042c7c864b Added covariant return type + enchantment 2021-04-01 22:52:28 +02:00
themode
066b041bba Allow to directly pass an ItemMeta 2021-04-01 20:06:10 +02:00
themode
cbfeb4e15b WIP meta support 2021-04-01 20:02:03 +02:00
themode
0ab66113c8 WIP item meta API 2021-04-01 19:08:21 +02:00
themode
5807da47a6 Update annotations + add example 2021-04-01 00:20:59 +02:00
jglrxavpok
930054385f More packets, just missing ChunkDataPacket 2021-03-30 19:50:55 +02:00
jglrxavpok
07ab4ac090 Most client packets are writtable, same for server packets and readability 2021-03-30 19:46:20 +02:00
jglrxavpok
43957805fd Handshake and login packets, even more readable server packets 2021-03-30 19:42:40 +02:00
jglrxavpok
7b8a8e3eb0 Tests to check which packets fail to write then read properly 2021-03-30 19:37:43 +02:00
themode
dedd807ceb Enabled compression by default, provide .editorconfig file 2021-03-27 19:44:09 +01:00
TheMode
ea3f558d8a
Merge pull request #187 from Kebab11noel/demo-commands
Demo commands
2021-03-26 21:50:25 +01:00
Németh Noel
256ed45fab Added two new commands /summon <entity> <pos> and /remove entities <entities> 2021-03-26 21:32:58 +01:00
Németh Noel
a442603067 Removed deprecated parts, changed conditions and other minor changes 2021-03-26 21:19:53 +01:00
Kieran Wallbanks
b9e35d1cc7 Make Audiences static 2021-03-26 19:28:07 +00:00
themode
6b644d6130 Fix BenchmarkManager not returning a Component 2021-03-26 20:10:42 +01:00
Kieran Wallbanks
c3adf3ff67 Include echo command in demo packages 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
e738efded3 Use Adventure in ArgumentComponent and add demo echo command 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
63aaee698e Rebase to master and fix complication issues 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
aea8a5f794 fix compilation issues 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
8b82d61c0c fix demo build 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
35f9161d19 update demos 2021-03-26 17:34:38 +00:00
TheMode
7c63099963
Merge pull request #180 from Project-Cepi/extension-exposing
Extension exposing and cleanup
2021-03-26 18:33:35 +01:00
themode
9c8c8c8bf8 WIP packet allocation improvement 2021-03-26 13:08:05 +01:00
LeoDog896
d2c1284459 Merge remote-tracking branch 'upstream/master' into extension-exposing 2021-03-24 11:59:01 -04:00
themode
fe7b48df48 Added ArgumentResourceLocation 2021-03-24 13:58:44 +01:00
LeoDog896
34a56cf00e Move to Map of Extension 2021-03-24 08:39:47 -04:00
LeoDog896
701b1cb2e5 Move to DiscoveredExtension vs ExtensionDescription
For those who are wondering why I replaced some streams:

https://stackoverflow.com/questions/16635398/java-8-iterable-foreach-vs-foreach-loop
2021-03-23 11:35:52 -04:00
themode
36d548ff35 Improve redirection match 2021-03-17 01:52:55 +01:00
themode
a8bb20fca6 Fix node index query 2021-03-15 12:56:05 +01:00
themode
3c7a96dc4a Initial command redirection improvement 2021-03-15 09:01:29 +01:00
TheMode
e333eb3749
Merge pull request #165 from Minestom/command-suggestion
Command framework improvement
2021-03-13 00:59:54 +01:00
themode
158df922bc Fix suggestion chaining 2021-03-12 22:34:33 +01:00
themode
a47bf24034 Added support for empty syntax 2021-03-12 22:10:03 +01:00
themode
d6683932c8 Added PickupItemEvent#getItemEntity 2021-03-12 20:59:47 +01:00
themode
7309d05666 Update demo command with the new SimpleCommand, update comment to reflect permission access change 2021-03-11 03:31:25 +01:00
themode
1f7558c753 Deprecate CommandProcessor further, added SimpleCommand as a replacement 2021-03-11 03:02:13 +01:00
themode
f3335d25f6 Cleanup 2021-03-11 02:42:15 +01:00
themode
060a148b60 Fix un-quoted ArgumentString 2021-03-11 00:18:04 +01:00
themode
9c1ff216a1 Replace Arguments by CommandContext in demo commands 2021-03-11 00:11:29 +01:00
themode
7bf2deecf2 Added raw arg in CommandContext + cleanup 2021-03-10 20:03:36 +01:00
themode
cbe57f9cac Retrieve context from suggestion 2021-03-10 19:47:08 +01:00
themode
eb56324e8b Added suggestion support for subcommands 2021-03-10 19:14:24 +01:00
themode
67b3b37813 Replace Arguments by CommandContext 2021-03-10 06:38:51 +01:00
themode
b03b35b881 Improve tab packet when dealing with trailing spaces 2021-03-10 04:21:42 +01:00
themode
bca2434cff Command parsing cleanup + preparation for suggestion & advanced caching 2021-03-10 01:21:33 +01:00
themode
94526b218f Merge branch 'master' into command-suggestion 2021-03-09 22:51:29 +01:00
themode
b155f3bca3 Deprecate Attributes, constants in Attribute should be used instead 2021-03-09 20:51:11 +01:00
themode
f98cfe1d54 Set default start & length for the tab complete packet 2021-03-09 04:04:21 +01:00
themode
441cb5a1db Initial command suggestion commit 2021-03-09 01:44:01 +01:00
themode
7241dbdcf7 Modernize the demo package 2021-03-09 00:43:35 +01:00
TheMode
29a8542d3e
Merge pull request #129 from Minestom/improve-extension-system
Improve extension system
2021-03-02 18:22:21 +01:00
TheMode
3971777e56
Merge pull request #155 from RinesThaix/entities
Projectile improvements, custom entity position synchronization cooldown support
2021-03-02 13:38:50 +01:00
Konstantin Shandurenko
de15c4b6c5 Rewriting projectiles 2021-03-01 12:59:16 +03: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
Konstantin Shandurenko
20f581cc11 Merged with master 2021-02-26 06:58:12 +03:00
Konstantin Shandurenko
9e6aaa1088 Removed TestArrow from the demo scene 2021-02-25 12:02:40 +03:00
Konstantin Shandurenko
1115b829a1 EntityAIGroupBuilder 2021-02-24 13:38:42 +03:00
Konstantin Shandurenko
bbe143520e A bit more changes to EntityMeta 2021-02-23 18:37:00 +03:00
Konstantin Shandurenko
237466c90e Removed new entity classes and marked previously existing ones as deprecated 2021-02-23 16:10:14 +03:00
Konstantin Shandurenko
b409eadffa ArgumentEnum and /horse command for demo scene 2021-02-23 09:06:19 +03:00
Konstantin Shandurenko
3bba4ea704 New Entity AI 2021-02-23 02:28:24 +03:00
Konstantin Shandurenko
dbd0e472c2 Added power param for projectiles shooting 2021-02-22 15:54:35 +03:00
Konstantin Shandurenko
714e107eb3 Removed @author javadocs 2021-02-22 14:53:04 +03:00
Konstantin Shandurenko
dbfebc50ec Block collisions for arrows 2021-02-22 14:42:46 +03:00
themode
f1448c8c89 Renamed RelativeLocation#from 2021-02-14 00:31:49 +01:00
themode
efd2dbc021 Fix command argument sharing 2021-02-12 04:34:37 +01:00
themode
5610b1a72a Added ArgumentLoop parsing 2021-02-12 00:25:12 +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
jglrxavpok
eadd4a2b39 Automatically unload GlobalEventHandler callbacks 2021-02-03 17:11:06 +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
b321a10caa Change the algorithm order of InstanceContainer#setBlock 2021-01-28 16:19:06 +01:00
LeoDog896
3b3a86a402 Prefer nullable over optional 2021-01-15 13:39:12 -05: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
8f99753235 WIP entity selector argument 2021-01-09 00:59:03 +01:00
themode
1c65b36087 Rework of ArgumentCallback to be more robust, allowing to simplify all argument types in order to be used out of the command framework for general parsing.
Also removed magic space string, replaced with constant from commons apache library
2021-01-08 03:07:37 +01:00
themode
d0e94f0ee5 Small demo update 2021-01-07 20:28:07 +01:00
themode
6b39cb1e32 Execute the async login event before sending the login success packet 2021-01-06 19:02:35 +01:00
themode
3a7ae11c56 Add CommandSender as param in onDynamicWrite 2021-01-05 18:04:28 +01:00
themode
7019b7da85 Fix onGround field and gravityTickCount 2021-01-04 03:04:45 +01:00
ThatCreeper
30868df243 Remove unused imports 2021-01-02 17:08:59 -06:00
ThatCreeper
30be7b5b81 Add Potion Add and Remove events 2021-01-02 16:59:17 -06:00
Matt Worzala
46ac38d5b3
Change ColoredText usages to JsonMessage 2020-12-31 13:53:21 -05:00
ThatCreeper
c3d6af3afe make removeEffect send a packet
Make Potion immutable, and use long instead of Long
2020-12-30 19:07:07 -06:00
ThatCreeper
b1cab4ee05 Make /potion use TICK_PER_SECOND 2020-12-30 18:56:56 -06:00
ThatCreeper
6a154eb15a Fix /potion demo command 2020-12-30 18:29:54 -06:00
ThatCreeper
d7883d29ff Rewrite Potions 2020-12-30 18:29:07 -06:00
ThatCreeper
50b44e46e0 Add PotionEffectManager 2020-12-30 17:12:03 -06:00
themode
6e0ad54d5e Added EntityEndCrystal 2020-12-22 05:36:15 +01:00
themode
b5feb35619 Added PlayerDeathEvent to change the death message/text 2020-12-22 05:26:37 +01:00
themode
5224eecdd1 Event unification (type-specific event, CancellableEvent is now an interface) 2020-12-16 03:21:59 +01:00
themode
1742aa6f8a Updated the custom stone block in demo 2020-12-14 05:43:10 +01:00
themode
3cfa216274 Fix intellij auto annotation 2020-12-14 01:45:46 +01:00
themode
8cddf30b9e Annotation for ChunkGenerator 2020-12-14 01:41:08 +01:00
Felix Cravic
a1ee3a28a0 TestPermissions cleanup 2020-12-11 21:50:59 +01:00
Felix Cravic
90102e1562 Permission improvement 2020-12-11 21:42:32 +01:00
Felix Cravic
76c3ea52ac Merge branch 'master' into nbt-permission 2020-12-11 21:37:00 +01:00
Felix Cravic
ac8ba3ab10 Fixed ItemDropEvent and PickupItemEvent constructor + changed PlayerInit event registration to use the global event handler 2020-12-11 04:34:08 +01:00
Felix Cravic
00c144b592 Rework of the permission API 2020-12-10 02:56:56 +01:00
Felix Cravic
654a68092a Simply MainDemo 2020-12-09 22:38:20 +01:00
Felix Cravic
f7c05a445e Remove #copy 2020-12-09 21:34:53 +01:00
Felix Cravic
40787902e3 Small demo code update 2020-12-06 20:20:05 +01:00
Eoghanmc22
338a1737c7 wait for netty to finish shutting down 2020-11-25 20:13:38 -05:00
Eoghanmc22
296d645400 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/benchmark/BenchmarkManager.java
2020-11-25 11:29:50 -05:00
Eoghanmc22
d1138f9f81 Fix race condition 2020-11-25 11:28:37 -05:00
Felix Cravic
0705ab34ed Allow custom suggestion type with ArgumentDynamicWord 2020-11-22 22:58:14 +01:00
Eoghanmc22
d056fceb8a slightly improve performance and fix memory leak 2020-11-22 12:44:08 -05:00
Eoghanmc22
1af58b1d96 fix Main 2020-11-21 17:08:56 -05:00
Eoghanmc22
04fc38a14f Merge branch 'master' of https://github.com/Minestom/Minestom 2020-11-21 14:59:17 -05:00
themode
48b637cbc8 Fixed player spawn when a respawn point is not specified 2020-11-21 20:56:32 +01:00
Eoghanmc22
f2f0625666 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/test/java/demo/PlayerInit.java
2020-11-21 13:23:16 -05:00
Eoghanmc22
926c02b7f5 Small optimizations to netty. 2020-11-21 13:09:03 -05:00
themode
234ac6daf4 Fixed build error 2020-11-21 06:43:12 +01:00
Eoghanmc22
4e11b16ee1 improve performance by 5-10% 2020-11-20 21:58:00 -05:00
Eoghanmc22
cb013f8291 player init 2020-11-20 15:19:20 -05:00
Eoghanmc22
1da7f5da78 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/test/java/demo/PlayerInit.java
2020-11-20 12:28:52 -05:00
themode
8d0a24fd55 PlayerInit packet optimization 2020-11-20 18:23:46 +01:00
Eoghanmc22
ee2e141673 implement pooled buffers 2020-11-20 12:16:45 -05:00
Eoghanmc22
9a64a0a409 Merge branch 'master' of https://github.com/Minestom/Minestom
 Conflicts:
	src/main/java/net/minestom/server/entity/Player.java
	src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java
	src/main/java/net/minestom/server/utils/PacketUtils.java
2020-11-20 08:56:58 -05:00
themode
533526d3a5 MainDemo does not require a default write and read speed 2020-11-19 08:48:33 +01:00
Eoghanmc22
f307303758 Netty improvements 2020-11-18 20:28:56 -05:00
Eoghanmc22
618fd2b536 Begin optimizing netty. 2020-11-18 13:39:06 -05:00
jglrxavpok
142b6a69a5 Post-merge fixes 2020-11-18 09:24:59 +01:00
jglrxavpok
0a4bb5ab08 Merge branch 'extensions-v2'
# Conflicts:
#	src/main/java/net/minestom/server/extensions/Extension.java
#	src/main/java/net/minestom/server/extensions/ExtensionManager.java
#	src/main/java/net/minestom/server/extras/selfmodification/MinestomRootClassLoader.java
2020-11-18 09:13:30 +01:00
themode
2405b7ae6f KB, not MB 2020-11-17 16:11:59 +01:00
themode
7ebbb8bc6c Added networking optimization code in MainDemo 2020-11-17 16:08:30 +01:00
JësFot
d738f9fddd Implement attribute instances 2020-11-17 14:59:47 +01:00
themode
392e702108 Improving chunk generation performance 2020-11-16 17:02:40 +01:00
themode
798b5d4853 Only flush during player update 2020-11-16 12:03:22 +01:00
themode
310733b747 Fixed stacking not working with NbtDataImpl 2020-11-16 07:40:45 +01:00
themode
3db53a798f Removed lombok dependency 2020-11-16 03:10:51 +01:00
themode
11f1a5380c Fix data file not being generated in TestLootTables 2020-11-16 00:46:46 +01:00
themode
beebf18af2 Fixed the chunk generator not being executed when no populator is defined 2020-11-15 10:44:11 +01:00
themode
2285c9622a If the garbage collector is happy, everyone is - TheMode 2020-11-15 08:03:33 +01:00
themode
4353e10741 Added bungee skin/uuid forwarding 2020-11-14 23:18:52 +01:00
themode
ae8a182eb8 Read player skin from velocity 2020-11-14 22:13:01 +01:00
themode
1d1e82aeb3 Prevent infinite load screen when not teleporting the player on spawning 2020-11-14 21:45:30 +01:00
themode
da94942bad Created PermissionHandler 2020-11-14 07:06:46 +01:00
themode
facc43e550 Added OptifineSupport for fast fix 2020-11-14 04:09:38 +01:00
themode
1a8baf36f6 Prevent command override using CommandManager 2020-11-14 01:39:51 +01:00
themode
2d009e19a7 Added KQueue support on OSX + netty version update 2020-11-13 08:39:05 +01:00
themode
c60f625c55 Revamp of the packet sending code, added possibility to have listeners for outgoing packets 2020-11-13 07:43:35 +01:00
themode
6e77bb8358 Improved demo commands clarity 2020-11-12 03:09:36 +01:00
themode
1d7db5e211 Added dynamic palette resizing 2020-11-11 21:35:20 +01:00
themode
babc6e35ba Fixed palette 2020-11-11 17:30:18 +01:00
themode
55cddf6b78 Added palette 2020-11-11 17:13:36 +01:00
themode
4dfe01ea2f WIP PaletteStorage (only works with Bits per entry of 15) 2020-11-11 06:06:28 +01:00
themode
6cbe656b15 Added "semi-relative" location argument support 2020-11-11 02:11:28 +01:00
themode
ad357d70fc Added ArgumentRelativeBlockPosition, ArgumentRelativeVec3 and ArgumentRelativeVec2 2020-11-10 23:16:35 +01:00
themode
bbf9f92b52 Added bungee forwarding support 2020-11-10 21:38:08 +01:00
themode
7db94f3a65 Support for velocity modern forwarding 2020-11-09 23:48:34 +01:00
themode
66fc6779b6 Dynamic arguments now also have an optional dynamic restriction 2020-11-07 03:40:37 +01:00
themode
8c8ba37947 Added auto suggestion in the reload command 2020-11-06 23:35:31 +01:00
jglrxavpok
69f424eb6a Improve load command safety 2020-11-06 16:10:44 +01:00
jglrxavpok
d83bec4732 Let users change extension jar after unload, then load it again 2020-11-06 16:03:08 +01:00
themode
f85b2c4aad Allow dynamic entity view distance change 2020-11-04 19:14:04 +01:00
themode
9781e380b9 Command syntaxes can now contain a CommandCondition 2020-11-04 04:45:46 +01:00
jglrxavpok
925f5fa614 Reloading extensions 2020-11-03 21:26:46 +01:00
themode
1c6070a1b2 Added an unknown command callback 2020-11-02 04:13:43 +01:00
themode
2e0c5a72b7 Added optional additional data in Permission#isValidFor 2020-11-02 02:53:12 +01:00
themode
0184ada9a0 Renamed #clone to #copy 2020-10-31 18:03:15 +01:00
themode
06f2ed6065 Use the Contract annotation to prevent useless NPE warnings 2020-10-26 13:57:02 +01:00
jglrxavpok
aac18a19f9 Test to avoid regression errors on '.' and '/' in NamespaceID paths 2020-10-25 11:32:15 +01:00
jglrxavpok
535e8946b6 Extensions can declare Maven dependencies which will be auto-downloaded 2020-10-24 22:57:38 +02:00
themode
b2e3d3e78d Use negative entity id for the custom breaking system 2020-10-19 11:56:26 +02:00
jglrxavpok
26ce63763a Validity checks on NamespaceIDs 2020-10-18 18:27:57 +02:00
themode
512b30e9df Added ArgumentItemStack 2020-10-16 14:31:15 +02:00
themode
fbe4126021 Added Player#chat to simulate chat message 2020-10-16 11:37:00 +02:00
themode
551bd42b48 Moved the demo server to the test directory 2020-10-11 16:02:26 +02:00
jglrxavpok
6df42b79cb Merge branch 'mixin-support' 2020-09-11 21:03:43 +02:00
Nesaak
dd66699a20 Make Data and SerializableData interfaces 2020-09-02 12:41:04 -04:00
jglrxavpok
21b48fe291 Wired Mixin phases with Minestom initialization 2020-08-25 15:44:17 +02:00
jglrxavpok
c3c2b0a34c Loading mixins from extensions 2020-08-23 23:27:53 +02:00
jglrxavpok
26b8ad125e Very basic Mixin support 2020-08-23 22:38:27 +02:00
jglrxavpok
223af361d8 Code modifiers and test extension 2020-08-21 01:32:59 +02:00
jglrxavpok
d2df5fdc60 Serialization methods 2020-08-10 21:42:54 +02:00
jglrxavpok
1772b94114 Start of Permission API 2020-07-31 22:31:58 +02:00
Articdive
cca65f8d42
Update dependncies and JUnit 2020-07-13 19:34:32 +02:00
jglrxavpok
e2a01c1a16 Back to 1.15.2 to prepare for merge 2020-06-29 21:19:59 +02:00
jglrxavpok
290d922e3a Replacing old Block enum with autogenerated Block enum 2020-06-23 18:35:23 +02:00
jglrxavpok
4111c728df Basic implementation of tags 2020-06-23 18:17:02 +02:00
jglrxavpok
556c6fd837 Changed condition deserializing in order to allow arguments inside the .json and utility functions in Position 2020-05-21 19:17:34 +02:00
jglrxavpok
fe3025fce5 Loot table entry types + Defaults for loot table functions and conditions 2020-05-19 18:34:11 +02:00
jglrxavpok
3c0d351f15 Loot table support 2020-05-18 21:11:59 +02:00