Advertisement
Guest User

Untitled

a guest
Dec 28th, 2018
253
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.49 KB | None | 0 0
  1. [CENTER][B][U][SIZE=7]RenoSG[/SIZE][/U][/B][/CENTER]
  2. [I][B]RenoSG[/B] plugin is a plugin that is based on a pot pvp. After game gets required amount of players pre-match will begin and player will have some time to look around and find themself best direction to go. Last to live is a winner.
  3.  
  4. [B][SIZE=5]Author:[/SIZE] [/B]FaceSlap_/Activated_
  5. [/I]
  6. [B][U][SIZE=6]PRICES[/SIZE][/U][/B]
  7. ◆ Source [B](With Updates)[/B]: $40,99
  8. ◆ Jar is included in resource purchase!
  9.  
  10. [SPOILER="API"]Will post when I have written up the final documentation[/SPOILER]
  11.  
  12. [CENTER][B]Required Plugins:[/B]
  13. [I]None[/I][/CENTER]
  14.  
  15. [B][U][SIZE=6]FEATURES[/SIZE][/U][/B]
  16. [LIST]
  17. [*][I]Configuration[/I]
  18. [*][I]Announce - Bungee announce that the game is about to start[/I]
  19. [*][I]Data saved in MongoDB[/I]
  20. [*][I]Synchronized data and settings[/I]
  21. [*][I]Chest configuration in game[/I]
  22. [*][I]Start Countdown[/I]
  23. [*][I]Pre-match Countdown[/I]
  24. [*][I]Feasts Countdown[/I]
  25. [*][I]PvP Countdown[/I]
  26. [*][I]Deathmatch Countdown[/I]
  27. [*][I]Enderpearl Cooldown[/I]
  28. [*][I]CombatTag[/I]
  29. [*][I]CustomTab[/I]
  30. [*][I]Leaderboards[/I]
  31. [*][I]Lobby support as fallback server[/I]
  32. [*][I]Lobby support as waiting world[/I]
  33. [*][I]Glass Border (Like Badlion)[/I]
  34. [*][I]Colors system (Main color, Secondary color, Middle color) - can be edited in gui in game - [URL]http://prntscr.com/lsjit9[/URL][/I]
  35. [*][I]Points system (gain points by killing other players)[/I]
  36. [*][I]Settings for players - based on points rewards[/I]
  37. [/LIST]
  38. [I][B]So much more..[/B][/I]
  39. [B][U][SIZE=6]DEFAULT CONFIGURATION[/SIZE][/U][/B]
  40. [CODE]MONGODB:
  41. ADDRESS: 'mongoAdress'
  42. PORT: 25565
  43. DATABASE: 'mongoBase'
  44. AUTHENTICATION:
  45. ENABLED: false
  46. USERNAME: 'mongoUser'
  47. PASSWORD: 'mongoPassword'
  48. DATABASE: 'mongoBase'
  49. COLORS:
  50. MAIN: '&6'
  51. SECONDARY: '&f'
  52. MIDDLE: '&e'
  53. ROADS:
  54. MAKE-ROADS: false
  55. ROAD-MATERIALS:
  56. - 'COBBLESTONE'
  57. - 'GRASS'
  58. - 'GRAVEL'
  59. - 'STONE'
  60. CHAT-FORMAT:
  61. ENABLED: true
  62. FORMAT: '&e<player_display_name>&7: &e<message>'
  63. SERVER-PREMIUM: false
  64. LEADERBOARD-FORMAT: '&f<pos>. &e<name>&7: &7(&6<amount>&7)'
  65. PREFIXES:
  66. GAME: '&7[&6&lPotSG&7] '
  67. BORDER: '&7[&6&lBorder&7] '
  68. WORLDS:
  69. LOBBY: 'lobby'
  70. GAME: 'potsg_map'
  71. #IF YOU NEED TO SET SPAWN LOCATION USE DEFAULT COMMAND /setworldspawn, here you can set only yaw and pitch directions
  72. LOCATIONS:
  73. LOBBY:
  74. YAW: -90
  75. PITCH: 0
  76. BOOLEANS:
  77. PRE-LOAD-CHUNKS: true
  78. LOBBY-ENABLED: true
  79. DEATH-MATCH: true
  80. LOBBY-FALLBACK-SERVER: 'hub'
  81. DEATH-MATCH:
  82. FLOOR-MATERIALS:
  83. - 'BEDROCK'
  84. - 'STONE'
  85. WALL-MATERIALS:
  86. TOP:
  87. - 'FENCE'
  88. BEETWEEN:
  89. - 'BEDROCK'
  90. - 'COBBLESTONE'
  91. - 'STONE'
  92. BOTTOM:
  93. - 'BEDROCK'
  94. INFORMATIONS:
  95. WEB: 'www.your-web.com'
  96. IP: 'mc.your-ip.eu'
  97. TS: 'ts.your-ip.eu'
  98. STORE: 'store.your-store.com'
  99. SERVER: 'SG1'
  100. BORDER:
  101. START: 500
  102. SHRINK-UNTIL: 25
  103. SHRINK-EVERY-MINUTES: 5
  104. SHRINK-STREAM: '500;200;150;100;50;25'
  105. START-BORDER: 500
  106. REBOOT_COMMAND: 'restart'
  107. TITLES:
  108. TAB: ' &6&lPotSG &c(Beta)'
  109. SCOREBOARD: '&6&lPotSG &c(Beta])'
  110. JOIN-MESSAGE:
  111. - '&7&m------------------------'
  112. - '&eWelcome, &f<player> &eto &6PotSG &c[Beta]'
  113. - ''
  114. - '&c&lThis is FFA game and teaming is not allowed.'
  115. - '&c&lPlease play on yor own and avoid teaming.'
  116. - ''
  117. - '&7&oPlease report all bugs to our staff members!'
  118. - '&7&m------------------------'
  119. POINTS:
  120. PER-KILL: 5
  121. PER-WIN: 10
  122. MINIMUM-PLAYERS-TO-START-GAME: 10
  123. MAXIMUM-PLAYERS-PER-GAME: 30
  124. COUNTDOWNS:
  125. IN-SECONDS:
  126. START: 20
  127. PRE-MATCH: 60
  128. PVP-PROT: 180
  129. REBOOT: 20
  130. IN-MINUTES:
  131. FEASTS-SPAWN: 10
  132. #DEATHMATCH COUNTDOWN WILL START AFTER FEAST COUNTDOWN
  133. DEATH-MATCH: 3
  134. [/CODE]
  135. [B][U][SIZE=6]AVAILABLE COMMANDS[/SIZE][/U][/B]
  136. [CODE]⇨ /color - edit colors
  137. ⇨ /announce - bungee announce that the game will start soon
  138. ⇨ /data - all commands available for data
  139. ⇨ /game - all commands available for in-game stuff
  140. ⇨ /reloadfiles - reload all files
  141. ⇨ /respawn - respawn player if respawn info is valid
  142. ⇨ /spectator add:remove <player>
  143. ⇨ /settings
  144. ⇨ /spectatorchat
  145. ⇨ /stats[/CODE]
  146. [B][U][SIZE=6]Code snippets[/SIZE][/U]
  147. [I]Main[/I][/B]
  148. [SPOILER="Reno.java"]
  149. [CODE]package me.activated.renosg;
  150.  
  151. import lombok.Getter;
  152. import lombok.Setter;
  153. import me.activated.renosg.border.BorderManager;
  154. import me.activated.renosg.layouts.BoardLayout;
  155. import me.activated.renosg.utils.Utils;
  156. import me.activated.renosg.utils.leaderboards.LeaderboardManager;
  157. import me.activated.renosg.other.PlayerListener;
  158. import me.activated.renosg.layouts.TabLayout;
  159. import me.activated.renosg.managers.WorldsManager;
  160. import me.activated.renosg.utils.RegisterHandler;
  161. import me.activated.renosg.utils.board.BoardManager;
  162. import me.activated.renosg.utils.command.CommandFramework;
  163. import me.activated.renosg.utils.configurations.ConfigFile;
  164. import me.activated.renosg.utils.tab.TabProvider;
  165. import me.activated.renosg.utils.tasks.DataSaveTask;
  166. import me.activated.renosg.utils.tasks.LobbyTask;
  167. import me.activated.renosg.utils.tasks.PlayerTask;
  168. import org.bukkit.Bukkit;
  169. import org.bukkit.ChatColor;
  170. import org.bukkit.plugin.java.JavaPlugin;
  171.  
  172. import java.util.ArrayList;
  173. import java.util.Arrays;
  174. import java.util.List;
  175.  
  176. @Getter
  177. @Setter
  178. public class Reno extends JavaPlugin {
  179. @Getter
  180. public static Reno instance;
  181. private CommandFramework framework;
  182. private List<ConfigFile> files = new ArrayList<>();
  183. private BoardManager boardManager;
  184. private boolean pluginLoading;
  185.  
  186. @Override
  187. public void onEnable() {
  188. instance = this;
  189. pluginLoading = true;
  190. framework = new CommandFramework(this);
  191.  
  192. setBoardManager(new BoardManager(this, new BoardLayout()));
  193. new TabProvider(this, new TabLayout());
  194. registerConfigurations();
  195.  
  196. if (!isBorderShrinksStreamValid()) {
  197. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "[Reno] Reno plugin can't be enabled. Please check your configuration for " + ChatColor.YELLOW + "Border Shrinks Stream.");
  198. Bukkit.getPluginManager().disablePlugin(this);
  199. return;
  200. }
  201.  
  202. RegisterHandler.loadListenersFromPackage(this, "me.activated.renosg.listeners");
  203. RegisterHandler.loadListenersFromPackage(this, "me.activated.renosg.managers");
  204. RegisterHandler.loadCommandsFromPackage(this, "me.activated.renosg.commands");
  205.  
  206. getServer().getPluginManager().registerEvents(new PlayerListener(), this);
  207.  
  208. new LeaderboardManager();
  209. new BorderManager();
  210.  
  211. getServer().getScheduler().scheduleAsyncRepeatingTask(this, new LobbyTask(), 20L, 20L);
  212. getServer().getScheduler().scheduleSyncRepeatingTask(this, new PlayerTask(), 2L, 2L);
  213. getServer().getScheduler().scheduleSyncRepeatingTask(this, new DataSaveTask(), 200L, 200L);
  214.  
  215. new WorldsManager();
  216. Bukkit.getConsoleSender().sendMessage(ChatColor.GREEN + "[Reno] Beta version is now enabled.");
  217. }
  218.  
  219. public ConfigFile getConfiguration(String name) {
  220. return files.stream().filter(config -> config.getName().equals(name)).findFirst().orElse(null);
  221. }
  222.  
  223. public boolean isBorderShrinksStreamValid() {
  224. String shrinkStream = Reno.getInstance().getConfiguration("config").getString("BORDER.SHRINK-STREAM");
  225. String[] shrinksStream = shrinkStream.split(";");
  226.  
  227. for (String shrink : shrinksStream) {
  228. if (!Utils.isInteger(shrink)) {
  229. return false;
  230. }
  231. }
  232. return true;
  233. }
  234.  
  235. public void registerConfigurations() {
  236. files.addAll(Arrays.asList(
  237. new ConfigFile("config"),
  238. new ConfigFile("messages"),
  239. new ConfigFile("chests")
  240. ));
  241. }
  242.  
  243. public void setBoardManager(BoardManager boardManager) {
  244. this.boardManager = boardManager;
  245. long interval = this.boardManager.getAdapter().getInterval();
  246. this.getServer().getScheduler().runTaskTimerAsynchronously(this, this.boardManager, interval, interval);
  247. this.getServer().getPluginManager().registerEvents(this.boardManager, this);
  248. }
  249. }
  250. [/CODE]
  251. [/SPOILER]
  252. [B][U][SIZE=6]MEDIA[/SIZE][/U][/B]
  253. [SPOILER="Media"][MEDIA=imgur]a/I0IbzqY[/MEDIA][/SPOILER]
  254. [SIZE=6][B][U]PROOF OF OWNERSHIP[/U][/B][/SIZE]
  255. [U][SPOILER="Proof of ownership"]
  256. [IMG]https://imgur.com/a/myM4vLL[/IMG]
  257. [/SPOILER]
  258. [/U]
  259. [B][SIZE=6]Contact Informations[/SIZE][/B]
  260. [LIST]
  261. [*]ϟ [B][SIZE=5]Discord[/SIZE][/B]: Activated_#1539
  262. [*]ϟ [B][SIZE=5]Telegram[/SIZE][/B]: Activated99
  263. [/LIST]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement