Commit Graph

371 Commits

Author SHA1 Message Date
LeoDog896
9e23085c34 Refactor and remove classes 2021-06-16 09:17:13 -04:00
TheMode
679030e75b Add BlockEvent 2021-06-14 15:30:05 +02:00
TheMode
a70fe174bf Fix rebase 2021-06-14 15:26:16 +02:00
TheMode
63004cf4ba Merge branch 'master' into new-block-api
# Conflicts:
#	src/main/java/net/minestom/server/event/player/PlayerBlockBreakEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerBlockInteractEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerBlockPlaceEvent.java
#	src/main/java/net/minestom/server/event/player/PlayerStartDiggingEvent.java
#	src/main/java/net/minestom/server/instance/Instance.java
#	src/main/java/net/minestom/server/instance/InstanceContainer.java
#	src/main/java/net/minestom/server/listener/BlockPlacementListener.java
#	src/main/java/net/minestom/server/listener/PlayerDiggingListener.java
#	src/test/java/demo/PlayerInit.java
2021-06-14 15:22:54 +02:00
TheMode
6315bd5c61 Add try-catch for EventNode condition 2021-06-14 14:42:10 +02:00
TheMode
f2bf27c86e Fix rebase 2021-06-14 00:18:53 +02:00
TheMode
eadb32eba3 Merge branch 'master' into event-api 2021-06-14 00:17:42 +02:00
TheMode
911c983957 Merge branch 'master' into event-api
# Conflicts:
#	src/main/java/net/minestom/server/entity/Player.java
#	src/main/java/net/minestom/server/event/player/UpdateTagListEvent.java
#	src/main/java/net/minestom/server/instance/Chunk.java
2021-06-14 00:11:41 +02:00
thiccaxe
7641b8a75d Updated Server List Ping
Added playersHidden field to ResponseData; shows "???" in Vanilla.
Added event for ping/pong packet
2021-06-11 13:54:52 -07:00
TheMode
457ef9df17 Merge branch 'master' into new-block-api
# Conflicts:
#	src/autogenerated/java/net/minestom/server/instance/block/Block.java
#	src/main/java/net/minestom/server/MinecraftServer.java
#	src/main/java/net/minestom/server/entity/Player.java
#	src/main/java/net/minestom/server/entity/pathfinding/PFBlockDescription.java
#	src/main/java/net/minestom/server/entity/pathfinding/PFBlockObject.java
#	src/main/java/net/minestom/server/instance/Chunk.java
#	src/main/java/net/minestom/server/instance/palette/PaletteStorage.java
#	src/main/java/net/minestom/server/network/packet/server/play/ChunkDataPacket.java
#	src/main/java/net/minestom/server/network/packet/server/play/TagsPacket.java
2021-06-11 16:31:01 +02:00
TheMode
265ae83b4d Fix tags packet 2021-06-11 16:00:14 +02:00
TheMode
c0e956bef5 Fix javadoc 2021-06-10 14:41:44 +02:00
TheMode
ea05a6f784 Add trait to ItemDropEvent 2021-06-10 11:58:48 +02:00
TheMode
74d323126f Add traits to EntityEquipEvent 2021-06-10 11:57:13 +02:00
TheMode
3b80335134 Avoid foreach for sensitive code 2021-06-10 11:53:50 +02:00
TheMode
13350d0ab8 Fix ignoreCancelled option 2021-06-09 22:01:46 +02:00
TheMode
603e3293a6 Catch event exceptions 2021-06-09 14:05:37 +02:00
TheMode
0bd4a68290 Added ignoreCancelled option for EventListener 2021-06-09 08:46:19 +02:00
TheMode
12a215349d Lazily add eventhandler node to root for backward compatibility 2021-06-09 08:31:06 +02:00
TheMode
d800c94dcc Remove EventHandler mention in Event 2021-06-09 08:25:56 +02:00
TheMode
68ba4b232d Remove EventHandler mention in Event 2021-06-09 08:25:32 +02:00
TheMode
16d8597195 Make CancellableEvent a trait 2021-06-09 07:11:01 +02:00
TheMode
dd44b752c3 Remove addListener0 2021-06-09 06:57:08 +02:00
TheMode
fc70d4528e formatting 2021-06-09 06:52:00 +02:00
Matt Worzala
d38c0368fc
add event api javadocs v1 2021-06-08 16:58:48 -04:00
TheMode
3fae5ed35f Fix checks 2021-06-08 17:18:00 +02:00
TheMode
34cde8390a Add more node children manipulation methods 2021-06-08 17:09:24 +02:00
TheMode
eb3cdd1495 Added EventNode#findChildren 2021-06-08 16:55:21 +02:00
TheMode
1e90d67511 Formatting 2021-06-08 14:20:48 +02:00
TheMode
5469190e64 Add annotations 2021-06-08 14:15:30 +02:00
TheMode
9705915e21 Add support for predicate expiration 2021-06-08 14:07:27 +02:00
TheMode
f47159d131 Add EventNode#setPriority 2021-06-08 13:47:10 +02:00
TheMode
c930eed412 propagate listener changes to parents 2021-06-06 07:55:30 +02:00
TheMode
9594d848bc Use for-each loops during event calling 2021-06-06 07:34:33 +02:00
TheMode
180a3fa898 Improve event calling performance, reduce memory footprint 2021-06-06 07:28:07 +02:00
TheMode
3dfd4678d5 Add PlayerPacketEvent 2021-06-05 01:04:51 +02:00
TheMode
25f1183a1b Remove EventNode#map 2021-06-04 21:12:27 +02:00
TheMode
2872a25325 Improve redirection performance 2021-06-04 10:07:46 +02:00
TheMode
b979c9b624 Temporary fix for mapped object 2021-06-04 09:50:26 +02:00
TheMode
030e5b6857 Create #addListener0 to ensure proper stacktrace when adding a listener 2021-06-04 07:45:15 +02:00
TheMode
d9b26f84d3 Keep using GlobalEventHandler 2021-06-04 04:54:07 +02:00
TheMode
a585e4e45b Improve event calling performance 2021-06-04 04:39:45 +02:00
TheMode
80c6bb3fa5 Deprecate GlobalEventHandler 2021-06-04 04:24:25 +02:00
TheMode
f39fc8c81e Fast exit when a node as no child 2021-06-04 04:14:41 +02:00
TheMode
c4d521cde5 All node should have a name 2021-06-04 04:10:13 +02:00
TheMode
d81df24132 Support old EventHandler API 2021-06-04 04:05:57 +02:00
TheMode
8b255651ab Call events using EventDispatcher 2021-06-04 03:48:51 +02:00
TheMode
5d3bae3d7f Make some events implement ItemEvent 2021-06-04 00:54:36 +02:00
TheMode
f1ddedfb44 Add EventNode#getParent 2021-06-04 00:30:48 +02:00
TheMode
94e315e3b2 Rename predicate to type 2021-06-03 21:59:27 +02:00
TheMode
5aa8d95ed9 Remove debug print 2021-06-03 21:54:42 +02:00
TheMode
734e6f5bcb Remove predicate from the EventNode factory methods 2021-06-03 21:54:07 +02:00
TheMode
a15717ae49 Remove unnecessary generic 2021-06-03 21:41:28 +02:00
TheMode
9177e94d1b Allow node predicate based on tag 2021-06-03 21:39:38 +02:00
TheMode
27bdbe7275 Rename removeMap to unmap 2021-06-03 20:59:05 +02:00
TheMode
81e2072bc5 Add shortcut to add listener 2021-06-03 20:46:11 +02:00
TheMode
e5031ff37e Prevent a node from having its parent as child 2021-06-03 09:47:48 +02:00
TheMode
e300d3ec57 Simplify EventNode#map 2021-06-03 05:59:13 +02:00
TheMode
8ec33bb6c8 EventNode methods return self 2021-06-03 04:41:08 +02:00
TheMode
d5cce11562 Remove second generic from EventNode 2021-06-03 04:26:47 +02:00
TheMode
5fa750fde3 Remove EventNodeConditional.java 2021-06-03 03:56:05 +02:00
TheMode
493c397efe Remove EventNodeList.java 2021-06-03 03:39:37 +02:00
TheMode
3727f3f954 Use a global lock when modifying tree data 2021-06-03 03:37:41 +02:00
TheMode
65c303766f Make EventNode a class, fast exist when no children can listen to an event 2021-06-03 03:27:30 +02:00
TheMode
f8eb211d0d Add node mapping support, for per-object listeners 2021-06-03 00:48:37 +02:00
TheMode
8f3b52a8b9 Inline method 2021-06-02 23:04:35 +02:00
TheMode
1a9bdd93d7 Remove unused parameter 2021-06-02 22:58:43 +02:00
TheMode
5b42ce4a52 Reuse EventFilter code 2021-06-02 22:55:24 +02:00
TheMode
b1714641e8 Use Object for EventFilter#ALL 2021-06-02 22:51:11 +02:00
TheMode
d58cd3b578 Add remaining filters 2021-06-02 22:47:45 +02:00
TheMode
6cbc31b114 Allow filtering on more than just EventHandler 2021-06-02 21:18:18 +02:00
TheMode
2977bb7b66 Make EventListener an interface 2021-06-02 21:14:48 +02:00
TheMode
4f127b2e0e Separate conditional event from conditional handler 2021-06-02 21:08:10 +02:00
TheMode
c95c8430b6 Force the use of EventListener 2021-06-02 20:56:47 +02:00
TheMode
ee99c94509 Remove unnecessary generic 2021-06-02 20:53:02 +02:00
TheMode
15ae5fd3c1 Force the use of EventFilter 2021-06-02 20:33:35 +02:00
TheMode
e670a0a40d Remove unnecessary method 2021-06-02 20:25:37 +02:00
TheMode
7aee717196 Add EventFilter 2021-06-02 20:23:50 +02:00
TheMode
aa5a182788 Add EventNode#removeChild 2021-06-02 19:52:05 +02:00
TheMode
11bdcdf92a Add EventNode#removeListener 2021-06-02 19:50:23 +02:00
TheMode
8fa4c22d1f Rename EventNode#create methods 2021-06-02 19:44:44 +02:00
TheMode
f6fe41cfe9 Return proper type 2021-06-02 19:28:02 +02:00
TheMode
0d6dde3ff5 Make EventNode an interface 2021-06-02 19:17:08 +02:00
TheMode
a835a479ae Added EventNode#map 2021-06-02 18:13:17 +02:00
TheMode
cd30a97cbb Make PlayerEvent extends EntityEvent 2021-06-02 18:04:08 +02:00
TheMode
305aa3e8d9 Add support for listener expiration count 2021-06-02 12:12:14 +02:00
TheMode
bdfa164695 Do not reuse node objects 2021-06-02 11:29:16 +02:00
TheMode
12c620df7a Fix conditional factory not actually having a condition 2021-06-02 11:26:36 +02:00
TheMode
5d1b742934 Move type check inside EventNode 2021-06-02 11:18:26 +02:00
TheMode
bc2a075b60 Fix event calling 2021-06-02 11:08:48 +02:00
TheMode
c3f52031e6 Added EventNodeConditional 2021-06-02 10:52:20 +02:00
TheMode
4f7192b6c7 Can now call an event from anywhere in the tree 2021-06-02 10:34:01 +02:00
TheMode
f4db18ea6c Start EventNode implementation 2021-06-02 10:19:23 +02:00
TheMode
5474116e7a Add EventNode#addChild 2021-06-02 09:50:18 +02:00
TheMode
80b2dd2747 Make InventoryEvent an interface 2021-06-02 09:25:08 +02:00
TheMode
096e1de9b5 Delete EventGroup.java, make InstanceEvent an interface 2021-06-02 09:21:13 +02:00
TheMode
0b6c7b0b0e Delete EventTrait 2021-06-02 09:06:04 +02:00
TheMode
52547c5bd6 Rename create method 2021-06-02 08:59:46 +02:00
TheMode
f88a2f3883 Dont allow every event 2021-06-02 08:24:02 +02:00
TheMode
77f74bb7dc Introduce EventNode 2021-06-02 08:17:21 +02:00
TheMode
2d8474282b Made Event an interface 2021-06-02 08:17:03 +02:00
TheMode
9c87b4d54f Add EventTrait interface 2021-06-02 07:15:28 +02:00
TheMode
02fe4c65a2 Use traits for events 2021-06-02 07:09:15 +02:00
TheMode
047d4a92ac Merge branch 'master' into event-api 2021-06-02 06:41:42 +02:00
TheMode
36d2834b18 Remove unnecessary block manager reference 2021-05-25 04:44:11 +02:00
TheMode
47c7e36b1d Fix remaining errors 2021-05-24 23:39:22 +02:00
TheMode
b15422f406 More error fix 2021-05-24 22:00:18 +02:00
TheMode
86f7fa7e27 Fix more errors 2021-05-24 21:39:30 +02:00
TheMode
c4b3e40225
Merge pull request #282 from Bloepiloepi/equipment-improvements
Equipment improvements
2021-05-16 11:55:04 +02:00
TheMode
d31fe2d88e
Merge pull request #229 from Project-Cepi/better-catching
Better catching for events/commands
2021-05-15 22:51:20 +02:00
R0bbyYT
cd988f1271 Reset flying with elytra when the player is on the ground 2021-05-14 19:02:22 +02:00
R0bbyYT
34d428be10 Start with the elytra implementation 2021-05-14 18:35:09 +02:00
TheMode
36942708bb Introduce EventGroup 2021-05-13 09:11:02 +02:00
Arne Dalhuisen
00278881ee Revert "Made EntityEquipEvent cancellable"
This reverts commit d72fb72e
2021-05-11 20:11:56 +02:00
Arne Dalhuisen
d72fb72e74 Made EntityEquipEvent cancellable 2021-05-11 17:05:16 +02:00
Arne Dalhuisen
ed010ff110 Renamed armorItem to equippedItem in EntityEquipEvent 2021-05-11 14:48:52 +02:00
Arne Dalhuisen
77ef5f7d42 Made EntityEquipEvent, replacing ArmorEquipEvent 2021-05-11 14:45:14 +02:00
TheMode
920a36399f Merge branch 'master' into event-api 2021-05-11 04:53:03 +02:00
TheMode
3cb7cdaea8 Create EventListener class 2021-05-11 04:52:57 +02:00
Kieran Wallbanks
42933e58b0 Minor formatting and javadoc changes 2021-05-05 16:18:11 +01:00
Kieran Wallbanks
ec5ecb49bf Update javadoc 2021-05-05 16:18:11 +01:00
Kieran Wallbanks
01fe452783 Implement OpenToLAN system 2021-05-05 16:18:11 +01:00
Kieran Wallbanks
a15e3aef44 Make legacy server pings use the ServerListPingEvent 2021-05-05 16:18:11 +01:00
TheMode
4012b6d0bd Use a predicate instead of boolean function 2021-05-04 23:26:51 +02:00
TheMode
e45c60c225 Initial revamped event listening API 2021-05-04 00:46:18 +02:00
TheMode
b066b6029a
Merge pull request #223 from thiccaxe/master
Add events for STATUS packets.
2021-04-15 07:10:32 +02:00
TheMode
6ba336ee73 Added hand inside eat events 2021-04-13 22:59:40 +02:00
TheMode
8e9d7098e5 Allow custom transaction type, simplify inventory superclasses 2021-04-12 00:33:27 +02:00
thiccaxe
c451d46ce0 document ServerListPingEvent 2021-04-11 10:30:47 -07: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
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
4c495f401d Code cleanup 2021-04-07 18:35:19 +02:00
LeoDog896
5e4af20992 And handle event exceptions 2021-04-06 22:29:24 -04:00
TheMode
2606f2b291 Added PlayerChatEvent#getDefaultChatFormat 2021-04-07 02:47:19 +02:00
thiccaxe
159ff3f646 Remove reprecated code
Removed deprecated code,
Added missing code,
Optimized imports.
2021-04-05 09:57:18 -07:00
thiccaxe
02982c0ee2 Shortcut methods in StatusRequestEvent 2021-04-04 18:52:55 -07:00
thiccaxe
7c0fcadd4f Add HandshakeEvent 2021-04-04 16:26:58 -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
Kieran Wallbanks
522367dd78 Begin removing deprecated usages 2021-03-26 17:34:38 +00:00
themode
d6683932c8 Added PickupItemEvent#getItemEntity 2021-03-12 20:59:47 +01:00
TheMode
29a8542d3e
Merge pull request #129 from Minestom/improve-extension-system
Improve extension system
2021-03-02 18:22:21 +01:00
Konstantin Shandurenko
de15c4b6c5 Rewriting projectiles 2021-03-01 12:59:16 +03:00
Kieran Wallbanks
a3f388a88b Add events for player sneaking and sprinting changes 2021-02-22 16:36:40 +00:00
themode
549eb6b6e1 Fix javadoc 2021-02-22 14:02:33 +01:00
Konstantin Shandurenko
dbd0e472c2 Added power param for projectiles shooting 2021-02-22 15:54:35 +03:00
Konstantin Shandurenko
3a251934ec Projectiles shooting 2021-02-22 09:45:19 +03:00
jglrxavpok
ee158c0dea Use Nullable string instead of Optional in MinestomRootClassLoader#findExtensionObjectOwner 2021-02-04 11:57:43 +01:00