Hello MC-Market
Im here to present you my UHC plugin. Version 1.0.
THIS IS A FORK (EDITED AND OPTIMIZED) OF VENTIX UHC
Contact me on discord - MarkoTehG0D#1756
ApsolutlyUHC is a optimized UHC plugin with loot of features.
Permissions
Code Snippet
Depends
» UHCBorder
(Will be included with jar download)
By purchasing this
» You will recive 24/7 support
» Editable things by request (Changing tab, scoreboard or anything else)
Terms and Conditions:
Config:
https://hastebin.com/igigahayux.coffeescript
TODO / FINISH:
Extend config, add more photos to mc-market
Servers that bought the plugin - Palavium, CriticalMC
Im here to present you my UHC plugin. Version 1.0.
THIS IS A FORK (EDITED AND OPTIMIZED) OF VENTIX UHC
ApsolutlyUHC 1.0
PRICE
» Source without updates: $13
» Source with updates: 20$
» Jar: $7
» Re-sell right: 25$
CURRENTLY SELLING ONLY 10 COPIES (7 left)» Source without updates: $13
» Source with updates: 20$
» Jar: $7
» Re-sell right: 25$
Contact me on discord - MarkoTehG0D#1756
ApsolutlyUHC is a optimized UHC plugin with loot of features.
» Arena fully customizable in every way
* https://gyazo.com/aeecb75372bf304633f8c2b274c23315
» Optimazed scatter (Scatters 1 player per 0.5s (can be changed if you want)
» 23 Scanarios (Vanilla+ , GoneFishing, Golden Retriever, Diamondless, Fireless, and more..)
» Custom Tablist
* https://gyazo.com/54f7456bb6ec654c2bd154ebae26801d
* https://gyazo.com/dbd0f76a20aaac4f15bdb9f5526c1b74
* https://gyazo.com/92f87f2ed3a29f2162ba0e93caa8a775 (Location can be hidded with /hideloc command)
» Custom scoreboard in Lobby, on scatter, In FFA game, solo Game and Game end and on world creation.
* https://gyazo.com/d0a4222f4c86513a90a3492ce693fa67
* https://gyazo.com/6610d7896f59762e6ae3143e38c5f533
* https://gyazo.com/5cdaeba076cc55737cdae43a786b780d
* https://gyazo.com/4b818533c756e7fac605c5619df927f9
* https://gyazo.com/28ef47740de47e89e75eb0ac40565d72 (While scattering)
* For ingame contact me on discord (don't have any pic)
- Changes: added Heal timer and fixed colors for it
» Custom World Options
* https://gyazo.com/c96a0b5e26e9c471bedc256dfb3a9305 (same for nether)
* https://gyazo.com/bfef9b0e75615fad7e46e97471d694ab (same for nether)
!! NOTE: When you create and load map server will auto restart after starting you must join again and just create the world again even if he exists ! YOU DON'T NEED TO LOAD MAP AGAIN.
» WorldBorder (Only with bedrock)
» BorderShrink
» Freeze
» Stats (MySQL needed)
» Custom Game GUI
* https://gyazo.com/bd7d0d64df7d80e2278dddc407deae14
* https://gyazo.com/96ba19fddd98b9a2baad194dbba6c1c6 (Only staf has perms for this)
* https://gyazo.com/e370e16cfdde0d57159e0bff6cf7676e
* and more..
» Editable configuration
* https://gyazo.com/1c75a4872ddc7a43f7812d62aa595c02
* https://gyazo.com/5db0dfefdd70dc70920f80d267792d46 (Chat config if something is not added to gui)
* https://gyazo.com/9f965c3fe06efec9c651e72be4e9f9a7 (Config from game GUI)
» Colors (To edit all colors including tab and scoreboard)
* https://gyazo.com/27bdbecf6054cbbe72c22b8d7ce1ee1b
* https://gyazo.com/0753e757488fd67fbf664de673890489
» Friend command for donators to whitelist friends
* https://gyazo.com/7304a43807031b5726c342b4d657b3ae
» Moderation and Host
* https://gyazo.com/832ed9d7b383c783f6912bf319e86c3d
* https://gyazo.com/814b22a168ea0570d9ee892159e89798 (Inventory items when you are added as staff)
* Host: https://gyazo.com/4ba6eac1e2db6697d440e0df06e2202d
» Scoreboard Title (this changes Tab and scoreboard name)
* https://gyazo.com/c964d5e2036219537f9a34684a5681c6
* https://gyazo.com/e46a06eb39749bfcf2f479edd7aaee75\
!!NOTE: You can use _ for space!
» Teams (Partyes)
* https://gyazo.com/1c23bbaae355855b1f94bc4d8f4e83c3
* https://gyazo.com/808e7146838b4a260b337b65aa6f32e4
» Edit Inv (Edit starter inventory)
* https://gyazo.com/8d7228b03c47c30933f13a8a264684c7
» Custom Start Event
* https://gyazo.com/8730defd89858a760c04250509d6c5a3
» Spectator mode
* Custom join items included
» Next UHC (auto scatter)
* https://gyazo.com/32fd689e9a8fd0dc372b3201cfc87143
* This goes <hour> <minute>. type 0 0 if you want to disable for only hours you can type 1 0 or for only minutes 0 1
» Bossbar (can be disabled)
» Contact me on discord for more pictures or any more informations
» Flat 25x25 on border shrink
» Allow players to destroy blocks in 25x25 (or you can disable that in config)
* https://gyazo.com/aeecb75372bf304633f8c2b274c23315
» Optimazed scatter (Scatters 1 player per 0.5s (can be changed if you want)
» 23 Scanarios (Vanilla+ , GoneFishing, Golden Retriever, Diamondless, Fireless, and more..)
» Custom Tablist
* https://gyazo.com/54f7456bb6ec654c2bd154ebae26801d
* https://gyazo.com/dbd0f76a20aaac4f15bdb9f5526c1b74
* https://gyazo.com/92f87f2ed3a29f2162ba0e93caa8a775 (Location can be hidded with /hideloc command)
» Custom scoreboard in Lobby, on scatter, In FFA game, solo Game and Game end and on world creation.
* https://gyazo.com/d0a4222f4c86513a90a3492ce693fa67
* https://gyazo.com/6610d7896f59762e6ae3143e38c5f533
* https://gyazo.com/5cdaeba076cc55737cdae43a786b780d
* https://gyazo.com/4b818533c756e7fac605c5619df927f9
* https://gyazo.com/28ef47740de47e89e75eb0ac40565d72 (While scattering)
* For ingame contact me on discord (don't have any pic)
- Changes: added Heal timer and fixed colors for it
» Custom World Options
* https://gyazo.com/c96a0b5e26e9c471bedc256dfb3a9305 (same for nether)
* https://gyazo.com/bfef9b0e75615fad7e46e97471d694ab (same for nether)
!! NOTE: When you create and load map server will auto restart after starting you must join again and just create the world again even if he exists ! YOU DON'T NEED TO LOAD MAP AGAIN.
» WorldBorder (Only with bedrock)
» BorderShrink
» Freeze
» Stats (MySQL needed)
» Custom Game GUI
* https://gyazo.com/bd7d0d64df7d80e2278dddc407deae14
* https://gyazo.com/96ba19fddd98b9a2baad194dbba6c1c6 (Only staf has perms for this)
* https://gyazo.com/e370e16cfdde0d57159e0bff6cf7676e
* and more..
» Editable configuration
* https://gyazo.com/1c75a4872ddc7a43f7812d62aa595c02
* https://gyazo.com/5db0dfefdd70dc70920f80d267792d46 (Chat config if something is not added to gui)
* https://gyazo.com/9f965c3fe06efec9c651e72be4e9f9a7 (Config from game GUI)
» Colors (To edit all colors including tab and scoreboard)
* https://gyazo.com/27bdbecf6054cbbe72c22b8d7ce1ee1b
* https://gyazo.com/0753e757488fd67fbf664de673890489
» Friend command for donators to whitelist friends
* https://gyazo.com/7304a43807031b5726c342b4d657b3ae
» Moderation and Host
* https://gyazo.com/832ed9d7b383c783f6912bf319e86c3d
* https://gyazo.com/814b22a168ea0570d9ee892159e89798 (Inventory items when you are added as staff)
* Host: https://gyazo.com/4ba6eac1e2db6697d440e0df06e2202d
» Scoreboard Title (this changes Tab and scoreboard name)
* https://gyazo.com/c964d5e2036219537f9a34684a5681c6
* https://gyazo.com/e46a06eb39749bfcf2f479edd7aaee75\
!!NOTE: You can use _ for space!
» Teams (Partyes)
* https://gyazo.com/1c23bbaae355855b1f94bc4d8f4e83c3
* https://gyazo.com/808e7146838b4a260b337b65aa6f32e4
» Edit Inv (Edit starter inventory)
* https://gyazo.com/8d7228b03c47c30933f13a8a264684c7
» Custom Start Event
* https://gyazo.com/8730defd89858a760c04250509d6c5a3
» Spectator mode
* Custom join items included
» Next UHC (auto scatter)
* https://gyazo.com/32fd689e9a8fd0dc372b3201cfc87143
* This goes <hour> <minute>. type 0 0 if you want to disable for only hours you can type 1 0 or for only minutes 0 1
» Bossbar (can be disabled)
» Contact me on discord for more pictures or any more informations
» Flat 25x25 on border shrink
» Allow players to destroy blocks in 25x25 (or you can disable that in config)
Permissions
» Operator (uhc.op)
» Staff (uhc.staff)
» Staff+ (uhc.staff+)
» Host (uhc.host)
» Admin (uhc.admin)
» Donator (uhc.donator)
» Youtuber or Media (uhc.youtuber)
» Staff (uhc.staff)
» Staff+ (uhc.staff+)
» Host (uhc.host)
» Admin (uhc.admin)
» Donator (uhc.donator)
» Youtuber or Media (uhc.youtuber)
Code Snippet
Code:
package me.markotehg0d.uhc.utilies.managers;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Random;
import java.util.Set;
import java.util.UUID;
import org.bukkit.Bukkit;
import org.bukkit.ChatColor;
import org.bukkit.Chunk;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.OfflinePlayer;
import org.bukkit.World;
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.ItemMeta;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.scoreboard.Scoreboard;
import me.markotehg0d.uhc.UHCPlugin;
import me.markotehg0d.uhc.states.GameState;
import me.markotehg0d.uhc.utilies.Permission;
import me.markotehg0d.uhc.utilies.chat.Server;
import me.markotehg0d.uhc.utilies.configs.ConfigIntegers;
import me.markotehg0d.uhc.utilies.player.PlayerManager;
import me.markotehg0d.uhc.utilies.player.UHCPlayer;
import me.markotehg0d.uhc.utilies.runnable.BorderRunnable;
import me.markotehg0d.uhc.utilies.runnable.GameRunnable;
public class GameManager {
public static GameManager instance;
public FileConfiguration config;
public GameRunnable gameRunnable;
public BorderRunnable borderRunnable;
public Map<Player, Scoreboard> scoreboardMap;
public String scoreboardTitle;
public String scoreboardIP;
public String prefix;
public String borderPrefix;
public String configPrefix;
public String helpopPrefix;
public String uhcWorld;
public String restartCommand;
public int defaultMapSize;
public int currentBorder;
public int randomShrinkAtAndBelow;
public boolean borderShrinks;
public boolean statsEnabled;
public boolean gameRunning;
public boolean scattering;
public boolean pvpEnabled;
public boolean mapGenerating;
public boolean restartOnEnd;
public Set<Player> moderators;
public Set<Chunk> chunks;
public ItemStack playersAlive;
public ItemStack randomPlayer;
public Player host;
public ArrayList<UUID> arenaplayers;
private int arenamax;
private boolean Arena_Enabled;
private GameState gameState = GameState.LOBBY;
private String winner;
private int restartseconds;
public GameManager() {
this.gameState = GameState.LOBBY;
this.Arena_Enabled = false;
this.arenamax = 50;
this.arenaplayers = new ArrayList<UUID>();
this.config = UHCPlugin.getInstance().getConfig();
this.gameRunnable = null;
this.borderRunnable = null;
this.scoreboardMap = new HashMap<Player, Scoreboard>();
this.prefix = ChatColor.translateAlternateColorCodes('&', this.config.getString("settings.uhc-prefix"));
this.borderPrefix = ChatColor.translateAlternateColorCodes('&',
this.config.getString("settings.border-prefix"));
this.configPrefix = ChatColor.translateAlternateColorCodes('&',
this.config.getString("settings.config-prefix"));
this.uhcWorld = this.config.getString("settings.uhc-world-name");
this.restartCommand = this.config.getString("settings.restart-command");
this.defaultMapSize = this.config.getInt("settings.default-map-size");
this.currentBorder = this.defaultMapSize;
this.randomShrinkAtAndBelow = this.config.getInt("settings.random-border-shrink-at-and-below");
this.borderShrinks = true;
this.statsEnabled = this.config.getBoolean("stats.enabled");
this.gameRunning = false;
this.scattering = false;
this.pvpEnabled = false;
this.mapGenerating = false;
this.restartOnEnd = this.config.getBoolean("settings.restart-on-game-finish");
this.moderators = new HashSet<Player>();
this.chunks = new HashSet<Chunk>();
this.playersAlive = this.newItem(Material.WATCH, "§6Players Alive", 0);
this.randomPlayer = this.newItem(Material.ANVIL, "§6Random Player", 3);
this.winner = "";
this.restartseconds = 0;
}
public boolean canBorderShrink() {
return this.borderShrinks;
}
public void setMapSize(int size) {
this.currentBorder = size;
UHCPlugin.getInstance().saveConfig();
}
public String getWinner() {
return this.winner;
}
public int getWinnerKills() {
Player player = Bukkit.getPlayer(this.getWinner());
UHCPlayer uhcplayer = PlayerManager.getPlayerManager().getUHCPlayer(player.getUniqueId());
return uhcplayer.getKills();
}
public int getTeamsWinnerKills() {
Player player = Bukkit.getPlayer(this.getWinner());
return TeamManager.getInstance().getTeam((OfflinePlayer) player).getKills();
}
public void setWinner(String winner) {
this.winner = winner;
}
public boolean isArenaEnabled() {
return this.Arena_Enabled;
}
public ArrayList<UUID> getArenaPlayers() {
return this.arenaplayers;
}
public GameState getPlayerState() {
return this.gameState;
}
public void setGameState(GameState playerState) {
this.gameState = playerState;
}
public boolean isinArena(UUID playeruuid) {
return this.arenaplayers.contains(playeruuid);
}
public int getArenaMaxPlayers() {
return this.arenamax;
}
public boolean setArenaEnabled(boolean is) {
return this.Arena_Enabled = is;
}
public void setMaxArenaPlayers(int max) {
this.arenamax = max;
}
public void setCanBorderShrink(final boolean borderShrinks) {
this.borderShrinks = borderShrinks;
}
public String getRestartCommand() {
return this.restartCommand;
}
public int getRestartSeconds() {
return this.restartseconds;
}
public String gameType() {
if (TeamManager.getInstance().isTeamsEnabled()) {
return "To" + TeamManager.getInstance().getMaxSize();
}
return "FFA";
}
public static GameManager getGameManager() {
return GameManager.instance;
}
public Set<Chunk> getChunks() {
return this.chunks;
}
For more contact me on discord.
Depends
» UHCBorder
(Will be included with jar download)
By purchasing this
» You will recive 24/7 support
» Editable things by request (Changing tab, scoreboard or anything else)
Terms and Conditions:
» Do not resell the plugin or the sourcecode
» No refund of the plugin or sourcecode
» The plugin will have updates to add new things
» You can not publish the plugin or the source code anywhere
» No refund of the plugin or sourcecode
» The plugin will have updates to add new things
» You can not publish the plugin or the source code anywhere
Config:
https://hastebin.com/igigahayux.coffeescript
TODO / FINISH:
Extend config, add more photos to mc-market
Servers that bought the plugin - Palavium, CriticalMC
Last edited:
