mirror of
https://github.com/ViaVersion/ViaRewind-Legacy-Support.git
synced 2025-02-15 00:51:37 +01:00
VersionInformer
This commit is contained in:
parent
fed968d4f9
commit
292a40a31f
@ -3,18 +3,28 @@ package de.gerrygames.viarewind.legacysupport;
|
||||
import de.gerrygames.viarewind.legacysupport.injector.LilyPadFixer;
|
||||
import de.gerrygames.viarewind.legacysupport.listener.BrewingListener;
|
||||
import de.gerrygames.viarewind.legacysupport.listener.EnchantingListener;
|
||||
import de.gerrygames.viarewind.legacysupport.versioninfo.VersionInformer;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.configuration.file.FileConfiguration;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
|
||||
public class BukkitPlugin extends JavaPlugin {
|
||||
private static BukkitPlugin instance;
|
||||
|
||||
@Override
|
||||
public void onEnable() {
|
||||
instance = this;
|
||||
saveDefaultConfig();
|
||||
getConfig().options().copyDefaults(true);
|
||||
saveConfig();
|
||||
FileConfiguration config = getConfig();
|
||||
if (config.getBoolean("enchanting-gui-fix")) Bukkit.getPluginManager().registerEvents(new EnchantingListener(), this);
|
||||
if (config.getBoolean("brewing-stand-gui-fix")) Bukkit.getPluginManager().registerEvents(new BrewingListener(), this);
|
||||
if (config.getBoolean("lily-pad-fix")) LilyPadFixer.fix();
|
||||
if (config.getBoolean("versioninfo.active")) new VersionInformer();
|
||||
}
|
||||
|
||||
public static BukkitPlugin getInstance() {
|
||||
return instance;
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,42 @@
|
||||
package de.gerrygames.viarewind.legacysupport.versioninfo;
|
||||
|
||||
import de.gerrygames.viarewind.legacysupport.BukkitPlugin;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.ChatColor;
|
||||
import org.bukkit.event.EventHandler;
|
||||
import org.bukkit.event.Listener;
|
||||
import org.bukkit.event.player.PlayerJoinEvent;
|
||||
import us.myles.ViaVersion.api.Via;
|
||||
|
||||
public class VersionInformer implements Listener {
|
||||
private String message;
|
||||
private int maxVersion;
|
||||
|
||||
public VersionInformer() {
|
||||
message = BukkitPlugin.getInstance().getConfig().getString("versioninfo.message");
|
||||
message = ChatColor.translateAlternateColorCodes('&', message);
|
||||
message = message.replace("%version%", Bukkit.getVersion().split(" ")[2].replace(")", ""));
|
||||
|
||||
maxVersion = BukkitPlugin.getInstance().getConfig().getInt("versioninfo.max-version");
|
||||
String interval = BukkitPlugin.getInstance().getConfig().getString("versioninfo.interval");
|
||||
if (interval.equalsIgnoreCase("JOIN")) {
|
||||
Bukkit.getPluginManager().registerEvents(this, BukkitPlugin.getInstance());
|
||||
} else {
|
||||
long ticks = Long.parseLong(interval);
|
||||
Bukkit.getScheduler().runTaskTimer(BukkitPlugin.getInstance(), () -> {
|
||||
Bukkit.getOnlinePlayers().forEach(player -> {
|
||||
int version = Via.getAPI().getPlayerVersion(player);
|
||||
if (version>maxVersion) return;
|
||||
player.sendMessage(message);
|
||||
});
|
||||
}, ticks, ticks);
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onJoin(PlayerJoinEvent e) {
|
||||
int version = Via.getAPI().getPlayerVersion(e.getPlayer());
|
||||
if (version>maxVersion) return;
|
||||
e.getPlayer().sendMessage(message);
|
||||
}
|
||||
}
|
@ -1,4 +1,14 @@
|
||||
#Automatically put blaze powder in brewing stands for clients lower than 1.9
|
||||
brewing-stand-gui-fix: true
|
||||
#Automatically put lapis lazuli in enchanting tables for clients lower than 1.8
|
||||
enchanting-gui-fix: true
|
||||
vehicle-fix: true
|
||||
#fix the lily pad bounding box to prevent clients lower than 1.9 from glitching
|
||||
lily-pad-fix: true
|
||||
#Inform your players that they are using an outdated minecraft version
|
||||
#max-version specifies the maximum protocol version of players being notified. See http://wiki.vg/Protocol_version_numbers for protocol version numbers
|
||||
#interval can be set to JOIN to notify players when joining the server. If you set it to any integer number it will broadcast the message every x ticks.
|
||||
versioninfo:
|
||||
active: false
|
||||
max-version: 47
|
||||
interval: JOIN
|
||||
message: '&7[&6Info&7] This server is running Minecraft %version%. The best gameplay experience is only guaranteed if you are using this version.'
|
Loading…
Reference in New Issue
Block a user