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
jglrxavpok
a63e9462c2
All EventHandler remove extension callback when the extension unloads
2021-02-03 20:47:01 +01:00
jglrxavpok
c8e311855f
Auto-unschedule and cancel tasks from extensions
2021-02-03 17:51:14 +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
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
LeoDog896
3536bdc856
Microoptimization cleanup
...
Just some small microoptimizations including preferring fastutils, Removing unnecessary checks already dealt with using @NotNull, all since I had extra unplanned free time.
2021-01-15 11:08:11 -05:00
KrystilizeNevaDies
23e70208a8
Fix EntityDamageEvent not being cancellable
2021-01-10 14:18:16 +10:00
themode
7c5bb7126a
Added PlayerBlockPlaceEvent#setBlockData
2021-01-07 16:12:56 +01:00
themode
deb8cab03a
Remove unnecessary checks
2021-01-06 18:01:39 +01:00
themode
317432460e
Entity cleanup
2021-01-03 00:23:41 +01: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
themode
28c5e39f8b
Pre login event is now async
2020-12-27 22:16:19 +01:00
themode
978a1f5135
PlayerChatEvent function should return a JsonMessage and not necessarily a RichMessage
2020-12-23 08:24:29 +01:00
themode
b5feb35619
Added PlayerDeathEvent to change the death message/text
2020-12-22 05:26:37 +01:00
themode
ffbde089f8
BlockPlacementRule cleanup
2020-12-20 03:24:29 +01:00
themode
5224eecdd1
Event unification (type-specific event, CancellableEvent is now an interface)
2020-12-16 03:21:59 +01:00
KrystilizeNevaDies
8a2e69f709
Change PlayerSpawnEvent too use player instead of entity
2020-12-14 12:52:51 +10:00
Felix Cravic
2f96a47270
Optimise GlobalEventHandler
2020-12-11 19:37:44 +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
54d3a6bace
fixed GlobalEventHandler getter name
2020-12-09 22:36:15 +01:00
Felix Cravic
6e3df970fa
Added GlobalEventHandler
2020-12-09 22:31:20 +01:00
Felix Cravic
30d257c847
Remove unnecessary #callEvent override in Entity
2020-12-09 22:18:11 +01:00
Felix Cravic
08f7b1c715
Event callback collections now use a set, and #add/removeCallback return a boolean to know if the action was successful
2020-12-09 22:05:11 +01:00
Felix Cravic
eca6a657c3
Execute InstanceTickEvent in Instance instead of InstanceContainer
2020-12-08 00:16:46 +01:00
KrystilizeNevaDies
061c1600e7
Annotation and type fix
...
Just clean up annotations on primatives and instance v InstanceContainer
2020-12-08 09:12:42 +10:00
KrystilizeNevaDies
e8e30b1328
Fix first tick call
2020-12-08 07:52:46 +10:00
KrystilizeNevaDies
6cc8946963
Add instance tick event
2020-12-08 07:30:14 +10:00
Felix Cravic
181f20289c
Cleanup for the sound code, and comment for PlayerLoginEvent about not working player methods
2020-12-02 14:36:54 +01:00
themode
f30330c59b
Added PlayerStartDiggingEvent warning
2020-11-18 13:22:23 +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
463e1f047f
Cleanup + added PlayerSettingsChangeEvent
2020-11-01 00:07:15 +01:00
themode
f328a9cb2b
Added a few constructors to specify the instance directly
2020-10-31 01:38:57 +01:00
themode
872dccd7ce
Small cleanup
2020-10-29 22:52:07 +01:00
themode
27e0b86cb5
Added annotations for all events
2020-10-24 16:33:13 +02:00
themode
2f21a7c233
More annotations.
2020-10-24 11:19:54 +02:00
themode
34e7bfe69d
Reduces the number of ItemStack#clone calls in inventory clicks
2020-10-22 19:18:08 +02:00
themode
3cb880cf80
General cleanup
2020-10-22 12:55:53 +02:00
themode
47677766ca
Improvement for the DamageType code
2020-10-22 12:21:50 +02:00
themode
b2e3d3e78d
Use negative entity id for the custom breaking system
2020-10-19 11:56:26 +02:00
themode
660a67e53e
English fix
2020-10-15 21:16:31 +02:00
themode
0e5831cdc3
Cleanup + typo fix
2020-10-13 12:49:29 +02:00
themode
cbe2a0b71e
Comments
2020-10-12 02:56:30 +02:00
themode
5f7261cd6e
Comments
2020-10-11 18:35:32 +02:00
themode
739c3f1d7d
Allow non-custom block in PlayerStartDiggingEvent
2020-10-10 13:46:41 +02:00
themode
dd3345ff9a
ColoredText comments + cleanup
2020-10-06 07:41:35 +02:00
themode
a757f4b97b
Simplify EventHandler implementation
2020-10-06 04:06:59 +02:00
themode
3464d27ab1
Added entity in EntitySpawnEvent
2020-09-26 21:24:10 +02:00
themode
5620e9a8cf
Cleanup
2020-09-24 01:50:25 +02:00
themode
403e0c897f
Added EventHandler#getEventCallbacks
2020-09-20 20:11:46 +02:00
jglrxavpok
b6fc3ee978
Publish with Javadoc & Sources
2020-09-20 15:04:07 +02:00
themode
e2940c9aee
Renamed CustomBlock#getBlockStateId to CustomBlock#getDefaultBlockStateId
2020-09-06 03:15:00 +02:00
themode
8b30caa8c8
Micro optimization + cleanup
2020-08-19 01:24:51 +02:00
Felix Cravic
67db1d6568
Replaced blockId by blockStateId
2020-08-09 09:55:30 +02:00
Felix Cravic
45fd0dc22a
Comments
2020-08-07 09:14:50 +02:00
Felix Cravic
2ab7427b94
Added AdvancementTabEvent
2020-08-05 11:34:49 +02:00
Felix Cravic
baccc36ed7
Allow ask_server tab complete for CommandProcessor
2020-08-04 04:21:11 +02:00
razorrider7
a09b217962
Update EntityType To use Namespaced IDs
2020-08-03 18:48:46 -04:00
Felix Cravic
98c3419766
Cleanup
2020-07-27 02:28:03 +02:00
Felix Cravic
71b2988583
Added AnimationEvent comments + cleanup
2020-07-26 20:03:39 +02:00
Felix Cravic
4f788b9b8d
Cleanup
2020-07-24 16:11:48 +02:00
Felix Cravic
5c1e6e7572
Cleanup
2020-07-23 07:36:49 +02:00
jglrxavpok
54c4134006
BlockFace added to PlayerBlockInteractEvent
2020-07-18 17:45:56 +02:00
Felix Cravic
d96e06dfe2
Added InstanceChunkLoadEvent and InstanceChunkUnloadEvent
2020-07-01 15:51:00 +02:00
jglrxavpok
2303b98024
Send tags to player on connection
2020-06-30 20:38:42 +02:00
Felix Cravic
19fc90e764
Fixed Held packet + replaced the short by a byte
2020-06-23 18:09:01 +02:00
Felix Cravic
b47efa35ca
Added PlayerChangeHeldSlotEvent
2020-06-23 17:50:43 +02:00
Felix Cravic
f892213e8c
Added a new Chat API
2020-06-22 23:25:00 +02:00
Felix Cravic
889b1fe095
Renamed PlayerInteractEvent to PlayerEntityInteractEvent
2020-06-21 23:44:20 +02:00
Felix Cravic
72234ac706
Added PlayerPreLoginEvent
2020-06-21 22:11:56 +02:00
Felix Cravic
2ee93bd7cb
Fixed EntityItemMergeEvent constructor
2020-06-02 14:55:18 +02:00
Felix Cravic
bd08676525
Added EntityItemMergeEvent#setResult
2020-06-02 14:54:33 +02:00
Felix Cravic
45e8ba2f03
Added EventHandler#removeEventCallback
2020-06-01 17:11:43 +02:00
Felix Cravic
7e20278dd9
Fix deadlock with ItemEntity + added ItemEntity#getMergeUpdateOption to mitigate CPU usage increase
2020-06-01 00:51:31 +02:00
Felix Cravic
ea034701f8
Added PlayerSetItemStackEvent#setSlot + some checks
2020-05-31 21:37:40 +02:00
Felix Cravic
633d02222a
Added PlayerAddItemStackEvent and PlayerSetItemStackEvent
2020-05-31 21:30:46 +02:00