1
- package io .papermc .collabcraft ;
2
-
3
- import net .kyori .adventure .text .Component ;
4
- import org .bukkit .Bukkit ;
5
- import org .bukkit .event .*;
6
- import org .bukkit .command .*;
7
- import org .bukkit .boss .*;
8
- import org .bukkit .inventory .*;
9
- import org .bukkit .*;
10
- import org .bukkit .entity .*;
11
- import org .bukkit .event .player .*;
12
- import org .bukkit .plugin .java .JavaPlugin ;
13
- import java .util .*;
14
- import java .lang .*;
15
-
16
- public class collabcraft extends JavaPlugin implements Listener ,CommandExecutor {
17
- private Player controller ;
18
- private ArrayList <Player > waiting = new ArrayList <Player >();
19
- private int time = 30 ; //in seconds
20
- private BossBar turnTime = Bukkit .createBossBar ("PlayerNameHere's turn" ,BarColor .BLUE ,BarStyle .SOLID );
21
- private Runnable createRunnable (Player p ){
22
- Runnable r = new Runnable (){
23
- public void run (){
24
- String name = p .getName ();
25
- double progress = 0.0 ;
26
- turnTime .setTitle (name + "'s turn" );
27
- while (waiting .get (0 ) == p ){
28
- if (progress >= 100.0 ){
29
- waiting .remove (0 );
30
- if (!(waiting .size () == 0 )){
31
- Player author = waiting .get (0 );
32
- p .setGameMode (GameMode .SPECTATOR );
33
- author .getInventory ().setArmorContents (p .getInventory ().getArmorContents ());
34
- author .getInventory ().setExtraContents (p .getInventory ().getExtraContents ());
35
- author .teleport (p .getLocation ());
36
- author .setGameMode (GameMode .SURVIVAL );
37
- turnThread = new Thread (createRunnable (author ));
38
- turnThread .start ();
39
- }
40
- }
41
- progress = progress + 1.0 ;
42
- turnTime .setProgress (progress );
43
- try {
44
- Thread .sleep (time *10 );
45
- }catch (Exception e ){
46
-
47
- }
48
- }
49
- }
50
- };
51
- return r ;
52
- }
53
- private Thread turnThread ;
54
- public void onEnable () {
55
- Bukkit .getPluginManager ().registerEvents (this , this );
56
- turnTime .setVisible (true );
57
- }
58
- public void onPlayerJoin (Player p ){
59
- p .setGameMode (GameMode .SPECTATOR );
60
- }
61
- public void onPlayerQuit (Player p ){
62
- if (waiting .get (0 ) == p ){
63
- waiting .remove (p );
64
- }
65
- }
66
- public boolean onCommand (CommandSender sender , Command cmd , String label , String [] args ){
67
- if (sender instanceof Player ) {
68
- Player author = (Player ) sender ;
69
- if (cmd .getName ().equalsIgnoreCase ("bypassturn" )){
70
- waiting .add (0 ,author );
71
- controller .setGameMode (GameMode .SPECTATOR );
72
- author .getInventory ().setArmorContents (controller .getInventory ().getArmorContents ());
73
- author .getInventory ().setExtraContents (controller .getInventory ().getExtraContents ());
74
- author .teleport (controller .getLocation ());
75
- controller = author ;
76
- controller .setGameMode (GameMode .SURVIVAL );
77
- turnThread = new Thread (createRunnable (controller ));
78
- turnThread .start ();
79
- return true ;
80
- }else if (cmd .getName ().equalsIgnoreCase ("endturn" )){
81
- if (waiting .contains (author )){
82
- waiting .remove (author );
83
- return true ;
84
- }else {
85
- return false ;
86
- }
87
- }else if (cmd .getName ().equalsIgnoreCase ("taketurn" )){
88
- if (!(waiting .contains (author ))){
89
- waiting .add (author );
90
- if (waiting .get (0 ) == author ){
91
- turnThread = new Thread (createRunnable (author ));
92
- turnThread .start ();
93
- }
94
- return true ;
95
- }else {
96
- return false ;
97
- }
98
- }else if (cmd .getName ().equalsIgnoreCase ("controllertp" )) {
99
- author .teleport (controller .getLocation ());
100
- return true ;
101
- }else {
102
- return false ;
103
- }
104
- }else {
105
- return false ;
106
- }
107
- }
108
- }
1
+ package io .papermc .collabcraft ;
2
+
3
+ import net .kyori .adventure .text .Component ;
4
+ import org .bukkit .Bukkit ;
5
+ import org .bukkit .event .*;
6
+ import org .bukkit .command .*;
7
+ import org .bukkit .boss .*;
8
+ import org .bukkit .inventory .*;
9
+ import org .bukkit .*;
10
+ import org .bukkit .entity .*;
11
+ import org .bukkit .event .inventory .*;
12
+ import org .bukkit .event .player .*;
13
+ import org .bukkit .plugin .java .JavaPlugin ;
14
+ import java .util .*;
15
+ import java .lang .*;
16
+
17
+ public class collabcraft extends JavaPlugin implements Listener ,CommandExecutor {
18
+ private Player controller ;
19
+ private ArrayList <Player > waiting = new ArrayList <Player >();
20
+ private int time = 30 ; //in seconds
21
+ private BossBar turnTime = Bukkit .createBossBar ("PlayerNameHere's turn" ,BarColor .BLUE ,BarStyle .SOLID );
22
+ private PlayerInventory inventory = null ;
23
+ private Location location = Bukkit .getWorld ("world" ).getSpawnLocation ();
24
+ private Location spawn = Bukkit .getWorld ("world" ).getSpawnLocation ();
25
+ private Runnable createRunnable (Player p ){
26
+ Runnable r = new Runnable (){
27
+ public void run (){
28
+ String name = p .getName ();
29
+ double progress = 0.0 ;
30
+ turnTime .setTitle (name + "'s turn" );
31
+ turnTime .setProgress (0.0 );
32
+ while (waiting .get (0 ) == p ){
33
+ if (progress >= 100.0 ){
34
+ waiting .remove (0 );
35
+ inventory = p .getInventory ();
36
+ location = p .getLocation ();
37
+ spawn = p .getBedSpawnLocation ();
38
+ if (!(waiting .size () == 0 )){
39
+ Player author = waiting .get (0 );
40
+ p .setGameMode (GameMode .SPECTATOR );
41
+ author .getInventory ().setArmorContents (p .getInventory ().getArmorContents ());
42
+ author .getInventory ().setExtraContents (p .getInventory ().getExtraContents ());
43
+ author .teleport (p .getLocation ());
44
+ author .setBedSpawnLocation (p .getBedSpawnLocation ());
45
+ author .setGameMode (GameMode .SURVIVAL );
46
+ turnThread = new Thread (createRunnable (author ));
47
+ turnThread .start ();
48
+ }
49
+ }
50
+ progress = progress + 1.0 ;
51
+ turnTime .setProgress (progress );
52
+ try {
53
+ Thread .sleep (time *10 );
54
+ }catch (Exception e ){
55
+
56
+ }
57
+ }
58
+ }
59
+ };
60
+ return r ;
61
+ }
62
+ private Thread turnThread ;
63
+ public void onEnable () {
64
+ Bukkit .getPluginManager ().registerEvents (this , this );
65
+ turnTime .setVisible (true );
66
+ }
67
+ public void onPlayerJoin (Player p ){
68
+ p .setGameMode (GameMode .SPECTATOR );
69
+ }
70
+ public void onPlayerQuit (Player p ){
71
+ if (waiting .contains (p )){
72
+ waiting .remove (p );
73
+ }
74
+ }
75
+ public boolean onCommand (CommandSender sender , Command cmd , String label , String [] args ){
76
+ if (sender instanceof Player ) {
77
+ Player author = (Player ) sender ;
78
+ if (cmd .getName ().equalsIgnoreCase ("bypassturn" )){
79
+ waiting .add (0 ,author );
80
+ inventory = controller .getInventory ();
81
+ location = controller .getLocation ();
82
+ spawn = controller .getBedSpawnLocation ();
83
+ controller .setGameMode (GameMode .SPECTATOR );
84
+ author .getInventory ().setArmorContents (controller .getInventory ().getArmorContents ());
85
+ author .getInventory ().setExtraContents (controller .getInventory ().getExtraContents ());
86
+ author .teleport (controller .getLocation ());
87
+ author .setBedSpawnLocation (spawn );
88
+ controller = author ;
89
+ controller .setGameMode (GameMode .SURVIVAL );
90
+ turnThread = new Thread (createRunnable (controller ));
91
+ turnThread .start ();
92
+ return true ;
93
+ }else if (cmd .getName ().equalsIgnoreCase ("endturn" )){
94
+ if (waiting .contains (author )){
95
+ if (waiting .get (0 ) == author ){
96
+ inventory = author .getInventory ();
97
+ location = author .getLocation ();
98
+ spawn = author .getBedSpawnLocation ();
99
+ }
100
+ waiting .remove (author );
101
+ return true ;
102
+ }else {
103
+ return false ;
104
+ }
105
+ }else if (cmd .getName ().equalsIgnoreCase ("taketurn" )){
106
+ if (!(waiting .contains (author ))){
107
+ waiting .add (author );
108
+ if (waiting .get (0 ) == author ){
109
+ author .setGameMode (GameMode .SURVIVAL );
110
+ author .getInventory ().setArmorContents (inventory .getArmorContents ());
111
+ author .getInventory ().setExtraContents (inventory .getExtraContents ());
112
+ author .teleport (location );
113
+ author .setBedSpawnLocation (spawn );
114
+ turnThread = new Thread (createRunnable (author ));
115
+ turnThread .start ();
116
+ }
117
+ return true ;
118
+ }else {
119
+ return false ;
120
+ }
121
+ }else if (cmd .getName ().equalsIgnoreCase ("controllertp" )) {
122
+ author .teleport (controller .getLocation ());
123
+ return true ;
124
+ }else {
125
+ return false ;
126
+ }
127
+ }else {
128
+ return false ;
129
+ }
130
+ }
131
+ }
0 commit comments