Commit Graph

2601 Commits

Author SHA1 Message Date
TheMode
bd3e4e2f0a Added Acquirable#currentEntities 2021-04-15 03:08:19 +02:00
TheMode
11b1bbea2e Update entities thread 2021-04-15 01:44:08 +02:00
LeoDog896
c41c202589 Deepclone and cast 2021-04-14 18:19:07 -04:00
LeoDog896
7eb13de433 Compound and list tags 2021-04-14 18:12:41 -04:00
TheMode
fec36d4706 Run thread directly 2021-04-14 22:48:13 +02:00
TheMode
73cdfed5ce Merge branch 'master' into acquirable 2021-04-14 22:29:55 +02:00
TheMode
250907df6c Return constant empty set if the chunk is not loaded 2021-04-14 22:29:38 +02:00
TheMode
7dc0387ecf Add a way to find the current threadid of a chunk 2021-04-14 22:22:46 +02:00
TheMode
79f0d97664 Cleanup tick preparation 2021-04-14 21:41:14 +02:00
TheMode
a55ea6d0c2 WIP per-chunk thread 2021-04-14 21:29:37 +02:00
TheMode
356150847e Per-chunk batch management 2021-04-14 20:32:02 +02:00
TheMode
9b8dd6e768 Merge branch 'master' into acquirable
# Conflicts:
#	src/main/java/net/minestom/server/thread/ThreadProvider.java
2021-04-14 20:13:26 +02:00
TheMode
ccab205a54 Initial acquirable API commit 2021-04-14 20:12:56 +02:00
TheMode
c1b278f4b9 Fix merge, remove unnecessary methods (for now)
Signed-off-by: TheMode <themode@outlook.fr>
2021-04-14 20:09:49 +02:00
TheMode
683a6d35fa Merge branch 'master' into tickable
# Conflicts:
#	src/main/java/net/minestom/server/entity/Entity.java
#	src/main/java/net/minestom/server/instance/DynamicChunk.java
#	src/main/java/net/minestom/server/instance/Instance.java
2021-04-14 20:06:35 +02:00
TheMode
dc5b764732 Inventory id generation cleanup 2021-04-14 07:25:51 +02:00
TheMode
97f2f3f06c Fix inventory id overflow 2021-04-14 05:03:37 +02:00
TheMode
c57e35c58a Add completable future return to AsyncUtils 2021-04-14 04:06:41 +02:00
TheMode
7d574317dc ClientCloseWindowPacket window id is a byte, not a var int 2021-04-14 02:00:19 +02:00
TheMode
b68c30423c Add BinaryWriter#write(ByteBuf) 2021-04-14 01:40:21 +02:00
TheMode
a3f1235df4 Stacking rule should be defaulted to vanilla if null 2021-04-13 23:15:51 +02:00
TheMode
6ba336ee73 Added hand inside eat events 2021-04-13 22:59:40 +02:00
TheMode
a55ae4d048 Cache unmodifiable players set, remove print 2021-04-13 21:39:42 +02:00
TheMode
49944fb651 Keep StackingRule across builders 2021-04-13 09:24:37 +02:00
TheMode
58a532ac03 Annotate ItemStackBuilder#stackingRule with Beta 2021-04-13 09:19:39 +02:00
TheMode
70b97951e4 Added setter for StackingRule 2021-04-13 05:50:11 +02:00
TheMode
fed4e6897a Fix FireworkEffect byte reading 2021-04-13 04:14:32 +02:00
TheMode
61d2ef2f06 Fix ItemStack#fromNBT 2021-04-13 03:45:01 +02:00
TheMode
508659fd30 Fix potential race condition 2021-04-13 03:29:55 +02:00
TheMode
2b74d7697c Added ItemStack#fromNBT 2021-04-13 03:27:51 +02:00
TheMode
32430882a5 ItemStack is final 2021-04-13 03:10:04 +02:00
TheMode
3b8ed1df32 Add api status annotations 2021-04-13 02:21:03 +02:00
TheMode
56439a2330 Merge branch 'master' into jline 2021-04-13 02:18:10 +02:00
TheMode
1b98a65869 Get entities from all instances when none is specified in an entity query 2021-04-13 02:08:09 +02:00
TheMode
20c947650f Clear command cache after unregistering a command 2021-04-12 22:45:45 +02:00
TheMode
cdaef2b4f0 Remove LivingEntity outdated TODO 2021-04-12 19:56:40 +02:00
TheMode
2755add8df Fix item tags not being saved when going through a builder 2021-04-12 17:11:28 +02:00
TheMode
1e99810451 Inventory title can be raw string 2021-04-12 16:42:57 +02:00
TheMode
6b165c7692 Fix MapMeta not being a provider 2021-04-12 16:29:15 +02:00
TheMode
2531161964 Fix drag click 2021-04-12 16:27:12 +02:00
TheMode
0fea9b39a2 Return AIR if the amount is 0 or below 2021-04-12 09:11:08 +02:00
TheMode
adfb487140 Fix entity currentChunk being null 2021-04-12 04:50:45 +02:00
TheMode
4932262750 Use chunk instead of instance to check if an entity is on ground 2021-04-12 04:45:11 +02:00
TheMode
bd90de0df2 Remove unnecessary string concat 2021-04-12 04:27:36 +02:00
TheMode
0ff9e3e435 Remove debug print 2021-04-12 04:05:18 +02:00
TheMode
8f6a651bda Added StackingRule#apply with unary operator for amount 2021-04-12 01:27:33 +02:00
TheMode
aac32420de Annotation cleanup 2021-04-12 01:07:05 +02:00
TheMode
1d5262caf2 Merge branch 'master' into item-api
# Conflicts:
#	src/test/java/demo/PlayerInit.java
2021-04-12 00:44:47 +02:00
TheMode
7e3035709f Annotation, fix cursor item not being cleared 2021-04-12 00:42:32 +02:00
TheMode
8e9d7098e5 Allow custom transaction type, simplify inventory superclasses 2021-04-12 00:33:27 +02:00
TheMode
ecb77fc847 Rename FillOption to TransactionOption 2021-04-12 00:07:38 +02:00
TheMode
1100aa98a5 Annotation & comment 2021-04-12 00:04:40 +02:00
TheMode
17fcd23c77 Fix condition, add documentation 2021-04-11 23:52:12 +02:00
TheMode
d86a733b79 WIP FillOption 2021-04-11 23:43:35 +02:00
TheMode
db8f071633 Cleanup, make PingPlayer immutable 2021-04-11 20:46:48 +02:00
TheMode
9f3b7d4ca8
Update FakePlayerConnection.java 2021-04-11 20:32:09 +02:00
thiccaxe
fadbe39494 Getters for fields in HandshakeData 2021-04-11 10:46:09 -07:00
thiccaxe
c451d46ce0 document ServerListPingEvent 2021-04-11 10:30:47 -07:00
TheMode
c7cd8c332a Rename meta package to metadata to limit breaking changes 2021-04-11 19:13:50 +02:00
TheMode
df20670ce8 Use AIR as default in CrossbowMeta instead of null 2021-04-11 17:12:28 +02:00
TheMode
ea3aedd76f ItemMeta#getOrDefault annotation 2021-04-11 17:05:32 +02:00
TheMode
792dd9787f Remove ItemStore API until a stable solution is found 2021-04-11 17:01:05 +02:00
TheMode
f7bf7c1321
Merge pull request #204 from kezz/send-packets-to-audience
Add util method to send a packet to an audience
2021-04-11 15:29:04 +02:00
TheMode
34a7c68e16
Merge pull request #237 from Minestom/update_structure_packet
Add update structure block packet
2021-04-11 15:26:19 +02:00
TheMode
2fadf1da94 Added varargs equivalent for canPlace/Destroy 2021-04-11 15:01:43 +02:00
TheMode
3b37987f15 Remove dead line 2021-04-11 14:55:27 +02:00
Matt Worzala
1f27f2e6cd
provide default location 2021-04-11 00:46:04 -04:00
Matt Worzala
11146186cc
add update structure block packet 2021-04-11 00:37:00 -04:00
thiccaxe
8a9abff98b Remove Duplicate Code; unlinking ResponseData & ServerListPingEvent
Removed code that would cause maintaining more difficult after an update in ResponseData, and additionally PlayerConnection

Updated demo to reflect changes.
2021-04-10 21:14:36 -07:00
TheMode
2f53388b9f Fix velocity IP forwarding 2021-04-11 05:46:52 +02:00
TheMode
6e0202c33b Fix math, improve physics performance 2021-04-11 03:21:38 +02:00
TheMode
e0c2c4b655 Support for canPlace & canDestroy meta 2021-04-11 00:42:09 +02:00
TheMode
5adbc287b3 Added TickMonitor 2021-04-11 00:09:01 +02:00
TheMode
c347f55c1f Make it clear that ArgumentEntity uses a bitmask 2021-04-10 23:18:07 +02:00
TheMode
d219570fe6 Make it clear that PlayerAbilitiesPacket uses a bitmask 2021-04-10 23:17:20 +02:00
TheMode
2da42cb8cb Remove unnecessary chunk callback 2021-04-10 22:33:38 +02:00
TheMode
032343011a Reduce map lookup when looping through surrounding custom blocks 2021-04-10 22:03:03 +02:00
TheMode
f5a21948c6 Reduce chunk lookup when switching 2021-04-10 21:57:33 +02:00
TheMode
c74946cc3c Cache entity current chunk 2021-04-10 21:42:45 +02:00
TheMode
aaab620839 Reduce entity movement overhead (chunk lookup) 2021-04-10 21:21:37 +02:00
TheMode
be2d1db9e0 Merge branch 'master' into item-api 2021-04-10 19:37:36 +02:00
TheMode
ea293bd376 Added EquipmentHandler#setEquipment 2021-04-10 19:30:25 +02:00
TheMode
0be4c6d8c7 More meta utils method, fix openBook 2021-04-10 18:55:26 +02:00
TheMode
0619b1b14b Fix immutability inside ItemMeta 2021-04-10 18:36:20 +02:00
TheMode
e81c31f61b Remove Ownership code 2021-04-10 17:47:45 +02:00
TheMode
bd3c678bde Add HoverEventSource to ItemStack 2021-04-10 17:01:50 +02:00
TheMode
ebbfe7868b Prevent implicit cast from int to double 2021-04-10 06:11:43 +02:00
TheMode
d2efb43625 Improve immutability & prevent NPE 2021-04-10 06:08:08 +02:00
TheMode
50ceeb33e4 Use proper meta based on material 2021-04-10 06:03:48 +02:00
TheMode
1d12a5de95 Implement all meta 2021-04-10 05:53:40 +02:00
TheMode
e4f7a66046 Packet cache rename 2021-04-10 02:02:59 +02:00
TheMode
d88f81e5f3 Use UnaryOperator instead of Function 2021-04-10 01:16:21 +02:00
TheMode
d1f8e60a7e Cache meta binary 2021-04-10 00:55:18 +02:00
TheMode
f5b8f267d6 Clone instead of caching 2021-04-10 00:25:50 +02:00
TheMode
5e8e7cbaf4 Rename nbt method to remove confusion about the object being mutable or not 2021-04-10 00:24:29 +02:00
TheMode
64e70c3b64 Use the builder methods instead of fields 2021-04-10 00:01:06 +02:00
TheMode
d6e7c9a635 Handle nbt directly inside builders instead of lazily 2021-04-09 23:57:05 +02:00
TheMode
4f5fd125c4 ItemMetaBuilder doesnt need to be cloneable 2021-04-09 23:23:33 +02:00
TheMode
e19af0377c Merge branch 'master' into item-api
# Conflicts:
#	src/main/java/net/minestom/server/item/ItemDisplay.java
#	src/main/java/net/minestom/server/utils/binary/BinaryReader.java
2021-04-09 23:19:38 +02:00
TheMode
e4a26df2b6 Rename ItemMeta#nbt, remove unnecessary cache 2021-04-09 23:16:57 +02:00
TheMode
05a553eb4e Fix javadoc build 2021-04-09 19:01:37 +02:00
TheMode
4b31e27348 Fix ArgumentMap when the argument accepts space 2021-04-09 18:59:24 +02:00
TheMode
b50c2831bf
Merge pull request #228 from Project-Cepi/argument-map
Add ArgumentMap
2021-04-09 18:55:36 +02:00
LeoDog896
ca6ee7c23a Move ArgumentMapper inside ArgumentMap 2021-04-09 12:54:02 -04:00
LeoDog896
e4c3345da7 Add beta to map 2021-04-09 12:50:05 -04:00
TheMode
b03752afbe Fix javadoc build 2021-04-09 18:28:03 +02:00
TheMode
5ef4d0f9b4 Reduce the overhead of converting chunk indexes to chunk object, dont tick empty entity list 2021-04-09 18:22:29 +02:00
Kieran Wallbanks
05192de8e1 Make NamespaceID implement Key directly 2021-04-09 13:47:53 +01:00
thiccaxe
61242dc185 Remove extra setters and congregate into refreshServerInformation 2021-04-08 22:06:16 -07:00
TheMode
164873c313 Ensure thread safety 2021-04-09 06:04:16 +02:00
TheMode
abbf7f932d Prevent memory leak when dealing with cached packets 2021-04-09 06:02:07 +02:00
TheMode
56bdb402b1 Merge remote-tracking branch 'origin/master' 2021-04-09 05:41:03 +02:00
TheMode
01d233f7d8 Overall performance improvement 2021-04-09 05:40:40 +02:00
thiccaxe
fce63a91d5 actually remove the code this time 2021-04-08 18:21:00 -07:00
thiccaxe
b086dc82ca Remove extra code in FakePlayerConnection, add refershServerInformation back 2021-04-08 18:20:23 -07:00
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
5e4af20992 And handle event exceptions 2021-04-06 22:29:24 -04:00
LeoDog896
512ec8dcbc Catch command execution 2021-04-06 22:28:12 -04: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
Lukas Mansour
e94aa522b7
Merge branch 'master' into authlib-removal 2021-04-03 11:55:42 +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
Kieran Wallbanks
c40139349b Add null check for Component in BinaryWriter 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
6dd3eb8044 Implement HoverSource for ItemStack, Entity and Player 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
4ef62a1017 bump adventure to 4.7.0 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
aea8a5f794 fix compilation issues 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
327558c003 begin bringing packets back to use components 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
35e057a638 prefer minestom enums over raw packet values 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
94b737812d add converter from adventure enums to packet values 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
c25dbaa936 swap utils to registry 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
4179e5b91e allow obtaining enum values from registries using adventure key 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
89a962de9e remove more checker annotations 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
f20d2ac273 prefer iterable audiences 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
426b93db8f delegate hover event for items/entities to adventure, fixes #161 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
d419bf9401 fix TeamColor allowing unsupported formats 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
aa7703c056 make color take an RGBLike instead of a TextColor 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
e3d135e1f2 update arguments to reflect new color options 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
abae740cbc fix javadocs 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
f2897eedca fix title ticks 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
87b30a8361 correct SerializationManager method contracts 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
3b0aa2d63b Deprecate legacy chat functions 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
edbd244a07 Optimise JsonMessage <-> Component 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
3b2d5fd7d0 more colour cleanup 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
5ebd9058e2 Update colours 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
522367dd78 Begin removing deprecated usages 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
82820bc40b Remove WrapperAudience 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
7351b9fdd3 Implement global translation system 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
6095523d8a Deprecate old chat in packets 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
316ecbbf5a Cleanup annotations and imports 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
2c2f1b6cee Implement playSound and openBook methods 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
52831e7091 Add converter from Component to JsonMessage 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
653859e784 Add SerializationManager 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
d9c7f2cd61 Formatting changes 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
be5b31e207 Add concurrencyLevel to the MapMaker 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
ac57726a98 Make more classes implement Audience 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
9fca53a8d3 Make JsonMessage a ComponentLike 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
d4873e5e02 Make Team implement ForwardingAudience 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
f9ab109eb0 Fix player title overrides 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
aff04c0e0d Add boss bar implementations 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
cfa9cffe87 Clean up non-Player CommandSender implementations 2021-03-26 17:34:38 +00:00
Kieran Wallbanks
4f0944ba9f Initial adventure implementation
- deprecate old text classes
- make CommandSender and Audience
- implement in ConsoleSender
- partially implement in Player
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
0d7d7ef453 Cleanup comment 2021-03-26 16:43:25 +01:00
themode
cef7e3d591 Optimize packet writing & reduce allocation 2021-03-26 15:58:46 +01:00
themode
9c8c8c8bf8 WIP packet allocation improvement 2021-03-26 13:08:05 +01:00
themode
6db1c34c50 Remove mention of deprecated class 2021-03-26 11:25:03 +01:00
themode
71f2e885a4 Remove unused field 2021-03-26 11:24:09 +01:00
themode
1ceffd8540 Do not write empty buffer 2021-03-26 11:09:30 +01:00
TheMode
1b162c1139
Merge pull request #184 from kezz/viewable-defaults
Simplify Viewable packet sending
2021-03-26 09:23:42 +01:00
themode
c92a7873db Only send velocity packet in #addViewer if required 2021-03-26 09:04:28 +01:00
themode
0eea491f9d Fix intellij warning 2021-03-26 08:52:16 +01:00
themode
c6c720e0c7 Use concurrent map instead of copyonwrite set for player's viewable entities 2021-03-26 08:49:27 +01:00
themode
e9d76cc742 Flush in netty event loop 2021-03-26 08:37:47 +01:00
themode
eb4a6baf8e Use a thread safe Set for EntityCreature ai groups 2021-03-25 21:36:18 +01:00
Kieran Wallbanks
845f41b88a Remove cast and instanceof check from Viewable#sendPacketToViewersAndSelf 2021-03-25 17:07:05 +00:00
themode
622f632989 Use heap buffer for short lived packets 2021-03-25 16:51:36 +01:00
themode
b3655ad82d Small style cleanup 2021-03-25 16:05:10 +01:00
Eoghanmc22
0f5bb0e4f2 Changes to networking 2021-03-25 10:44:02 -04:00
LeoDog896
c60b92394c jglr's notes 2021-03-24 15:55:48 -04:00
LeoDog896
1b6bf4f173 Comment fixes 2021-03-24 15:53:02 -04:00
LeoDog896
69efdfd63f Spacing, more annotations 2021-03-24 13:25:36 -04:00
LeoDog896
082330dcd4 Remove invalid TODO 2021-03-24 12:25:33 -04:00
LeoDog896
606079ea98 Move cleanup to front, don't discover if not necessary 2021-03-24 12:23:44 -04:00
LeoDog896
2de657bca6 Outsource classloader to DiscoveredExtension 2021-03-24 12:16:29 -04:00
LeoDog896
d2c1284459 Merge remote-tracking branch 'upstream/master' into extension-exposing 2021-03-24 11:59:01 -04:00
LeoDog896
0fe222ea85 Small docs cleanup 2021-03-24 11:58:51 -04:00
LeoDog896
faa53b3d48 Cleanup, renaming, and docs 2021-03-24 11:55:46 -04:00
LeoDog896
5e92e04c29 JavaDocs 2021-03-24 11:23:56 -04:00
themode
5320beddb8 Added ArgumentUUID 2021-03-24 15:13:25 +01:00
LeoDog896
d1e0247754 Merge remote-tracking branch 'upstream/master' into extension-exposing 2021-03-24 09:10:42 -04:00
themode
fe7b48df48 Added ArgumentResourceLocation 2021-03-24 13:58:44 +01:00
LeoDog896
5e52121f3b Use one LinkedHashMap instead of multiple lists 2021-03-24 08:48:55 -04:00
LeoDog896
f2924b37a1 Make logger public
Good for encompassing logs EX a hanging System.out log can be passed back to the extension that called it
2021-03-24 08:48:37 -04:00
LeoDog896
34a56cf00e Move to Map of Extension 2021-03-24 08:39:47 -04:00
LeoDog896
e9a5389680 More scoping 2021-03-23 20:13:15 -04:00
LeoDog896
b5728e2255 Scope the dependency map 2021-03-23 20:04:25 -04:00
LeoDog896
1de1fb062d Better mapping! 2021-03-23 19:59:40 -04:00
LeoDog896
3b5d066f44 Style and stream cleanup 2021-03-23 19:43:48 -04:00
themode
135ecf7b9c Fix block placement on item entity 2021-03-23 17:01:12 +01:00
LeoDog896
79a8f4bd93 General style alignment 2021-03-23 11:50:42 -04:00
LeoDog896
5adbbd8c45 Style cleanup
Note: Stream is nice to have in some places, just *please* don't abuse it
2021-03-23 11:42:32 -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
LeoDog896
a982c4f11e Add removePlayerInitialization func 2021-03-23 08:56:25 -04:00
themode
4c3215bf1b Fix packet writing when compression is disabled 2021-03-22 19:37:16 +01:00