Skip to content

Commit 8da304b

Browse files
authored
Add files via upload
1 parent bdf3ab7 commit 8da304b

File tree

1 file changed

+131
-108
lines changed

1 file changed

+131
-108
lines changed
Lines changed: 131 additions & 108 deletions
Original file line numberDiff line numberDiff line change
@@ -1,108 +1,131 @@
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

Comments
 (0)