Skip to content

Commit 72dbc1e

Browse files
committed
New Events
+ New Timer Events
1 parent 426f666 commit 72dbc1e

File tree

9 files changed

+121
-17
lines changed

9 files changed

+121
-17
lines changed

.idea/workspace.xml

+7-7
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
<groupId>com.github.teraprath.tinylib</groupId>
66
<artifactId>TinyLib</artifactId>
7-
<version>2.2.1</version>
7+
<version>2.2.2</version>
88

99
<name>TinyLib</name>
1010

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.github.teraprath.tinylib.game.api.event;
2+
3+
import com.github.teraprath.tinylib.game.api.GameAPI;
4+
import com.github.teraprath.tinylib.game.api.timer.WaitingTimer;
5+
import org.bukkit.event.Event;
6+
import org.bukkit.event.HandlerList;
7+
import org.jetbrains.annotations.NotNull;
8+
9+
public class RunningCompleteEvent extends Event {
10+
11+
private static final HandlerList HANDLER_LIST = new HandlerList();
12+
private final GameAPI api;
13+
14+
public RunningCompleteEvent(final GameAPI api) {
15+
this.api = api;
16+
}
17+
18+
@Override
19+
public @NotNull HandlerList getHandlers() {
20+
return HANDLER_LIST;
21+
}
22+
23+
public static HandlerList getHandlerList() { return HANDLER_LIST; }
24+
25+
public WaitingTimer getTimer() { return this.api.getWaitingTimer(); }
26+
27+
public GameAPI getGame() { return this.api; }
28+
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.github.teraprath.tinylib.game.api.event;
2+
3+
import com.github.teraprath.tinylib.game.api.GameAPI;
4+
import com.github.teraprath.tinylib.game.api.timer.WaitingTimer;
5+
import org.bukkit.event.Event;
6+
import org.bukkit.event.HandlerList;
7+
import org.jetbrains.annotations.NotNull;
8+
9+
public class ShutdownCompleteEvent extends Event {
10+
11+
private static final HandlerList HANDLER_LIST = new HandlerList();
12+
private final GameAPI api;
13+
14+
public ShutdownCompleteEvent(final GameAPI api) {
15+
this.api = api;
16+
}
17+
18+
@Override
19+
public @NotNull HandlerList getHandlers() {
20+
return HANDLER_LIST;
21+
}
22+
23+
public static HandlerList getHandlerList() { return HANDLER_LIST; }
24+
25+
public WaitingTimer getTimer() { return this.api.getWaitingTimer(); }
26+
27+
public GameAPI getGame() { return this.api; }
28+
29+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
package com.github.teraprath.tinylib.game.api.event;
2+
3+
import com.github.teraprath.tinylib.game.api.GameAPI;
4+
import com.github.teraprath.tinylib.game.api.timer.WaitingTimer;
5+
import org.bukkit.event.Event;
6+
import org.bukkit.event.HandlerList;
7+
import org.jetbrains.annotations.NotNull;
8+
9+
public class WaitingCompleteEvent extends Event {
10+
11+
private static final HandlerList HANDLER_LIST = new HandlerList();
12+
private final GameAPI api;
13+
14+
public WaitingCompleteEvent(final GameAPI api) {
15+
this.api = api;
16+
}
17+
18+
@Override
19+
public @NotNull HandlerList getHandlers() {
20+
return HANDLER_LIST;
21+
}
22+
23+
public static HandlerList getHandlerList() { return HANDLER_LIST; }
24+
25+
public WaitingTimer getTimer() { return this.api.getWaitingTimer(); }
26+
27+
public GameAPI getGame() { return this.api; }
28+
29+
}

src/main/java/com/github/teraprath/tinylib/game/api/timer/RunningTimer.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,32 @@
11
package com.github.teraprath.tinylib.game.api.timer;
22

33
import com.github.teraprath.tinylib.game.api.GameAPI;
4+
import com.github.teraprath.tinylib.game.api.event.RunningCompleteEvent;
45
import com.github.teraprath.tinylib.game.api.event.RunningTickEvent;
56
import com.github.teraprath.tinylib.game.state.GameState;
67
import com.github.teraprath.tinylib.game.timer.GameTimer;
78

89
public class RunningTimer extends GameTimer {
910

1011
private final GameAPI api;
11-
private final RunningTickEvent event;
12+
private final RunningTickEvent tickEvent;
13+
private final RunningCompleteEvent completeEvent;
1214

1315
public RunningTimer(GameAPI api) {
1416
super(api.getPlugin(), api.getSettings().getRunningDuration());
1517
this.api = api;
16-
this.event = new RunningTickEvent(api);
18+
this.tickEvent = new RunningTickEvent(api);
19+
this.completeEvent = new RunningCompleteEvent(api);
1720
}
1821

1922
@Override
2023
protected void onTick() {
21-
api.getPlugin().getServer().getPluginManager().callEvent(event);
24+
api.getPlugin().getServer().getPluginManager().callEvent(tickEvent);
2225
}
2326

2427
@Override
2528
protected void onComplete() {
29+
api.getPlugin().getServer().getPluginManager().callEvent(completeEvent);
2630
api.setGameState(GameState.SHUTDOWN);
2731
api.getShutdownTimer().start();
2832
}

src/main/java/com/github/teraprath/tinylib/game/api/timer/ShutdownTimer.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -2,27 +2,31 @@
22

33
import com.github.teraprath.tinylib.game.api.GameAPI;
44
import com.github.teraprath.tinylib.game.api.event.GameShutdownEvent;
5+
import com.github.teraprath.tinylib.game.api.event.ShutdownCompleteEvent;
56
import com.github.teraprath.tinylib.game.api.event.ShutdownTickEvent;
67
import com.github.teraprath.tinylib.game.timer.GameTimer;
78

89
public class ShutdownTimer extends GameTimer {
910

1011
private final GameAPI api;
11-
private final ShutdownTickEvent event;
12+
private final ShutdownTickEvent tickEvent;
13+
private final ShutdownCompleteEvent completeEvent;
1214

1315
public ShutdownTimer(GameAPI api) {
1416
super(api.getPlugin(), api.getSettings().getShutdownDuration());
1517
this.api = api;
16-
this.event = new ShutdownTickEvent(api);
18+
this.tickEvent = new ShutdownTickEvent(api);
19+
this.completeEvent = new ShutdownCompleteEvent(api);
1720
}
1821

1922
@Override
2023
protected void onTick() {
21-
api.getPlugin().getServer().getPluginManager().callEvent(event);
24+
api.getPlugin().getServer().getPluginManager().callEvent(tickEvent);
2225
}
2326

2427
@Override
2528
protected void onComplete() {
29+
api.getPlugin().getServer().getPluginManager().callEvent(completeEvent);
2630
api.getPlugin().getServer().getPluginManager().callEvent(new GameShutdownEvent(this.api));
2731
api.getPlugin().getServer().shutdown();
2832
}

src/main/java/com/github/teraprath/tinylib/game/api/timer/WaitingTimer.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,32 @@
11
package com.github.teraprath.tinylib.game.api.timer;
22

33
import com.github.teraprath.tinylib.game.api.GameAPI;
4+
import com.github.teraprath.tinylib.game.api.event.WaitingCompleteEvent;
45
import com.github.teraprath.tinylib.game.api.event.WaitingTickEvent;
56
import com.github.teraprath.tinylib.game.state.GameState;
67
import com.github.teraprath.tinylib.game.timer.GameTimer;
78

89
public class WaitingTimer extends GameTimer {
910

1011
private final GameAPI api;
11-
private final WaitingTickEvent event;
12+
private final WaitingTickEvent tickEvent;
13+
private final WaitingCompleteEvent completeEvent;
1214

1315
public WaitingTimer(GameAPI api) {
1416
super(api.getPlugin(), api.getSettings().getWaitingDuration());
1517
this.api = api;
16-
this.event = new WaitingTickEvent(api);
18+
this.tickEvent = new WaitingTickEvent(api);
19+
this.completeEvent = new WaitingCompleteEvent(api);
1720
}
1821

1922
@Override
2023
protected void onTick() {
21-
api.getPlugin().getServer().getPluginManager().callEvent(event);
24+
api.getPlugin().getServer().getPluginManager().callEvent(tickEvent);
2225
}
2326

2427
@Override
2528
protected void onComplete() {
29+
api.getPlugin().getServer().getPluginManager().callEvent(completeEvent);
2630
api.setGameState(GameState.RUNNING);
2731
api.getRunningTimer().start();
2832
}

src/main/java/com/github/teraprath/tinylib/item/ItemBuilder.java

+5
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,11 @@ public ItemBuilder setLore(@Nonnull Component... components) {
9393
return this;
9494
}
9595

96+
public ItemBuilder setLore(@Nonnull List<Component> lore) {
97+
this.meta.lore(lore);
98+
return this;
99+
}
100+
96101
/**
97102
* Sets whether the item is unbreakable.
98103
*

0 commit comments

Comments
 (0)