2
2
3
3
import com .archivesmc .painter .Painter ;
4
4
5
+ import me .botsko .prism .Prism ;
6
+ import me .botsko .prism .actionlibs .ActionFactory ;
7
+ import me .botsko .prism .actionlibs .ActionType ;
5
8
import me .botsko .prism .actionlibs .RecordingQueue ;
6
- import me .botsko .prism .actions .BlockChangeAction ;
7
9
10
+ import me .botsko .prism .actions .Handler ;
11
+ import me .botsko .prism .exceptions .InvalidActionException ;
8
12
import org .bukkit .block .Block ;
9
13
import org .bukkit .block .BlockState ;
10
14
import org .bukkit .entity .Player ;
@@ -20,21 +24,12 @@ public PrismLogger(Painter plugin) {
20
24
21
25
@ Override
22
26
public void blockPainted (Player player , BlockState oldBlockState , BlockState newBlockState , Block block ) {
23
- BlockChangeAction breakAction = new BlockChangeAction ();
24
- BlockChangeAction placeAction = new BlockChangeAction ();
27
+ Handler paintAction = ActionFactory .createBlockChange ("painter-block-paint" ,
28
+ oldBlockState .getLocation (), oldBlockState .getTypeId (), oldBlockState .getRawData (),
29
+ newBlockState .getTypeId (), newBlockState .getRawData (), player .getName ()
30
+ );
25
31
26
- breakAction .setActionType ("block-break" );
27
- breakAction .setLoc (block .getLocation ());
28
- breakAction .setBlock (oldBlockState );
29
- breakAction .setPlayerName (player );
30
-
31
- placeAction .setActionType ("block-place" );
32
- placeAction .setLoc (block .getLocation ());
33
- placeAction .setBlock (newBlockState );
34
- placeAction .setPlayerName (player );
35
-
36
- RecordingQueue .addToQueue (breakAction );
37
- RecordingQueue .addToQueue (placeAction );
32
+ RecordingQueue .addToQueue (paintAction );
38
33
}
39
34
40
35
@ Override
@@ -46,6 +41,18 @@ public String getPluginName() {
46
41
public boolean setup () {
47
42
Plugin pPlugin = this .plugin .getServer ().getPluginManager ().getPlugin ("Prism" );
48
43
49
- return pPlugin != null && pPlugin .isEnabled ();
44
+ if (pPlugin != null && pPlugin .isEnabled ()) {
45
+ try {
46
+ Prism .getActionRegistry ().registerCustomAction (this .plugin ,
47
+ new ActionType ("painter-block-paint" , true , true , true , "BlockChangeAction" , "painted" )
48
+ );
49
+ } catch (InvalidActionException e ) {
50
+ e .printStackTrace ();
51
+ return false ;
52
+ }
53
+ return true ;
54
+ }
55
+
56
+ return false ;
50
57
}
51
58
}
0 commit comments