Add Decompiled Java source code
This commit is contained in:
parent
5233b2f046
commit
588023b20e
75
src/main/java/com/alttd/FileManager.java
Executable file
75
src/main/java/com/alttd/FileManager.java
Executable file
|
|
@ -0,0 +1,75 @@
|
|||
package com.alttd;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import net.md_5.bungee.api.ChatColor;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.configuration.file.YamlConfiguration;
|
||||
import org.bukkit.entity.Player;
|
||||
|
||||
public class FileManager {
|
||||
public static SkipNight plugin;
|
||||
|
||||
public FileManager(SkipNight plugin) {
|
||||
FileManager.plugin = plugin;
|
||||
}
|
||||
|
||||
public static void createFile() {
|
||||
File file = new File("plugins/SkipNight" + File.separator + "config.yml");
|
||||
if (!file.exists()) {
|
||||
try {
|
||||
file.createNewFile();
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
configFile.set("World_Name", "world");
|
||||
configFile.set("Percentage", 0.51D);
|
||||
configFile.set("Player.Sleep.Night", "&7* %player is sleeping. %count more required.");
|
||||
configFile.set("Player.Sleep.Storm", "&7* %player is sleeping. %count more required.");
|
||||
configFile.set("Player.Sleep.AlreadySleptNight", "&7Your vote to skip the night has already counted. %count more required.");
|
||||
configFile.set("Player.Sleep.AlreadySleptStorm", "&7Your vote to skip the storm has already counted. %count more required.");
|
||||
configFile.set("Server.Skip.Night", "&7Majority vote. Skipping night.");
|
||||
configFile.set("Server.Skip.Storm", "&7Majority vote. Skipping storm.");
|
||||
configFile.save(file);
|
||||
} catch (IOException var2) {
|
||||
var2.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static void saveFile() {
|
||||
File file = new File("plugins/SkipNight" + File.separator + "config.yml");
|
||||
YamlConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
|
||||
try {
|
||||
configFile.save(file);
|
||||
} catch (IOException var3) {
|
||||
var3.printStackTrace();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public static String getCMessages(String string, Player player, Integer count) {
|
||||
File file = new File("plugins/SkipNight" + File.separator + "config.yml");
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
String getString = configFile.getString(string);
|
||||
return ChatColor.translateAlternateColorCodes('&', getString).replace("%count", Integer.toString(count)).replace("%player", player.getName());
|
||||
}
|
||||
|
||||
public static String getNMessages(String string) {
|
||||
File file = new File("plugins/SkipNight" + File.separator + "config.yml");
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
return ChatColor.translateAlternateColorCodes('&', configFile.getString(string));
|
||||
}
|
||||
|
||||
public static Double getPercentage(String string) {
|
||||
File file = new File("plugins/SkipNight" + File.separator + "config.yml");
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
return configFile.getDouble(string);
|
||||
}
|
||||
|
||||
public static String getWorld(String worldName) {
|
||||
File file = new File("plugins/SkipNight" + File.separator + "config.yml");
|
||||
FileConfiguration configFile = YamlConfiguration.loadConfiguration(file);
|
||||
return configFile.getString(worldName);
|
||||
}
|
||||
}
|
||||
248
src/main/java/com/alttd/SkipNight.java
Executable file
248
src/main/java/com/alttd/SkipNight.java
Executable file
|
|
@ -0,0 +1,248 @@
|
|||
package com.alttd;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerBedEnterEvent;
|
||||
import org.bukkit.event.player.PlayerQuitEvent;
|
||||
import org.bukkit.event.player.PlayerBedEnterEvent.BedEnterResult;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class SkipNight extends JavaPlugin implements Listener {
|
||||
ArrayList<String> alreadySleptNight = new ArrayList();
|
||||
ArrayList<String> alreadySleptStorm = new ArrayList();
|
||||
boolean checkNightTimer = false;
|
||||
boolean checkStormTimer = false;
|
||||
boolean skipNight = false;
|
||||
boolean skipStorm = false;
|
||||
boolean lockPlayer = false;
|
||||
int animationSpeed = 150;
|
||||
|
||||
public void onEnable() {
|
||||
Bukkit.getServer().getPluginManager().registerEvents(this, this);
|
||||
File file = new File("plugins/SkipNight");
|
||||
if (!file.exists()) {
|
||||
file.mkdirs();
|
||||
FileManager.createFile();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerbed(PlayerBedEnterEvent e) {
|
||||
Player player = e.getPlayer();
|
||||
if (e.getBedEnterResult().equals(BedEnterResult.OK)) {
|
||||
double playersNeededStorm;
|
||||
double roundPlayers;
|
||||
Player players;
|
||||
Iterator var8;
|
||||
if (Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getTime() >= 13000L) {
|
||||
playersNeededStorm = (double)this.getOnlinePlayers() * FileManager.getPercentage("Percentage") - (double)this.alreadySleptNight.size();
|
||||
roundPlayers = Math.ceil(playersNeededStorm);
|
||||
if (!this.alreadySleptStorm.isEmpty()) {
|
||||
this.alreadySleptStorm.clear();
|
||||
this.checkNightTimer = false;
|
||||
}
|
||||
|
||||
if (!this.checkNightTimer) {
|
||||
this.checkNightTimer = true;
|
||||
this.startServerTimeCheck();
|
||||
}
|
||||
|
||||
if (this.alreadySleptNight.contains(player.getName())) {
|
||||
player.sendMessage(FileManager.getCMessages("Player.Sleep.AlreadySleptNight", player, (int)roundPlayers + 1));
|
||||
return;
|
||||
}
|
||||
|
||||
if (roundPlayers >= 1.0D) {
|
||||
this.alreadySleptNight.add(player.getName());
|
||||
if (!this.skipNight) {
|
||||
var8 = Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getPlayers().iterator();
|
||||
|
||||
while(var8.hasNext()) {
|
||||
players = (Player)var8.next();
|
||||
players.sendMessage(FileManager.getCMessages("Player.Sleep.Night", player, (int)roundPlayers));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (roundPlayers <= 0.0D && !this.skipNight) {
|
||||
this.skipNight = true;
|
||||
this.checkNightTimer = false;
|
||||
this.startDayAnimation();
|
||||
var8 = Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getPlayers().iterator();
|
||||
|
||||
while(var8.hasNext()) {
|
||||
players = (Player)var8.next();
|
||||
players.sendMessage(FileManager.getCMessages("Server.Skip.Night", player, (int)roundPlayers));
|
||||
}
|
||||
}
|
||||
} else if (Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).isThundering()) {
|
||||
playersNeededStorm = (double)this.getOnlinePlayers() * FileManager.getPercentage("Percentage") - (double)this.alreadySleptStorm.size();
|
||||
roundPlayers = Math.ceil(playersNeededStorm);
|
||||
if (!this.checkStormTimer) {
|
||||
this.checkStormTimer = true;
|
||||
this.startServerStormCheck();
|
||||
}
|
||||
|
||||
if (this.alreadySleptStorm.contains(player.getName())) {
|
||||
player.sendMessage(FileManager.getCMessages("Player.Sleep.AlreadySleptStorm", player, (int)roundPlayers + 1));
|
||||
return;
|
||||
}
|
||||
|
||||
if (roundPlayers >= 1.0D) {
|
||||
this.alreadySleptStorm.add(player.getName());
|
||||
if (!this.skipStorm) {
|
||||
var8 = Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getPlayers().iterator();
|
||||
|
||||
while(var8.hasNext()) {
|
||||
players = (Player)var8.next();
|
||||
players.sendMessage(FileManager.getCMessages("Player.Sleep.Storm", player, (int)roundPlayers));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (roundPlayers <= 0.0D && !this.skipStorm) {
|
||||
this.skipStorm = true;
|
||||
this.checkStormTimer = false;
|
||||
this.startStormDelay();
|
||||
var8 = Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getPlayers().iterator();
|
||||
|
||||
while(var8.hasNext()) {
|
||||
players = (Player)var8.next();
|
||||
players.sendMessage(FileManager.getCMessages("Server.Skip.Storm", player, (int)roundPlayers));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerLeave(PlayerQuitEvent e) {
|
||||
Player player = e.getPlayer();
|
||||
if (this.alreadySleptNight.contains(player.getName())) {
|
||||
this.alreadySleptNight.remove(player.getName());
|
||||
}
|
||||
|
||||
if (this.alreadySleptStorm.contains(player.getName())) {
|
||||
this.alreadySleptStorm.remove(player.getName());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public int getOnlinePlayers() {
|
||||
int numberOfPlayers = 0;
|
||||
|
||||
for(int i = 0; i < Bukkit.getServer().getOnlinePlayers().size(); numberOfPlayers = i++) {
|
||||
}
|
||||
|
||||
return numberOfPlayers;
|
||||
}
|
||||
|
||||
public void startServerTimeCheck() {
|
||||
(new BukkitRunnable() {
|
||||
int count = 15;
|
||||
|
||||
public void run() {
|
||||
if (SkipNight.this.checkNightTimer) {
|
||||
if (this.count >= 1) {
|
||||
--this.count;
|
||||
}
|
||||
|
||||
if (this.count == 0) {
|
||||
if (Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getTime() >= 0L && Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getTime() <= 13000L) {
|
||||
SkipNight.this.alreadySleptNight.clear();
|
||||
SkipNight.this.checkNightTimer = false;
|
||||
SkipNight.this.skipNight = false;
|
||||
this.cancel();
|
||||
} else {
|
||||
this.count = 15;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.cancel();
|
||||
}
|
||||
|
||||
}
|
||||
}).runTaskTimer(this, 0L, 20L);
|
||||
}
|
||||
|
||||
public void startServerStormCheck() {
|
||||
(new BukkitRunnable() {
|
||||
int count = 15;
|
||||
|
||||
public void run() {
|
||||
if (SkipNight.this.checkStormTimer) {
|
||||
if (this.count >= 1) {
|
||||
--this.count;
|
||||
}
|
||||
|
||||
if (this.count == 0) {
|
||||
if (Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).isThundering()) {
|
||||
this.count = 15;
|
||||
} else {
|
||||
SkipNight.this.alreadySleptStorm.clear();
|
||||
SkipNight.this.checkStormTimer = false;
|
||||
SkipNight.this.skipStorm = false;
|
||||
this.cancel();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.cancel();
|
||||
}
|
||||
|
||||
}
|
||||
}).runTaskTimer(this, 0L, 20L);
|
||||
}
|
||||
|
||||
public void startStormDelay() {
|
||||
(new BukkitRunnable() {
|
||||
int count = 3;
|
||||
|
||||
public void run() {
|
||||
if (this.count >= 1) {
|
||||
--this.count;
|
||||
}
|
||||
|
||||
if (this.count == 0) {
|
||||
SkipNight.this.skipStorm = false;
|
||||
SkipNight.this.alreadySleptStorm.clear();
|
||||
SkipNight.this.clearStorms();
|
||||
this.cancel();
|
||||
}
|
||||
|
||||
}
|
||||
}).runTaskTimer(this, 0L, 20L);
|
||||
}
|
||||
|
||||
public void startDayAnimation() {
|
||||
(new BukkitRunnable() {
|
||||
public void run() {
|
||||
long currentTime = Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).getTime();
|
||||
long newTime = currentTime + (long)SkipNight.this.animationSpeed;
|
||||
if (newTime >= 23450L) {
|
||||
Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).setTime(23450L);
|
||||
SkipNight.this.skipNight = false;
|
||||
SkipNight.this.alreadySleptNight.clear();
|
||||
SkipNight.this.clearStorms();
|
||||
this.cancel();
|
||||
}
|
||||
|
||||
Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).setTime(currentTime + (long)SkipNight.this.animationSpeed);
|
||||
}
|
||||
}).runTaskTimer(this, 1L, 1L);
|
||||
}
|
||||
|
||||
public void clearStorms() {
|
||||
if (Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).isThundering()) {
|
||||
Bukkit.getServer().getWorld(FileManager.getWorld("World_Name")).setStorm(false);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
14
src/main/resources/config.yml
Executable file
14
src/main/resources/config.yml
Executable file
|
|
@ -0,0 +1,14 @@
|
|||
World_Name: 'world'
|
||||
Percentage: 0.3
|
||||
Player:
|
||||
Sleep:
|
||||
Night: ''
|
||||
Storm: ''
|
||||
AlreadySleptNight: ''
|
||||
AlreadtSleptStorm: ''
|
||||
|
||||
Server:
|
||||
Skip:
|
||||
Night ''
|
||||
Storm: ''
|
||||
|
||||
3
src/main/resources/plugin.yml
Executable file
3
src/main/resources/plugin.yml
Executable file
|
|
@ -0,0 +1,3 @@
|
|||
name: SkipNight
|
||||
main: com.alttd.SkipNight
|
||||
version: 0.7
|
||||
Loading…
Reference in New Issue
Block a user