mirror of
https://github.com/plexusorg/Plex.git
synced 2024-12-23 01:27:37 +00:00
Merge branch 'master' of https://github.com/plexusorg/Plex into cmdblocker
This commit is contained in:
commit
b939219fc9
@ -39,7 +39,7 @@ public class PlexCMD extends PlexCommand
|
||||
send(sender, mmString("<light_purple>Authors: <gold>Telesphoreo, Taahh"));
|
||||
send(sender, mmString("<light_purple>Built by: <gold>" + Plex.build.author + " <light_purple>on <gold>" + Plex.build.date));
|
||||
send(sender, mmString("<light_purple>Run <gold>/plex modules <light_purple>to see a list of modules."));
|
||||
plugin.getUpdateChecker().getUpdateStatusMessage(sender, true, true);
|
||||
plugin.getUpdateChecker().getUpdateStatusMessage(sender, true, 2);
|
||||
return null;
|
||||
}
|
||||
if (args[0].equalsIgnoreCase("reload"))
|
||||
@ -99,7 +99,7 @@ public class PlexCMD extends PlexCommand
|
||||
{
|
||||
return messageComponent("noPermissionRank", "a developer");
|
||||
}
|
||||
if (!plugin.getUpdateChecker().getUpdateStatusMessage(sender, false, false))
|
||||
if (!plugin.getUpdateChecker().getUpdateStatusMessage(sender, false, 0))
|
||||
{
|
||||
return mmString("<red>Plex is already up to date!");
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
package dev.plex.listener.impl;
|
||||
|
||||
import dev.plex.Plex;
|
||||
import dev.plex.cache.DataUtils;
|
||||
import dev.plex.cache.player.PlayerCache;
|
||||
import dev.plex.listener.PlexListener;
|
||||
import dev.plex.player.PlexPlayer;
|
||||
@ -12,6 +13,7 @@ import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Locale;
|
||||
import net.kyori.adventure.text.serializer.legacy.LegacyComponentSerializer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.World;
|
||||
import org.bukkit.entity.EntityType;
|
||||
import org.bukkit.entity.Player;
|
||||
@ -19,11 +21,12 @@ import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.block.BlockBreakEvent;
|
||||
import org.bukkit.event.block.BlockPlaceEvent;
|
||||
import org.bukkit.event.entity.EntitySpawnEvent;
|
||||
import org.bukkit.event.player.PlayerChangedWorldEvent;
|
||||
import org.bukkit.event.player.PlayerTeleportEvent;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
public class WorldListener extends PlexListener
|
||||
{
|
||||
|
||||
@EventHandler
|
||||
public void onBlockPlace(BlockPlaceEvent e)
|
||||
{
|
||||
@ -118,6 +121,29 @@ public class WorldListener extends PlexListener
|
||||
e.setCancelled(true);
|
||||
}
|
||||
|
||||
// TODO: Add an entry setting in the config.yml and allow checking for all worlds
|
||||
@EventHandler
|
||||
public void onWorldTeleport(PlayerTeleportEvent e)
|
||||
{
|
||||
final World adminworld = Bukkit.getWorld("adminworld");
|
||||
if (adminworld == null)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PlexPlayer plexPlayer = DataUtils.getPlayer(e.getPlayer().getUniqueId());
|
||||
if (e.getTo().getWorld().equals(adminworld))
|
||||
{
|
||||
if (plugin.getSystem().equals("ranks") && !plexPlayer.isAdminActive())
|
||||
{
|
||||
e.setCancelled(true);
|
||||
}
|
||||
else if (plugin.getSystem().equals("permissions") && !e.getPlayer().hasPermission("plex.enter.adminworld"))
|
||||
{
|
||||
e.setCancelled(true);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean checkLevel(PlexPlayer player, String[] requiredList)
|
||||
{
|
||||
PlexLog.debug("Checking world required levels " + Arrays.toString(requiredList));
|
||||
|
@ -17,7 +17,7 @@ public class UpdateCheckerService extends AbstractService
|
||||
{
|
||||
if (!newVersion)
|
||||
{
|
||||
if (plugin.getUpdateChecker().getUpdateStatusMessage(Bukkit.getConsoleSender(), false, false))
|
||||
if (plugin.getUpdateChecker().getUpdateStatusMessage(Bukkit.getConsoleSender(), false, 1))
|
||||
{
|
||||
newVersion = true;
|
||||
}
|
||||
|
@ -51,7 +51,8 @@ public class PlexUtils extends PlexBase
|
||||
public static List<String> DEVELOPERS =
|
||||
Arrays.asList("78408086-1991-4c33-a571-d8fa325465b2", // Telesphoreo
|
||||
"f5cd54c4-3a24-4213-9a56-c06c49594dff", // Taahh
|
||||
"ca83b658-c03b-4106-9edc-72f70a80656d" // ayunami2000
|
||||
"ca83b658-c03b-4106-9edc-72f70a80656d", // ayunami2000
|
||||
"2e06e049-24c8-42e4-8bcf-d35372af31e6" //Fleek
|
||||
);
|
||||
|
||||
static
|
||||
|
@ -82,7 +82,10 @@ public class UpdateChecker extends PlexBase
|
||||
}
|
||||
}
|
||||
|
||||
public boolean getUpdateStatusMessage(CommandSender sender, boolean cached, boolean verbose)
|
||||
// If verbose is 0, it will display nothing
|
||||
// If verbose is 1, it will only display a message if there is an update available
|
||||
// If verbose is 2, it will display all messages
|
||||
public boolean getUpdateStatusMessage(CommandSender sender, boolean cached, int verbosity)
|
||||
{
|
||||
if (branch == null)
|
||||
{
|
||||
@ -112,30 +115,33 @@ public class UpdateChecker extends PlexBase
|
||||
switch (distance)
|
||||
{
|
||||
case -1 -> {
|
||||
if (verbose)
|
||||
if (verbosity == 2)
|
||||
{
|
||||
sender.sendMessage(Component.text("There was an error checking for updates.").color(NamedTextColor.RED));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case 0 -> {
|
||||
if (verbose)
|
||||
if (verbosity == 2)
|
||||
{
|
||||
sender.sendMessage(Component.text("Your version of Plex is up to date!").color(NamedTextColor.GREEN));
|
||||
sender.sendMessage(Component.text("Plex is up to date!").color(NamedTextColor.GREEN));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
case -2 -> {
|
||||
if (verbose)
|
||||
if (verbosity == 2)
|
||||
{
|
||||
sender.sendMessage(Component.text("Unknown version, unable to check for updates.").color(NamedTextColor.RED));
|
||||
}
|
||||
return false;
|
||||
}
|
||||
default -> {
|
||||
sender.sendMessage(Component.text("Your version of Plex is not up to date!", NamedTextColor.RED));
|
||||
if (verbosity >= 1)
|
||||
{
|
||||
sender.sendMessage(Component.text("Plex is not up to date!", NamedTextColor.RED));
|
||||
sender.sendMessage(Component.text("Download a new version at: " + DOWNLOAD_PAGE).color(NamedTextColor.RED));
|
||||
sender.sendMessage(Component.text("Or run: /plex update").color(NamedTextColor.RED));
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -156,7 +162,7 @@ public class UpdateChecker extends PlexBase
|
||||
JSONObject object = new JSONObject(EntityUtils.toString(response.getEntity(), StandardCharsets.UTF_8));
|
||||
JSONObject artifact = object.getJSONArray("artifacts").getJSONObject(0);
|
||||
String name = artifact.getString("fileName");
|
||||
sendMini(sender, "Downloading latest Plex jar file: " + name);
|
||||
sendMini(sender, "<green>Downloading latest Plex jar file: " + name);
|
||||
CompletableFuture.runAsync(() ->
|
||||
{
|
||||
try
|
||||
@ -165,7 +171,7 @@ public class UpdateChecker extends PlexBase
|
||||
new URL(DOWNLOAD_PAGE + "job/" + branch + "/lastSuccessfulBuild/artifact/build/libs/" + name),
|
||||
new File(Bukkit.getUpdateFolderFile(), name)
|
||||
);
|
||||
sendMini(sender, "Saved new jar. Please restart your server.");
|
||||
sendMini(sender, "<green>Saved new jar. Please restart your server.");
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
|
@ -22,7 +22,8 @@ chat:
|
||||
# If you are using permissions, you should turn this off and use Vault to handle prefixes with a different chat plugin
|
||||
enabled: true
|
||||
# The maximum amount of characters a player can have for their tag
|
||||
max-tag-length: 16
|
||||
# This does not include color tags such as <red> or <rainbow>
|
||||
max-tag-length: 64
|
||||
# Color code for name color
|
||||
name-color: 'f'
|
||||
|
||||
@ -45,24 +46,7 @@ data:
|
||||
port: 6379
|
||||
password: ""
|
||||
|
||||
# See https://plex.us.org/docs/customization/config#worlds for documentation
|
||||
# These gamerules apply to all worlds on the server
|
||||
global_gamerules:
|
||||
- "doWeatherCycle;true"
|
||||
- "doDaylightCycle;true"
|
||||
- "doMobSpawning;false"
|
||||
- "keepInventory;true"
|
||||
- "doFireTick;false"
|
||||
- "doMobLoot;false"
|
||||
- "mobGriefing;false"
|
||||
- "doTileDrops;false"
|
||||
- "commandBlockOutput;false"
|
||||
- "naturalRegeneration;true"
|
||||
- "announceAdvancements;false"
|
||||
- "showDeathMessages;false"
|
||||
- "sendCommandFeedback;false"
|
||||
|
||||
# Mob limiter/Entity wiping config
|
||||
# Mob limiter / Entity wiping config
|
||||
# All entities listed here will NOT be wiped upon wiping entities
|
||||
# By default this includes all mobs, as the mobpurge command can be used to purge mobs.
|
||||
entitywipe_list:
|
||||
@ -166,6 +150,23 @@ blockedEntities:
|
||||
- "ENDER_DRAGON"
|
||||
- "MINECART_TNT"
|
||||
|
||||
# See https://plex.us.org/docs/customization/config#worlds for documentation
|
||||
# These gamerules apply to all worlds on the server
|
||||
global_gamerules:
|
||||
- "doWeatherCycle;true"
|
||||
- "doDaylightCycle;true"
|
||||
- "doMobSpawning;false"
|
||||
- "keepInventory;true"
|
||||
- "doFireTick;false"
|
||||
- "doMobLoot;false"
|
||||
- "mobGriefing;false"
|
||||
- "doTileDrops;false"
|
||||
- "commandBlockOutput;false"
|
||||
- "naturalRegeneration;true"
|
||||
- "announceAdvancements;false"
|
||||
- "showDeathMessages;false"
|
||||
- "sendCommandFeedback;false"
|
||||
|
||||
worlds:
|
||||
flatlands:
|
||||
name: "Flatlands"
|
||||
|
Loading…
Reference in New Issue
Block a user