Paper/CraftBukkit-Patches/0121-Update-Warning.patch

58 lines
2.6 KiB
Diff

From ce79becf80b388d9b56cbf5a9f16a37c27d46a83 Mon Sep 17 00:00:00 2001
From: md_5 <git@md-5.net>
Date: Sat, 12 Apr 2014 21:37:12 +1000
Subject: [PATCH] Update Warning
diff --git a/src/main/java/org/bukkit/craftbukkit/Main.java b/src/main/java/org/bukkit/craftbukkit/Main.java
index 008e037..9bbc782 100644
--- a/src/main/java/org/bukkit/craftbukkit/Main.java
+++ b/src/main/java/org/bukkit/craftbukkit/Main.java
@@ -1,7 +1,9 @@
package org.bukkit.craftbukkit;
+import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
+import java.io.InputStreamReader;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.List;
@@ -15,7 +17,32 @@ public class Main {
public static boolean useJline = true;
public static boolean useConsole = true;
- public static void main(String[] args) {
+ public static void main(String[] args) throws IOException {
+ // Spigot Start
+ File lock = new File( ".update-lock" );
+ if ( !new File( "update-lock" ).exists() && !lock.exists() && System.getProperty( "IReallyKnowWhatIAmDoingThisUpdate" ) == null )
+ {
+ BufferedReader br = new BufferedReader( new InputStreamReader( System.in ) );
+ String line;
+ System.err.println( "WARNING: This Minecraft update alters the way in which saved data is stored." );
+ System.err.println( "Please ensure your server is in the correct online/offline mode state, as the changes made are PERMANENT" );
+ System.err.println( "If you are running in offline mode, but your BungeeCord is in online mode, it is imperative that BungeeCord support is enabled in spigot.yml and BungeeCord's config.yml" );
+ System.err.println( "By typing `yes` you acknowledge that you have taken the necessary backups and are aware of this conversion" );
+ System.err.println( "Please type yes to continue starting the server. You have been warned :)" );
+ System.err.println( "See http://www.spigotmc.org/wiki/uuid-conversion/ if you have any questions and remember BACKUP BACKUP BACKUP" );
+ while ( ( line = br.readLine() ) != null )
+ {
+ if ( "yes".equals( line ) )
+ {
+ lock.createNewFile();
+ break;
+ } else
+ {
+ System.err.println( "Please type `yes` (without the quotes) to continue" );
+ }
+ }
+ }
+ // Spigot End
// Todo: Installation script
OptionParser parser = new OptionParser() {
{
--
1.9.1