Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
M
Mirai
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
Mirai
Commits
825965e3
Commit
825965e3
authored
Aug 08, 2019
by
Him188moe
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
a25b6428
2eccc978
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
110 additions
and
1 deletion
+110
-1
mirai-core/src/main/java/net/mamoe/mirai/event/Cancelable.java
...-core/src/main/java/net/mamoe/mirai/event/Cancelable.java
+7
-0
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEvent.java
...-core/src/main/java/net/mamoe/mirai/event/MiraiEvent.java
+1
-1
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventHook.java
...e/src/main/java/net/mamoe/mirai/event/MiraiEventHook.java
+44
-0
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManager.java
...rc/main/java/net/mamoe/mirai/event/MiraiEventManager.java
+49
-0
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiHookPreferences.java
...main/java/net/mamoe/mirai/event/MiraiHookPreferences.java
+9
-0
No files found.
mirai-core/src/main/java/net/mamoe/mirai/event/
MiraiHook
.java
→
mirai-core/src/main/java/net/mamoe/mirai/event/
Cancelable
.java
View file @
825965e3
package
net.mamoe.mirai.event
;
public
class
MiraiHook
{
interface
Cancelable
{
void
setCancel
(
boolean
value
);
}
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEvent.java
View file @
825965e3
package
net.mamoe.mirai.event
;
public
class
MiraiEvent
{
public
abstract
class
MiraiEvent
{
}
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventHook.java
0 → 100644
View file @
825965e3
package
net.mamoe.mirai.event
;
import
lombok.Getter
;
import
java.util.function.Consumer
;
public
class
MiraiEventHook
<
T
extends
MiraiEvent
>
{
@Getter
Class
<
T
>
eventClass
;
@Getter
private
Consumer
<
T
>
handler
;
@Getter
private
MiraiHookPreferences
preferences
;
public
MiraiEventHook
(
Class
<
T
>
eventClass
)
{
this
(
eventClass
,
a
->
{});
}
public
MiraiEventHook
(
Class
<
T
>
eventClass
,
Consumer
<
T
>
handler
){
this
(
eventClass
,
handler
,
new
MiraiHookPreferences
());
}
public
MiraiEventHook
(
Class
<
T
>
eventClass
,
Consumer
<
T
>
handler
,
MiraiHookPreferences
preferences
){
this
.
eventClass
=
eventClass
;
this
.
setHandler
(
handler
);
this
.
setPreferences
(
preferences
);
}
public
MiraiEventHook
<
T
>
setHandler
(
Consumer
<
T
>
handler
){
this
.
handler
=
handler
;
return
this
;
}
public
MiraiEventHook
<
T
>
setPreferences
(
MiraiHookPreferences
preferences
){
this
.
preferences
=
preferences
;
return
this
;
}
}
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiEventManager.java
0 → 100644
View file @
825965e3
package
net.mamoe.mirai.event
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.function.Consumer
;
import
java.util.function.Predicate
;
public
class
MiraiEventManager
{
private
MiraiEventManager
(){
}
private
static
MiraiEventManager
instance
;
static
MiraiEventManager
getInstance
(){
if
(
MiraiEventManager
.
instance
==
null
){
MiraiEventManager
.
instance
=
new
MiraiEventManager
();
}
return
MiraiEventManager
.
instance
;
}
private
Map
<
Class
<?
extends
MiraiEvent
>,
List
<
MiraiEventConsumer
<?
extends
MiraiEvent
>>>
hooks
=
new
HashMap
<>();
public
<
D
extends
MiraiEvent
>
void
registerUntil
(
MiraiEventHook
<
D
>
hook
,
Predicate
<
D
>
toRemove
){
hooks
.
putIfAbsent
(
hook
.
getEventClass
(),
new
ArrayList
<>());
hooks
.
get
(
hook
.
getEventClass
()).
add
(
new
MiraiEventConsumer
<>(
hook
,
toRemove
));
}
public
<
D
extends
MiraiEvent
>
void
registerOnce
(
MiraiEventHook
<
D
>
hook
){
this
.
registerUntil
(
hook
,(
a
)
->
true
);
}
public
<
D
extends
MiraiEvent
>
void
register
(
MiraiEventHook
<
D
>
hook
){
this
.
registerUntil
(
hook
,(
a
)
->
false
);
}
}
@Data
@AllArgsConstructor
class
MiraiEventConsumer
<
T
extends
MiraiEvent
>{
private
MiraiEventHook
<
T
>
hook
;
private
Predicate
<
T
>
remove
;
}
mirai-core/src/main/java/net/mamoe/mirai/event/MiraiHookPreferences.java
0 → 100644
View file @
825965e3
package
net.mamoe.mirai.event
;
import
lombok.Data
;
@Data
public
class
MiraiHookPreferences
{
private
int
priority
=
0
;
private
boolean
ignoreCanceled
=
true
;
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment