Commit Graph

2280 Commits

Author SHA1 Message Date
thiccaxe
94c4ec79e1 simplify data storage, fix annotations
Removed HandshakeData  - too excessive

Added abstract methods in PlayerConnection as replacement

in FakePlayerConnection setters do nothing and Getters return MinecraftServer defaults
2021-04-08 16:51:50 -07:00
thiccaxe
cad128a393 update demo to show example
may be cut down later as it is very excessive.
2021-04-08 14:41:22 -07:00
thiccaxe
cd27d1d6c7 ServerListPingEvent
An implementation of what could be done to make this event - not perfect in my opinion.
2021-04-08 14:19:32 -07:00
TheMode
102c060114
Merge pull request #232 from strajabot/master
Add multiple colors for FireworkEffect
2021-04-08 20:25:54 +02:00
strajabot
96155e826e Add multiple colors for FireworkEffect 2021-04-08 19:02:42 +02:00
LeoDog896
45cc41c99e
Merge branch 'master' into argument-map 2021-04-08 13:01:50 -04:00
TheMode
c2f302ad0e Fix Inventory never being null when clicking inside an inventory (when the click happens on a player inventory slot) 2021-04-08 17:47:44 +02:00
TheMode
25176e9b9d
Merge pull request #231 from DiamondCodingYT/yaw-fix
Added a yaw fix to for issue #168
2021-04-08 15:04:08 +02:00
Florian Fuhrmann
9c1eeb56d3 Added the Position#fixYaw method that fixes yaw values an used it on Position#setYaw and on a Position constructor to fix issue #168 2021-04-08 12:45:17 +02:00
TheMode
4c495f401d Code cleanup 2021-04-07 18:35:19 +02:00
TheMode
5b98fbeb8b Rename CommandCondition 'source' to 'sender' 2021-04-07 15:48:05 +02:00
LeoDog896
dfae6ad5f8 Documentation and visibility changes 2021-04-06 22:12:30 -04:00
LeoDog896
0e4168ba45 Add ArgumentMap 2021-04-06 22:07:38 -04:00
LeoDog896
97cad24b14 Merge remote-tracking branch 'upstream/master' into update-option-equals 2021-04-06 21:39:17 -04:00
TheMode
2606f2b291 Added PlayerChatEvent#getDefaultChatFormat 2021-04-07 02:47:19 +02:00
TheMode
093cce7242 Dependency update 2021-04-06 23:59:48 +02:00
LeoDog896
9d1d60cdcd Equals & hashcode overrides 2021-04-06 15:25:18 -04:00
TheMode
0bb8144d33 Improve BinaryReader & BinaryWriter 2021-04-06 18:31:30 +02:00
TheMode
017bbf8a60 Remove 0 size check 2021-04-06 06:43:16 +02:00
TheMode
720c986cea Fix reading of non-ASCII characters being higher than the protocol limit 2021-04-06 06:39:57 +02:00
Felix Cravic
e3867c659b Merge branch 'master' into item-api
# Conflicts:
#	src/main/java/net/minestom/server/item/ItemStack.java
2021-04-06 05:10:58 +02:00
themode
008b7fb223 Fix FishingHookMeta NPE 2021-04-05 20:55:51 +02:00
KrystilizeNevaDies
7a6fb4d601 Format FishingHookMeta + make owner not null 2021-04-06 04:43:19 +10:00
KrystilizeNevaDies
b1cfa3d9b2 make FishingHookMeta implement ObjectDataProvider 2021-04-06 04:39:47 +10:00
thiccaxe
159ff3f646 Remove reprecated code
Removed deprecated code,
Added missing code,
Optimized imports.
2021-04-05 09:57:18 -07:00
themode
88765dd703 Fix test 2021-04-05 18:26:57 +02:00
themode
49397957a2 Style cleanup, add more information when the server is not run using bootstrap 2021-04-05 18:24:38 +02:00
themode
63159cc49a Fix client 0x1E & 0x1F packets 2021-04-05 18:22:08 +02:00
thiccaxe
56f8728890 Fix Deprecation of ResponseDataConsumer 2021-04-04 19:53:01 -07:00
thiccaxe
02982c0ee2 Shortcut methods in StatusRequestEvent 2021-04-04 18:52:55 -07:00
thiccaxe
2dec361836 Deprecate ResponseDataConsumer
Not sure if this is how to correctly deprecate, please lmk!
2021-04-04 18:50:41 -07:00
thiccaxe
7c0fcadd4f Add HandshakeEvent 2021-04-04 16:26:58 -07:00
thiccaxe
4f8e94dcf2 Note about favicon format 2021-04-04 15:57:42 -07:00
thiccaxe
cf4a8756ef StatusRequestEvent
Added basic event

notes:
 - minestom will only accept the 1.16.5 protocol version, as of now there is no way to get the protocol version from the event. Assume 1.16.5

- there is also no way to currently get the address the client used to ping the server, as that is sent in another packet and minestom does not currently pass that data through.

 - favicon appears to not be working
2021-04-04 15:43:19 -07:00
themode
15c0e64703 Fix AbstractInventory#addItemStack comment 2021-04-04 22:53:08 +02:00
themode
81f2127a9d Annotation style 2021-04-04 21:48:11 +02:00
themode
5a5531723c Fix original nbt overwriting modified meta 2021-04-04 21:34:48 +02:00
themode
d34d3a2b50 Add comment about ItemMetaBuilder#clone 2021-04-04 20:50:06 +02:00
themode
d1d973018e Lore is non-null 2021-04-04 20:49:21 +02:00
TheMode
2b72f91909
Merge pull request #214 from MrBretze/master
Added isRegistered(DimensionType) and getDimension(NamespaceID) to DimensionTypeManager
2021-04-04 18:29:40 +02:00
Konstantin Shandurenko
88c2e82604 AbstractInventory: more StackingRule#apply usages instead of ItemStack#withAmount 2021-04-04 19:15:34 +03:00
themode
005d70e3a6 Annotation + ItemStoreBuilder should be more like a builder 2021-04-04 17:54:05 +02:00
Kieran Wallbanks
4ee9d8ee91 Fix Javadoc build error 2021-04-04 14:51:04 +01:00
themode
68de2b1980 Cleanup 2021-04-04 15:44:09 +02:00
themode
ea58d0f693 Fix StackingRule not being used inside to retrieve item count 2021-04-04 15:41:05 +02:00
Kieran Wallbanks
9182ab7e84 Improve deprecation messages, allow ChatColor to be used in Adventure component styling 2021-04-04 14:40:29 +01:00
themode
d6b6d41f41 Fix Inventory not using a Component as title 2021-04-04 15:33:53 +02:00
Kieran Wallbanks
785a0bb66c Remove unnecessary cast attempts and instanceof checks 2021-04-04 14:10:06 +01:00
Kieran Wallbanks
7b4a072a78 Fix broken sendLegacyMessage functions 2021-04-04 14:06:23 +01:00
Kieran Wallbanks
59e67c0d82 Undeprecate CommandSender#sendMessage(String), see #212 2021-04-04 14:05:02 +01:00
themode
992f7feb77 Added ItemMetaBuilder#hideFlag with varargs 2021-04-04 14:19:51 +02:00
TheMode
6218d2a78e All inventories should implement InventoryClickHandler
Signed-off-by: TheMode <themode@outlook.fr>
2021-04-04 03:37:57 +02:00
TheMode
51d290cae9 Share more data between PlayerInventory & Inventory
Signed-off-by: TheMode <themode@outlook.fr>
2021-04-04 03:36:31 +02:00
Konstantin Shandurenko
fdfd20e255 InventoryModifier to AbstractInventory and additional methods for inventories 2021-04-04 03:56:44 +03:00
Konstantin Shandurenko
e295ffea51 Switched to Cooldown object in attacking goals 2021-04-04 03:13:56 +03:00
Konstantin Shandurenko
3f184aad41 Path update cooldown for attacking entity goals 2021-04-04 02:56:02 +03:00
themode
ca41365453 Added some useful store methods 2021-04-03 19:35:03 +02:00
themode
dfa7d712c2 Initial ItemStore support 2021-04-03 19:08:07 +02:00
themode
e4936b4a53 Added almost all item tags 2021-04-03 17:14:00 +02:00
themode
89b35a0569 Cleanup ItemTag 2021-04-03 16:03:03 +02:00
themode
c8fbf47bd9 Impl ItemMeta#getOrDefault 2021-04-03 15:50:34 +02:00
themode
4741c932a0 Add ItemTag 2021-04-03 15:45:46 +02:00
themode
f52e10c2b2 Added InventoryModifier#replaceItemStack 2021-04-03 15:01:36 +02:00
ALS
680361fd35 Add @Nullable to getDimension(NamespaceID) 2021-04-03 13:58:10 +02:00
ALS
99151cb05a Added isRegistered(DimensionType) and getDimension(NamespaceID) to DimensionTypeManager 2021-04-03 13:57:07 +02:00
themode
d1c10243a8 ItemMeta doesnt need to be cloneable 2021-04-03 04:07:27 +02:00
themode
0478b696f4 Inventory code cleanup 2021-04-03 03:43:13 +02:00
themode
785e002a50 Improve documentation 2021-04-03 00:21:23 +02:00
themode
0382b1adfe ItemMetaBuilder annotations 2021-04-03 00:09:13 +02:00
themode
9abbef35ae Reduce code duplication 2021-04-03 00:03:36 +02:00
themode
d3fb364a7a Better use of ItemStack#of 2021-04-02 23:41:06 +02:00
themode
255ccf8ad5 Remove unused class 2021-04-02 23:34:40 +02:00
themode
56bba41f68 Cleanup 2021-04-02 22:50:20 +02:00
themode
4a075da3e0 Ensure that the meta is new when instantiating from NBT 2021-04-02 22:40:24 +02:00
themode
8d8a22f209 Use original NBT when possible 2021-04-02 22:14:48 +02:00
themode
2b0c525ca2 Implement ItemStack#equals & use a soft reference to store meta cached NBT 2021-04-02 19:10:46 +02:00
themode
7dcc52de57 Support item stacking, cleanup 2021-04-02 18:25:20 +02:00
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
cf0450f21f Only make immutable lists when built 2021-04-02 14:02:24 +02:00
Alex
63031f0493 Annotate appropriately & refactor 2021-04-02 09:00:19 +02:00
themode
042c7c864b Added covariant return type + enchantment 2021-04-01 22:52:28 +02:00
themode
3ba74639bf Added Item#getUuid 2021-04-01 22:28:32 +02:00
Alex
ad229eb637 SairsPlacementRule (not perfect yet) 2021-04-01 22:19:29 +02:00
themode
debf21927b Change Item#builder visibility 2021-04-01 20:26:19 +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
Matt Worzala
481494d572
Remove deprecated copy methods 2021-04-01 11:32:09 -04:00
themode
70191e23e9 Even more annotations 2021-04-01 00:32:21 +02:00
themode
5807da47a6 Update annotations + add example 2021-04-01 00:20:59 +02:00
themode
e66fdee4b1 More methods & annotation 2021-04-01 00:09:02 +02:00
Kieran Wallbanks
825bd57a8e Adventureise ResponseData and cleanup code 2021-03-31 21:22:24 +01:00
themode
d332855bc4 Renamed CooldownUtils to Cooldown 2021-03-31 19:17:37 +02:00
themode
cba09e6a26 Reuse lore code 2021-03-31 16:58:07 +02:00
themode
308dbe0fdb Initial item api rework 2021-03-31 16:50:08 +02:00
TheMode
a1548fd35d Remove packet caching to CacheablePacket#getCache
Signed-off-by: TheMode <themode@outlook.fr>
2021-03-30 22:42:11 +02:00
TheMode
b386472eb3 Merge remote-tracking branch 'origin/master'
# Conflicts:
#	src/main/java/net/minestom/server/network/player/NettyPlayerConnection.java
2021-03-30 22:40:48 +02:00
TheMode
f3eb3f6e34 Remove packet caching to CacheablePacket#getCache
Signed-off-by: TheMode <themode@outlook.fr>
2021-03-30 22:38:45 +02:00
jglrxavpok
13eb2ebc4c Merge remote-tracking branch 'origin/read-write-packets' 2021-03-30 22:14:09 +02:00
jglrxavpok
1ffd327214 Read/Write methods inside BinaryReader/BinaryWriter for Writeable and Readable interfaces 2021-03-30 22:11:30 +02:00
themode
45d3b7158c Use a Supplier in Argument#setDefaultValue, fix all-optional syntaxes missing arguments 2021-03-30 20:29:50 +02:00
jglrxavpok
255617b3ba Store heightmap+block entities read inside fields 2021-03-30 19:56:56 +02:00
themode
4af1e91653 Resize palette when required 2021-03-30 19:56:56 +02:00
themode
c984ca7a19 Cleanup & read section palettes 2021-03-30 19:54:49 +02:00
themode
3562c82e7f Start chunk block reading (miss palette information) 2021-03-30 19:52:11 +02:00
jglrxavpok
098a58a500 Pushing what I have in case someone wants to finish it before I find the motivation to 2021-03-30 19:52:11 +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
f9dcbafddf More readable server packets 2021-03-30 19:39:05 +02:00
jglrxavpok
7b8a8e3eb0 Tests to check which packets fail to write then read properly 2021-03-30 19:37:43 +02:00
Kieran Wallbanks
18608deefa Add util method to send a packet to an audience 2021-03-30 15:54:56 +01:00
themode
3d2d3868a3 Use a ConcurrentHashMap to store viewable chunks 2021-03-30 01:50:36 +02:00
themode
f3a67f8f50 Fix heap buffer being used for cached packets 2021-03-29 20:31:06 +02:00
themode
7f0dc6d40a Rename InventoryType#getAdditionalSlot to InventoryType#getSize 2021-03-29 17:36:18 +02:00
themode
adb9a449bf Cleanup default chat message 2021-03-29 17:33:52 +02:00
themode
ee18488f53 Fix chat message style + spacing 2021-03-29 17:00:58 +02:00
Callum Seabrook
1f961e0eab
Made chat messages use the vanilla format 2021-03-29 15:55:10 +01:00
themode
720c0fb6df Send light packet before chunk 2021-03-29 14:36:17 +02:00
themode
9a83226df5 Added more built in option in ArgumentParser#generate 2021-03-29 14:13:13 +02:00
themode
fa61be6858 Fix non released pooled buffer 2021-03-29 13:04:26 +02:00
themode
0326bd1445 Increase the default chunk range 2021-03-29 11:01:32 +02:00
themode
1e817ee4b5 Use velocity native compression 2021-03-28 20:40:27 +02:00
themode
85d01e5009 Micro optimize packet header varint 2021-03-28 19:34:38 +02:00
TheMode
3f1d1531ea
Merge pull request #197 from kezz/get-players-boss-bars
Expose player to/from boss bar methods
2021-03-28 17:37:27 +02:00
TheMode
d73f87d545 Use default compression level
Signed-off-by: TheMode <themode@outlook.fr>
2021-03-28 17:35:22 +02:00
Kezz
20b2ddb055
Rename player -> boss bar method 2021-03-28 16:22:48 +01:00
themode
5c832a954b Cache chunk packet, preallocate memory for tick buffer 2021-03-28 17:13:18 +02:00
themode
56a34f73d9 Improve/simplify packet memory allocation 2021-03-28 15:58:52 +02:00
Kieran Wallbanks
229a54b4b5 Expose player to/from boss bar methods 2021-03-28 14:57:54 +01:00
themode
7edc508662 Added beta ArgumentType#generate 2021-03-28 11:39:10 +02:00
themode
b9527c4909 Cleanup netty shutdown 2021-03-27 20:45:18 +01:00
themode
250ec081ae Enable SO_KEEPALIVE 2021-03-27 20:29:57 +01:00
themode
27cfe9c92b Rename Command#addConditionalSyntax 2021-03-27 18:28:10 +01:00
Kezz
156c6a31df
Write scoreboard objects using standard JSON serialization (#196) 2021-03-28 01:52:35 +10:00
TheMode
36813c6858
Merge pull request #195 from kezz/fix-non-location-sound
Use EntitySoundEffectPacket in no location playSound method, fixes #194
2021-03-27 16:11:23 +01:00
Kieran Wallbanks
d086d16fa1 Use EntitySoundEffectPacket in no location playSound method, fixes #194 2021-03-27 13:59:08 +00:00
Kieran Wallbanks
bd6768f168 Switch to streams in bulk boss bar addition/removal 2021-03-27 13:32:27 +00:00
Kieran Wallbanks
45f6d4b80c Remove boss bar registration system 2021-03-27 13:26:23 +00:00
themode
404d6aa45e some protected fields for Argument 2021-03-27 14:08:04 +01:00
themode
dba2ff3e02 Merge remote-tracking branch 'origin/master' 2021-03-27 10:52:20 +01:00
themode
2f86a2f5cf Fix lore not being compared in ItemStack#isSimilar 2021-03-27 10:52:09 +01:00
LeoDog896
d896cda22c Add comment describing null check 2021-03-26 19:52:31 -04:00
LeoDog896
78734b5a3c Add null check to makeClassLoader 2021-03-26 19:32:18 -04:00
themode
66ab1bb53d Prevent Check#notNull from concatenating strings unnecessarily 2021-03-26 22:23:41 +01:00
TheMode
ea3f558d8a
Merge pull request #187 from Kebab11noel/demo-commands
Demo commands
2021-03-26 21:50:25 +01:00
themode
705f419f9d Rename some internal-only methods 2021-03-26 21:31:57 +01:00
themode
55626738e2 Style cleanup 2021-03-26 21:26:35 +01:00
Németh Noel
477b69b9e5 Added common conditions 2021-03-26 21:13:45 +01:00
TheMode
d41402c2e7
Merge pull request #186 from kezz/fix-scorebord-value
Write scoreboard values using legacy strings
2021-03-26 20:47:31 +01:00
Kieran Wallbanks
d433b0d3bc Write scoreboard values using legacy strings 2021-03-26 19:42:04 +00:00
themode
cb8225c5f3 Fix BenchmarkManager#getCpuMonitoringMessage color 2021-03-26 20:35:30 +01:00
themode
9789f541cf Remove Audiences from MinecraftServer 2021-03-26 20:33:58 +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
themode
d114f8e61a Do not create empty components every time 2021-03-26 20:04:19 +01:00
themode
d33f7df512 Force non-null components 2021-03-26 20:00:52 +01:00
TheMode
74947251fd
Merge pull request #157 from kezz/adventure
Adventure Time!
2021-03-26 19:46:41 +01:00
themode
52c7192462 Fix EntityFinder for non-player entities 2021-03-26 19:32:12 +01:00
Kieran Wallbanks
13d279aaf4 Rename AudienceProvider methods, add custom(Key, Predicate) 2021-03-26 17:58:14 +00:00
Kieran Wallbanks
96c9075378 Fix boss bar grouped packet sending 2021-03-26 17:43:08 +00:00
Kieran Wallbanks
3628c42ef2 Rework boss bar system 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
aa2d1f6397 Rename serializer and make static static 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
7fd3daae5f Store audiences to reduce object allocation 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
30cfd854a2 Only return iterables 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
bbfe83eeea Use Audiences class instead of ConnectionManager 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
3f525bef2e Remove iterable constructor 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
73ab9a7c21 Unimplement Audience in ConnectionManager 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
7afca9554d Split BossBarManager into multiple classes for clarity 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
658d07e8e4 Fix clearTitle 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
0caca00dda Provide access to AudienceRegistry and rename CollectionAudienceProvider to reflect return types 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
1f52761c39 Make Audiences use PacketGroupingAudience where possible 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
cd06fbdfaa Fix ItemStack display name serialization 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
e02a521494 Send all Adventure packets grouped where possible 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
4a0103a795 Move sound packet creation into AdventurePacketConvertor 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
ef7329351f Cleanup AdventurePacketConvertor 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
cfba291522 Make Player use SoundCategory#asSource 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
7cedde0502 Create Audiences system for obtaining grouped audiences 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
f861814352 Un-implement Audience in MinecraftServer 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
0a1a0f2fa1 Remove deprecated elements from packets 2021-03-26 17:34:39 +00:00
Kieran Wallbanks
eeedd97e8b Make book metas use components for pages 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
9f87912d02 Remove TeamColor 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
1fe159636b Tidy up new color classes 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
9490f1f9da Add single Audience getter from Viewable viewers 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
e738efded3 Use Adventure in ArgumentComponent and add demo echo command 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
0178a0a852 Add Contract annotation to asBinaryTagHolder 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
9e6b1203e1 Fix NamespaceID tests 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
b861426c8f Remove deprecated packet members 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
8cb10a2049 Implement Keyed in NamespaceID 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
f593590ab4 fix rebase compilation errors 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
03f092fa54 Rename Sound enum to SoundEvent 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
b4b2cf70c5 Revert argument changes to single file with adventure style result 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
8dc7328c76 Off-by-default component translation 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
96826e03d1 Cache player Identity 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
1cc7867f9b Exclude more checker-qual 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
f7b683c343 Add ability to skip packet translating 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
931d790702 Make player implement Identified 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
52ce8027f2 Simplify component translation 2021-03-26 17:34:38 +00:00