Minecraft is now (mostly) compatible with the OpenGL Emulator
Rewrote a bunch of Minecraft's code to work with the OpenGL Emulator
This commit is contained in:
parent
2346b97c03
commit
ecf58c6fe3
|
@ -1,23 +1,12 @@
|
||||||
package com.mojang.minecraft;
|
package com.mojang.minecraft;
|
||||||
|
|
||||||
import com.mojang.minecraft.render.TextureManager;
|
|
||||||
import java.awt.image.BufferedImage;
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.FileReader;
|
|
||||||
import java.io.FileWriter;
|
|
||||||
import java.io.IOException;
|
|
||||||
import java.io.PrintWriter;
|
|
||||||
import java.util.Iterator;
|
|
||||||
import javax.imageio.ImageIO;
|
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
|
|
||||||
import com.mojang.minecraft.gamemode.*;
|
import com.mojang.minecraft.gamemode.*;
|
||||||
import com.mojang.minecraft.player.Inventory;
|
|
||||||
|
|
||||||
public final class GameSettings
|
public final class GameSettings
|
||||||
{
|
{
|
||||||
public GameSettings(Minecraft minecraft, File minecraftFolder)
|
public GameSettings(Minecraft minecraft)
|
||||||
{
|
{
|
||||||
bindings = new KeyBinding[] {forwardKey, leftKey, backKey, rightKey, jumpKey, buildKey, chatKey, toggleFogKey, saveLocationKey, loadLocationKey};
|
bindings = new KeyBinding[] {forwardKey, leftKey, backKey, rightKey, jumpKey, buildKey, chatKey, toggleFogKey, saveLocationKey, loadLocationKey};
|
||||||
|
|
||||||
|
@ -25,7 +14,7 @@ public final class GameSettings
|
||||||
|
|
||||||
this.minecraft = minecraft;
|
this.minecraft = minecraft;
|
||||||
|
|
||||||
settingsFile = new File(minecraftFolder, "options.txt");
|
// settingsFile = new File(minecraftFolder, "options.txt");
|
||||||
|
|
||||||
load();
|
load();
|
||||||
}
|
}
|
||||||
|
@ -56,7 +45,7 @@ public final class GameSettings
|
||||||
public KeyBinding loadLocationKey = new KeyBinding("Load location", 19);
|
public KeyBinding loadLocationKey = new KeyBinding("Load location", 19);
|
||||||
public KeyBinding[] bindings;
|
public KeyBinding[] bindings;
|
||||||
private Minecraft minecraft;
|
private Minecraft minecraft;
|
||||||
private File settingsFile;
|
// private File settingsFile;
|
||||||
public int settingCount;
|
public int settingCount;
|
||||||
|
|
||||||
public String getBinding(int key)
|
public String getBinding(int key)
|
||||||
|
@ -167,121 +156,121 @@ public final class GameSettings
|
||||||
|
|
||||||
private void load()
|
private void load()
|
||||||
{
|
{
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
if(settingsFile.exists())
|
// if(settingsFile.exists())
|
||||||
{
|
// {
|
||||||
FileReader fileReader = new FileReader(settingsFile);
|
// FileReader fileReader = new FileReader(settingsFile);
|
||||||
BufferedReader reader = new BufferedReader(fileReader);
|
// BufferedReader reader = new BufferedReader(fileReader);
|
||||||
|
//
|
||||||
String line = null;
|
// String line = null;
|
||||||
|
//
|
||||||
while((line = reader.readLine()) != null)
|
// while((line = reader.readLine()) != null)
|
||||||
{
|
// {
|
||||||
String[] setting = line.split(":");
|
// String[] setting = line.split(":");
|
||||||
|
//
|
||||||
if(setting[0].equals("music"))
|
// if(setting[0].equals("music"))
|
||||||
{
|
// {
|
||||||
music = setting[1].equals("true");
|
// music = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("sound"))
|
// if(setting[0].equals("sound"))
|
||||||
{
|
// {
|
||||||
sound = setting[1].equals("true");
|
// sound = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("invertYMouse"))
|
// if(setting[0].equals("invertYMouse"))
|
||||||
{
|
// {
|
||||||
invertMouse = setting[1].equals("true");
|
// invertMouse = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("showFrameRate"))
|
// if(setting[0].equals("showFrameRate"))
|
||||||
{
|
// {
|
||||||
showFrameRate = setting[1].equals("true");
|
// showFrameRate = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("viewDistance"))
|
// if(setting[0].equals("viewDistance"))
|
||||||
{
|
// {
|
||||||
viewDistance = Integer.parseInt(setting[1]);
|
// viewDistance = Integer.parseInt(setting[1]);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("bobView"))
|
// if(setting[0].equals("bobView"))
|
||||||
{
|
// {
|
||||||
viewBobbing = setting[1].equals("true");
|
// viewBobbing = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("anaglyph3d"))
|
// if(setting[0].equals("anaglyph3d"))
|
||||||
{
|
// {
|
||||||
anaglyph = setting[1].equals("true");
|
// anaglyph = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("limitFramerate"))
|
// if(setting[0].equals("limitFramerate"))
|
||||||
{
|
// {
|
||||||
limitFramerate = setting[1].equals("true");
|
// limitFramerate = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("ofBetterGrass"))
|
// if(setting[0].equals("ofBetterGrass"))
|
||||||
{
|
// {
|
||||||
ofBetterGrass = setting[1].equals("true");
|
// ofBetterGrass = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("ofFastMath"))
|
// if(setting[0].equals("ofFastMath"))
|
||||||
{
|
// {
|
||||||
ofFastMath = setting[1].equals("true");
|
// ofFastMath = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
if(setting[0].equals("ofSmoothFPS"))
|
// if(setting[0].equals("ofSmoothFPS"))
|
||||||
{
|
// {
|
||||||
ofSmoothFPS = setting[1].equals("true");
|
// ofSmoothFPS = setting[1].equals("true");
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
for(int index = 0; index < this.bindings.length; index++)
|
// for(int index = 0; index < this.bindings.length; index++)
|
||||||
{
|
// {
|
||||||
if(setting[0].equals("key_" + bindings[index].name))
|
// if(setting[0].equals("key_" + bindings[index].name))
|
||||||
{
|
// {
|
||||||
bindings[index].key = Integer.parseInt(setting[1]);
|
// bindings[index].key = Integer.parseInt(setting[1]);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
reader.close();
|
// reader.close();
|
||||||
}
|
// }
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
System.out.println("Failed to load options");
|
// System.out.println("Failed to load options");
|
||||||
|
//
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
private void save()
|
private void save()
|
||||||
{
|
{
|
||||||
try {
|
// try {
|
||||||
FileWriter fileWriter = new FileWriter(this.settingsFile);
|
// FileWriter fileWriter = new FileWriter(this.settingsFile);
|
||||||
PrintWriter writer = new PrintWriter(fileWriter);
|
// PrintWriter writer = new PrintWriter(fileWriter);
|
||||||
|
//
|
||||||
writer.println("music:" + music);
|
// writer.println("music:" + music);
|
||||||
writer.println("sound:" + sound);
|
// writer.println("sound:" + sound);
|
||||||
writer.println("invertYMouse:" + invertMouse);
|
// writer.println("invertYMouse:" + invertMouse);
|
||||||
writer.println("showFrameRate:" + showFrameRate);
|
// writer.println("showFrameRate:" + showFrameRate);
|
||||||
writer.println("viewDistance:" + viewDistance);
|
// writer.println("viewDistance:" + viewDistance);
|
||||||
writer.println("bobView:" + viewBobbing);
|
// writer.println("bobView:" + viewBobbing);
|
||||||
writer.println("anaglyph3d:" + anaglyph);
|
// writer.println("anaglyph3d:" + anaglyph);
|
||||||
writer.println("limitFramerate:" + limitFramerate);
|
// writer.println("limitFramerate:" + limitFramerate);
|
||||||
writer.println("ofBetterGrass:" + ofBetterGrass);
|
// writer.println("ofBetterGrass:" + ofBetterGrass);
|
||||||
writer.println("ofFastMath:" + ofFastMath);
|
// writer.println("ofFastMath:" + ofFastMath);
|
||||||
writer.println("ofSmoothFPS:" + ofSmoothFPS);
|
// writer.println("ofSmoothFPS:" + ofSmoothFPS);
|
||||||
|
//
|
||||||
for(int binding = 0; binding < bindings.length; binding++)
|
// for(int binding = 0; binding < bindings.length; binding++)
|
||||||
{
|
// {
|
||||||
writer.println("key_" + bindings[binding].name + ":" + bindings[binding].key);
|
// writer.println("key_" + bindings[binding].name + ":" + bindings[binding].key);
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
writer.close();
|
// writer.close();
|
||||||
} catch (Exception e) {
|
// } catch (Exception e) {
|
||||||
System.out.println("Failed to save options");
|
// System.out.println("Failed to save options");
|
||||||
|
//
|
||||||
e.printStackTrace();
|
// e.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
package com.mojang.minecraft;
|
|
||||||
|
|
||||||
public enum Minecraft$OS
|
|
||||||
{
|
|
||||||
linux("linux", 0),
|
|
||||||
solaris("solaris", 1),
|
|
||||||
windows("windows", 2),
|
|
||||||
macos("macos", 3),
|
|
||||||
unknown("unknown", 4);
|
|
||||||
|
|
||||||
private static final Minecraft$OS[] values = new Minecraft$OS[] {linux, solaris, windows, macos, unknown};
|
|
||||||
|
|
||||||
private Minecraft$OS(String name, int id)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -34,22 +34,15 @@ import com.mojang.minecraft.sound.SoundManager;
|
||||||
import com.mojang.minecraft.sound.SoundPlayer;
|
import com.mojang.minecraft.sound.SoundPlayer;
|
||||||
import com.mojang.net.NetworkHandler;
|
import com.mojang.net.NetworkHandler;
|
||||||
import com.mojang.util.MathHelper;
|
import com.mojang.util.MathHelper;
|
||||||
|
|
||||||
|
import net.PeytonPlayz585.main.MinecraftMain;
|
||||||
|
|
||||||
import org.lwjgl.BufferUtils;
|
import org.lwjgl.BufferUtils;
|
||||||
import org.lwjgl.LWJGLException;
|
|
||||||
import org.lwjgl.input.Controllers;
|
|
||||||
import org.lwjgl.input.Cursor;
|
|
||||||
import org.lwjgl.input.Keyboard;
|
import org.lwjgl.input.Keyboard;
|
||||||
import org.lwjgl.input.Mouse;
|
import org.lwjgl.input.Mouse;
|
||||||
import org.lwjgl.opengl.Display;
|
import org.lwjgl.opengl.Display;
|
||||||
import org.lwjgl.opengl.DisplayMode;
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
import org.lwjgl.util.glu.GLU;
|
|
||||||
|
|
||||||
import javax.sound.sampled.AudioFormat;
|
|
||||||
import javax.sound.sampled.AudioSystem;
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
import java.io.*;
|
|
||||||
import java.nio.IntBuffer;
|
import java.nio.IntBuffer;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
@ -67,10 +60,8 @@ public final class Minecraft implements Runnable {
|
||||||
public ParticleManager particleManager;
|
public ParticleManager particleManager;
|
||||||
public SessionData session = null;
|
public SessionData session = null;
|
||||||
public String host;
|
public String host;
|
||||||
public Canvas canvas;
|
|
||||||
public boolean levelLoaded = false;
|
public boolean levelLoaded = false;
|
||||||
public volatile boolean waiting = false;
|
public volatile boolean waiting = false;
|
||||||
private Cursor cursor;
|
|
||||||
public TextureManager textureManager;
|
public TextureManager textureManager;
|
||||||
public FontRenderer fontRenderer;
|
public FontRenderer fontRenderer;
|
||||||
public GuiScreen currentScreen = null;
|
public GuiScreen currentScreen = null;
|
||||||
|
@ -83,14 +74,12 @@ public final class Minecraft implements Runnable {
|
||||||
private int blockHitTime;
|
private int blockHitTime;
|
||||||
public String levelName;
|
public String levelName;
|
||||||
public int levelId;
|
public int levelId;
|
||||||
public Robot robot;
|
|
||||||
public HUDScreen hud;
|
public HUDScreen hud;
|
||||||
public boolean online;
|
public boolean online;
|
||||||
public NetworkManager networkManager;
|
public NetworkManager networkManager;
|
||||||
public SoundPlayer soundPlayer;
|
public SoundPlayer soundPlayer;
|
||||||
public MovingObjectPosition selected;
|
public MovingObjectPosition selected;
|
||||||
public static GameSettings settings;
|
public static GameSettings settings;
|
||||||
private MinecraftApplet applet;
|
|
||||||
String server;
|
String server;
|
||||||
int port;
|
int port;
|
||||||
volatile boolean running;
|
volatile boolean running;
|
||||||
|
@ -100,7 +89,7 @@ public final class Minecraft implements Runnable {
|
||||||
public boolean raining;
|
public boolean raining;
|
||||||
|
|
||||||
|
|
||||||
public Minecraft(Canvas var1, MinecraftApplet var2, int var3, int var4, boolean var5) {
|
public Minecraft(int var3, int var4, boolean var5) {
|
||||||
this.levelIo = new LevelIO(this.progressBar);
|
this.levelIo = new LevelIO(this.progressBar);
|
||||||
this.sound = new SoundManager();
|
this.sound = new SoundManager();
|
||||||
this.ticks = 0;
|
this.ticks = 0;
|
||||||
|
@ -117,28 +106,10 @@ public final class Minecraft implements Runnable {
|
||||||
this.hasMouse = false;
|
this.hasMouse = false;
|
||||||
this.lastClick = 0;
|
this.lastClick = 0;
|
||||||
this.raining = false;
|
this.raining = false;
|
||||||
|
|
||||||
try {
|
|
||||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
|
||||||
} catch (Exception var7) {
|
|
||||||
var7.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
this.applet = var2;
|
|
||||||
new SleepForeverThread(this);
|
new SleepForeverThread(this);
|
||||||
this.canvas = var1;
|
|
||||||
this.width = var3;
|
this.width = var3;
|
||||||
this.height = var4;
|
this.height = var4;
|
||||||
this.fullscreen = var5;
|
this.fullscreen = var5;
|
||||||
if(var1 != null) {
|
|
||||||
try {
|
|
||||||
this.robot = new Robot();
|
|
||||||
return;
|
|
||||||
} catch (AWTException var8) {
|
|
||||||
var8.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void setCurrentScreen(GuiScreen var1) {
|
public final void setCurrentScreen(GuiScreen var1) {
|
||||||
|
@ -157,11 +128,7 @@ public final class Minecraft implements Runnable {
|
||||||
this.player.releaseAllKeys();
|
this.player.releaseAllKeys();
|
||||||
this.hasMouse = false;
|
this.hasMouse = false;
|
||||||
if(this.levelLoaded) {
|
if(this.levelLoaded) {
|
||||||
try {
|
Mouse.setGrabbed(false);
|
||||||
Mouse.setNativeCursor((Cursor)null);
|
|
||||||
} catch (LWJGLException var4) {
|
|
||||||
var4.printStackTrace();
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
Mouse.setGrabbed(false);
|
Mouse.setGrabbed(false);
|
||||||
}
|
}
|
||||||
|
@ -180,7 +147,7 @@ public final class Minecraft implements Runnable {
|
||||||
private static void checkGLError(String var0) {
|
private static void checkGLError(String var0) {
|
||||||
int var1;
|
int var1;
|
||||||
if((var1 = GL11.glGetError()) != 0) {
|
if((var1 = GL11.glGetError()) != 0) {
|
||||||
String var2 = GLU.gluErrorString(var1);
|
String var2 = GL11.gluErrorString(var1);
|
||||||
System.out.println("########## GL ERROR ##########");
|
System.out.println("########## GL ERROR ##########");
|
||||||
System.out.println("@ " + var0);
|
System.out.println("@ " + var0);
|
||||||
System.out.println(var1 + ": " + var2);
|
System.out.println(var1 + ": " + var2);
|
||||||
|
@ -204,18 +171,14 @@ public final class Minecraft implements Runnable {
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
Minecraft var5 = this;
|
// Minecraft var5 = this;
|
||||||
if(!this.levelLoaded) {
|
// if(!this.levelLoaded) {
|
||||||
try {
|
// try {
|
||||||
LevelIO.save(var5.level, (OutputStream)(new FileOutputStream(new File("level.dat"))));
|
// LevelIO.save(var5.level, (OutputStream)(new FileOutputStream(new File("level.dat"))));
|
||||||
} catch (Exception var2) {
|
// } catch (Exception var2) {
|
||||||
var2.printStackTrace();
|
// var2.printStackTrace();
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
Mouse.destroy();
|
|
||||||
Keyboard.destroy();
|
|
||||||
Display.destroy();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void run() {
|
public final void run() {
|
||||||
|
@ -223,45 +186,13 @@ public final class Minecraft implements Runnable {
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Minecraft var1 = this;
|
Minecraft var1 = this;
|
||||||
if(this.canvas != null) {
|
this.width = MinecraftMain.canvas.getWidth();
|
||||||
Display.setParent(this.canvas);
|
this.height = MinecraftMain.canvas.getHeight();
|
||||||
} else if(this.fullscreen) {
|
|
||||||
Display.setFullscreen(true);
|
|
||||||
this.width = Display.getDisplayMode().getWidth();
|
|
||||||
this.height = Display.getDisplayMode().getHeight();
|
|
||||||
} else {
|
|
||||||
Display.setDisplayMode(new DisplayMode(this.width, this.height));
|
|
||||||
}
|
|
||||||
|
|
||||||
Display.setTitle("Minecraft 0.30");
|
|
||||||
|
|
||||||
try {
|
|
||||||
Display.create();
|
|
||||||
} catch (LWJGLException var57) {
|
|
||||||
var57.printStackTrace();
|
|
||||||
|
|
||||||
try {
|
|
||||||
Thread.sleep(1000L);
|
|
||||||
} catch (InterruptedException var56) {
|
|
||||||
;
|
|
||||||
}
|
|
||||||
|
|
||||||
Display.create();
|
|
||||||
}
|
|
||||||
|
|
||||||
Keyboard.create();
|
|
||||||
Mouse.create();
|
|
||||||
|
|
||||||
try {
|
|
||||||
Controllers.create();
|
|
||||||
} catch (Exception var55) {
|
|
||||||
var55.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
checkGLError("Pre startup");
|
checkGLError("Pre startup");
|
||||||
GL11.glEnable(3553);
|
GL11.glEnable(3553);
|
||||||
GL11.glShadeModel(7425);
|
GL11.glShadeModel(7425);
|
||||||
GL11.glClearDepth(1.0D);
|
GL11.glClearDepth((float)1.0D);
|
||||||
GL11.glEnable(2929);
|
GL11.glEnable(2929);
|
||||||
GL11.glDepthFunc(515);
|
GL11.glDepthFunc(515);
|
||||||
GL11.glEnable(3008);
|
GL11.glEnable(3008);
|
||||||
|
@ -271,36 +202,7 @@ public final class Minecraft implements Runnable {
|
||||||
GL11.glLoadIdentity();
|
GL11.glLoadIdentity();
|
||||||
GL11.glMatrixMode(5888);
|
GL11.glMatrixMode(5888);
|
||||||
checkGLError("Startup");
|
checkGLError("Startup");
|
||||||
String var3 = "minecraftclassicforever";
|
this.settings = new GameSettings(this);
|
||||||
String var5 = System.getProperty("user.home", ".");
|
|
||||||
String var6;
|
|
||||||
File var7;
|
|
||||||
switch(OperatingSystemLookup.lookup[((var6 = System.getProperty("os.name").toLowerCase()).contains("win")?Minecraft$OS.windows:(var6.contains("mac")?Minecraft$OS.macos:(var6.contains("solaris")?Minecraft$OS.solaris:(var6.contains("sunos")?Minecraft$OS.solaris:(var6.contains("linux")?Minecraft$OS.linux:(var6.contains("unix")?Minecraft$OS.linux:Minecraft$OS.unknown)))))).ordinal()]) {
|
|
||||||
case 1:
|
|
||||||
case 2:
|
|
||||||
var7 = new File(var5, '.' + var3 + '/');
|
|
||||||
break;
|
|
||||||
case 3:
|
|
||||||
String var8;
|
|
||||||
if((var8 = System.getenv("APPDATA")) != null) {
|
|
||||||
var7 = new File(var8, "." + var3 + '/');
|
|
||||||
} else {
|
|
||||||
var7 = new File(var5, '.' + var3 + '/');
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case 4:
|
|
||||||
var7 = new File(var5, "Library/Application Support/" + var3);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
var7 = new File(var5, var3 + '/');
|
|
||||||
}
|
|
||||||
|
|
||||||
if(!var7.exists() && !var7.mkdirs()) {
|
|
||||||
throw new RuntimeException("The working directory could not be created: " + var7);
|
|
||||||
}
|
|
||||||
|
|
||||||
File var2 = var7;
|
|
||||||
this.settings = new GameSettings(this, var7);
|
|
||||||
this.textureManager = new TextureManager(this.settings);
|
this.textureManager = new TextureManager(this.settings);
|
||||||
this.textureManager.registerAnimation(new TextureLavaFX());
|
this.textureManager.registerAnimation(new TextureLavaFX());
|
||||||
this.textureManager.registerAnimation(new TextureWaterFX());
|
this.textureManager.registerAnimation(new TextureWaterFX());
|
||||||
|
@ -318,57 +220,50 @@ public final class Minecraft implements Runnable {
|
||||||
} else {
|
} else {
|
||||||
boolean var10 = false;
|
boolean var10 = false;
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
if(var1.levelName != null) {
|
// if(var1.levelName != null) {
|
||||||
var1.loadOnlineLevel(var1.levelName, var1.levelId);
|
// var1.loadOnlineLevel(var1.levelName, var1.levelId);
|
||||||
} else if(!var1.levelLoaded) {
|
// } else if(!var1.levelLoaded) {
|
||||||
Level var11 = null;
|
// Level var11 = null;
|
||||||
if((var11 = var1.levelIo.load((InputStream)(new FileInputStream(new File("level.dat"))))) != null) {
|
// if((var11 = var1.levelIo.load((InputStream)(new FileInputStream(new File("level.dat"))))) != null) {
|
||||||
var1.setLevel(var11);
|
// var1.setLevel(var11);
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
} catch (Exception var54) {
|
// } catch (Exception var54) {
|
||||||
var54.printStackTrace();
|
// var54.printStackTrace();
|
||||||
}
|
// }
|
||||||
|
|
||||||
if(this.level == null) {
|
//if(this.level == null) {
|
||||||
this.generateLevel(1);
|
this.generateLevel(1);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
|
|
||||||
this.particleManager = new ParticleManager(this.level, this.textureManager);
|
this.particleManager = new ParticleManager(this.level, this.textureManager);
|
||||||
if(this.levelLoaded) {
|
|
||||||
try {
|
|
||||||
var1.cursor = new Cursor(16, 16, 0, 0, 1, var9, (IntBuffer)null);
|
|
||||||
} catch (LWJGLException var53) {
|
|
||||||
var53.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
try {
|
// try {
|
||||||
var1.soundPlayer = new SoundPlayer(var1.settings);
|
// var1.soundPlayer = new SoundPlayer(var1.settings);
|
||||||
SoundPlayer var4 = var1.soundPlayer;
|
// SoundPlayer var4 = var1.soundPlayer;
|
||||||
|
//
|
||||||
try {
|
// try {
|
||||||
AudioFormat var67 = new AudioFormat(44100.0F, 16, 2, true, true);
|
// AudioFormat var67 = new AudioFormat(44100.0F, 16, 2, true, true);
|
||||||
var4.dataLine = AudioSystem.getSourceDataLine(var67);
|
// var4.dataLine = AudioSystem.getSourceDataLine(var67);
|
||||||
var4.dataLine.open(var67, 4410);
|
// var4.dataLine.open(var67, 4410);
|
||||||
var4.dataLine.start();
|
// var4.dataLine.start();
|
||||||
var4.running = true;
|
// var4.running = true;
|
||||||
Thread var72;
|
// Thread var72;
|
||||||
(var72 = new Thread(var4)).setDaemon(true);
|
// (var72 = new Thread(var4)).setDaemon(true);
|
||||||
var72.setPriority(10);
|
// var72.setPriority(10);
|
||||||
var72.start();
|
// var72.start();
|
||||||
} catch (Exception var51) {
|
// } catch (Exception var51) {
|
||||||
var51.printStackTrace();
|
// var51.printStackTrace();
|
||||||
var4.running = false;
|
// var4.running = false;
|
||||||
}
|
// }
|
||||||
|
//
|
||||||
var1.resourceThread = new ResourceDownloadThread(var2, var1);
|
// var1.resourceThread = new ResourceDownloadThread(var2, var1);
|
||||||
var1.resourceThread.start();
|
// var1.resourceThread.start();
|
||||||
} catch (Exception var52) {
|
// } catch (Exception var52) {
|
||||||
;
|
// ;
|
||||||
}
|
// }
|
||||||
|
|
||||||
checkGLError("Post startup");
|
checkGLError("Post startup");
|
||||||
this.hud = new HUDScreen(this, this.width, this.height);
|
this.hud = new HUDScreen(this, this.width, this.height);
|
||||||
|
@ -378,8 +273,7 @@ public final class Minecraft implements Runnable {
|
||||||
}
|
}
|
||||||
} catch (Exception var62) {
|
} catch (Exception var62) {
|
||||||
var62.printStackTrace();
|
var62.printStackTrace();
|
||||||
JOptionPane.showMessageDialog((Component)null, var62.toString(), "Failed to start Minecraft", 0);
|
throw new RuntimeException("Failed to start Minecraft! :(");
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
long var13 = System.currentTimeMillis();
|
long var13 = System.currentTimeMillis();
|
||||||
|
@ -390,7 +284,7 @@ public final class Minecraft implements Runnable {
|
||||||
if(this.waiting) {
|
if(this.waiting) {
|
||||||
Thread.sleep(100L);
|
Thread.sleep(100L);
|
||||||
} else {
|
} else {
|
||||||
if(this.canvas == null && Display.isCloseRequested()) {
|
if(Display.isCloseRequested()) {
|
||||||
this.running = false;
|
this.running = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -457,17 +351,17 @@ public final class Minecraft implements Runnable {
|
||||||
var81 = 0;
|
var81 = 0;
|
||||||
var86 = 0;
|
var86 = 0;
|
||||||
if(var66.minecraft.levelLoaded) {
|
if(var66.minecraft.levelLoaded) {
|
||||||
if(var66.minecraft.canvas != null) {
|
// if(var66.minecraft.canvas != null) {
|
||||||
Point var90;
|
// Point var90;
|
||||||
var70 = (var90 = var66.minecraft.canvas.getLocationOnScreen()).x + var66.minecraft.width / 2;
|
// var70 = (var90 = MinecraftMain.canvas.mouse).x + var66.minecraft.width / 2;
|
||||||
var68 = var90.y + var66.minecraft.height / 2;
|
// var68 = var90.y + var66.minecraft.height / 2;
|
||||||
Point var75;
|
// Point var75;
|
||||||
var81 = (var75 = MouseInfo.getPointerInfo().getLocation()).x - var70;
|
// var81 = (var75 = MouseInfo.getPointerInfo().getLocation()).x - var70;
|
||||||
var86 = -(var75.y - var68);
|
// var86 = -(var75.y - var68);
|
||||||
var66.minecraft.robot.mouseMove(var70, var68);
|
// Mouse.setCursorPosition(var70, var68);
|
||||||
} else {
|
// } else {
|
||||||
Mouse.setCursorPosition(var66.minecraft.width / 2, var66.minecraft.height / 2);
|
Mouse.setCursorPosition(var66.minecraft.width / 2, var66.minecraft.height / 2);
|
||||||
}
|
// }
|
||||||
} else {
|
} else {
|
||||||
var81 = Mouse.getDX();
|
var81 = Mouse.getDX();
|
||||||
var86 = Mouse.getDY();
|
var86 = Mouse.getDY();
|
||||||
|
@ -615,7 +509,7 @@ public final class Minecraft implements Runnable {
|
||||||
var69 /= (1.0F - 500.0F / (var74 + 500.0F)) * 2.0F + 1.0F;
|
var69 /= (1.0F - 500.0F / (var74 + 500.0F)) * 2.0F + 1.0F;
|
||||||
}
|
}
|
||||||
|
|
||||||
GLU.gluPerspective(var69, (float)var82.minecraft.width / (float)var82.minecraft.height, 0.05F, var82.fogEnd);
|
GL11.gluPerspective(var69, (float)var82.minecraft.width / (float)var82.minecraft.height, 0.05F, var82.fogEnd);
|
||||||
GL11.glMatrixMode(5888);
|
GL11.glMatrixMode(5888);
|
||||||
GL11.glLoadIdentity();
|
GL11.glLoadIdentity();
|
||||||
if(var82.minecraft.settings.anaglyph) {
|
if(var82.minecraft.settings.anaglyph) {
|
||||||
|
@ -870,33 +764,33 @@ public final class Minecraft implements Runnable {
|
||||||
GL11.glDisable(3553);
|
GL11.glDisable(3553);
|
||||||
GL11.glDepthMask(false);
|
GL11.glDepthMask(false);
|
||||||
var29 = 0.002F;
|
var29 = 0.002F;
|
||||||
if((var104 = var89.level.getTile(var102.x, var102.y, var102.z)) > 0) {
|
// if((var104 = var89.level.getTile(var102.x, var102.y, var102.z)) > 0) {
|
||||||
AABB var111 = Block.blocks[var104].getSelectionBox(var102.x, var102.y, var102.z).grow(var29, var29, var29);
|
// AABB var111 = Block.blocks[var104].getSelectionBox(var102.x, var102.y, var102.z).grow(var29, var29, var29);
|
||||||
GL11.glBegin(3);
|
// GL11.glBegin(3);
|
||||||
GL11.glVertex3f(var111.x0, var111.y0, var111.z0);
|
// GL11.glVertex3f(var111.x0, var111.y0, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y0, var111.z0);
|
// GL11.glVertex3f(var111.x1, var111.y0, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y0, var111.z1);
|
// GL11.glVertex3f(var111.x1, var111.y0, var111.z1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y0, var111.z1);
|
// GL11.glVertex3f(var111.x0, var111.y0, var111.z1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y0, var111.z0);
|
// GL11.glVertex3f(var111.x0, var111.y0, var111.z0);
|
||||||
GL11.glEnd();
|
// GL11.glEnd();
|
||||||
GL11.glBegin(3);
|
// GL11.glBegin(3);
|
||||||
GL11.glVertex3f(var111.x0, var111.y1, var111.z0);
|
// GL11.glVertex3f(var111.x0, var111.y1, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y1, var111.z0);
|
// GL11.glVertex3f(var111.x1, var111.y1, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y1, var111.z1);
|
// GL11.glVertex3f(var111.x1, var111.y1, var111.z1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y1, var111.z1);
|
// GL11.glVertex3f(var111.x0, var111.y1, var111.z1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y1, var111.z0);
|
// GL11.glVertex3f(var111.x0, var111.y1, var111.z0);
|
||||||
GL11.glEnd();
|
// GL11.glEnd();
|
||||||
GL11.glBegin(1);
|
// GL11.glBegin(1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y0, var111.z0);
|
// GL11.glVertex3f(var111.x0, var111.y0, var111.z0);
|
||||||
GL11.glVertex3f(var111.x0, var111.y1, var111.z0);
|
// GL11.glVertex3f(var111.x0, var111.y1, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y0, var111.z0);
|
// GL11.glVertex3f(var111.x1, var111.y0, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y1, var111.z0);
|
// GL11.glVertex3f(var111.x1, var111.y1, var111.z0);
|
||||||
GL11.glVertex3f(var111.x1, var111.y0, var111.z1);
|
// GL11.glVertex3f(var111.x1, var111.y0, var111.z1);
|
||||||
GL11.glVertex3f(var111.x1, var111.y1, var111.z1);
|
// GL11.glVertex3f(var111.x1, var111.y1, var111.z1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y0, var111.z1);
|
// GL11.glVertex3f(var111.x0, var111.y0, var111.z1);
|
||||||
GL11.glVertex3f(var111.x0, var111.y1, var111.z1);
|
// GL11.glVertex3f(var111.x0, var111.y1, var111.z1);
|
||||||
GL11.glEnd();
|
// GL11.glEnd();
|
||||||
}
|
// }
|
||||||
|
|
||||||
GL11.glDepthMask(true);
|
GL11.glDepthMask(true);
|
||||||
GL11.glEnable(3553);
|
GL11.glEnable(3553);
|
||||||
|
@ -1114,24 +1008,15 @@ public final class Minecraft implements Runnable {
|
||||||
|
|
||||||
public final void grabMouse() {
|
public final void grabMouse() {
|
||||||
if(!this.hasMouse) {
|
if(!this.hasMouse) {
|
||||||
this.hasMouse = true;
|
if(!Mouse.isFocused()) {
|
||||||
if(this.levelLoaded) {
|
return;
|
||||||
try {
|
} else if(Mouse.isActuallyGrabbed()) {
|
||||||
Mouse.setNativeCursor(this.cursor);
|
return;
|
||||||
Mouse.setCursorPosition(this.width / 2, this.height / 2);
|
} else {
|
||||||
} catch (LWJGLException var2) {
|
Mouse.setGrabbed(true);
|
||||||
var2.printStackTrace();
|
this.setCurrentScreen((GuiScreen)null);
|
||||||
}
|
this.lastClick = this.ticks + 10000;
|
||||||
|
}
|
||||||
if(this.canvas == null) {
|
|
||||||
this.canvas.requestFocus();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
Mouse.setGrabbed(true);
|
|
||||||
}
|
|
||||||
|
|
||||||
this.setCurrentScreen((GuiScreen)null);
|
|
||||||
this.lastClick = this.ticks + 10000;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1285,7 +1170,7 @@ public final class Minecraft implements Runnable {
|
||||||
byte var5 = var22.in.get(0);
|
byte var5 = var22.in.get(0);
|
||||||
PacketType var6;
|
PacketType var6;
|
||||||
if((var6 = PacketType.packets[var5]) == null) {
|
if((var6 = PacketType.packets[var5]) == null) {
|
||||||
throw new IOException("Bad command: " + var5);
|
throw new Exception("Bad command: " + var5);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(var22.in.remaining() < var6.length + 1) {
|
if(var22.in.remaining() < var6.length + 1) {
|
||||||
|
@ -1308,28 +1193,28 @@ public final class Minecraft implements Runnable {
|
||||||
var42.minecraft.player.userType = ((Byte)var7[3]).byteValue();
|
var42.minecraft.player.userType = ((Byte)var7[3]).byteValue();
|
||||||
} else if(var6 == PacketType.LEVEL_INIT) {
|
} else if(var6 == PacketType.LEVEL_INIT) {
|
||||||
var42.minecraft.setLevel((Level)null);
|
var42.minecraft.setLevel((Level)null);
|
||||||
var42.levelData = new ByteArrayOutputStream();
|
//var42.levelData = new ByteArrayOutputStream();
|
||||||
} else if(var6 == PacketType.LEVEL_DATA) {
|
} else if(var6 == PacketType.LEVEL_DATA) {
|
||||||
short var11 = ((Short)var7[0]).shortValue();
|
short var11 = ((Short)var7[0]).shortValue();
|
||||||
byte[] var12 = (byte[])((byte[])var7[1]);
|
byte[] var12 = (byte[])((byte[])var7[1]);
|
||||||
byte var13 = ((Byte)var7[2]).byteValue();
|
byte var13 = ((Byte)var7[2]).byteValue();
|
||||||
var42.minecraft.progressBar.setProgress(var13);
|
var42.minecraft.progressBar.setProgress(var13);
|
||||||
var42.levelData.write(var12, 0, var11);
|
//var42.levelData.write(var12, 0, var11);
|
||||||
} else if(var6 == PacketType.LEVEL_FINALIZE) {
|
} else if(var6 == PacketType.LEVEL_FINALIZE) {
|
||||||
try {
|
//try {
|
||||||
var42.levelData.close();
|
//var42.levelData.close();
|
||||||
} catch (IOException var14) {
|
//} catch (IOException var14) {
|
||||||
var14.printStackTrace();
|
//var14.printStackTrace();
|
||||||
}
|
//}
|
||||||
|
|
||||||
byte[] var51 = LevelIO.decompress(new ByteArrayInputStream(var42.levelData.toByteArray()));
|
//byte[] var51 = LevelIO.decompress(new ByteArrayInputStream(var42.levelData.toByteArray()));
|
||||||
var42.levelData = null;
|
//var42.levelData = null;
|
||||||
short var55 = ((Short)var7[0]).shortValue();
|
short var55 = ((Short)var7[0]).shortValue();
|
||||||
short var63 = ((Short)var7[1]).shortValue();
|
short var63 = ((Short)var7[1]).shortValue();
|
||||||
short var21 = ((Short)var7[2]).shortValue();
|
short var21 = ((Short)var7[2]).shortValue();
|
||||||
Level var30;
|
Level var30;
|
||||||
(var30 = new Level()).setNetworkMode(true);
|
(var30 = new Level()).setNetworkMode(true);
|
||||||
var30.setData(var55, var63, var21, var51);
|
//var30.setData(var55, var63, var21, var51);
|
||||||
var42.minecraft.setLevel(var30);
|
var42.minecraft.setLevel(var30);
|
||||||
var42.minecraft.online = false;
|
var42.minecraft.online = false;
|
||||||
var42.levelLoaded = true;
|
var42.levelLoaded = true;
|
||||||
|
@ -1739,10 +1624,6 @@ public final class Minecraft implements Runnable {
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void setLevel(Level var1) {
|
public final void setLevel(Level var1) {
|
||||||
if(this.applet == null || !this.applet.getDocumentBase().getHost().equalsIgnoreCase("minecraft.net") && !this.applet.getDocumentBase().getHost().equalsIgnoreCase("www.minecraft.net") || !this.applet.getCodeBase().getHost().equalsIgnoreCase("minecraft.net") && !this.applet.getCodeBase().getHost().equalsIgnoreCase("www.minecraft.net")) {
|
|
||||||
var1 = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.level = var1;
|
this.level = var1;
|
||||||
if(var1 != null) {
|
if(var1 != null) {
|
||||||
var1.initTransient();
|
var1.initTransient();
|
||||||
|
|
|
@ -1,32 +0,0 @@
|
||||||
package com.mojang.minecraft;
|
|
||||||
|
|
||||||
import java.awt.Canvas;
|
|
||||||
|
|
||||||
// MinecraftCanvas
|
|
||||||
public class MinecraftApplet$1 extends Canvas
|
|
||||||
{
|
|
||||||
public MinecraftApplet$1(MinecraftApplet minecraftApplet)
|
|
||||||
{
|
|
||||||
this.applet = minecraftApplet;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public synchronized void addNotify()
|
|
||||||
{
|
|
||||||
super.addNotify();
|
|
||||||
|
|
||||||
applet.startGameThread();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public synchronized void removeNotify()
|
|
||||||
{
|
|
||||||
applet.stopGameThread();
|
|
||||||
|
|
||||||
super.removeNotify();
|
|
||||||
}
|
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private MinecraftApplet applet;
|
|
||||||
}
|
|
|
@ -1,115 +0,0 @@
|
||||||
package com.mojang.minecraft;
|
|
||||||
|
|
||||||
import java.applet.Applet;
|
|
||||||
import java.awt.BorderLayout;
|
|
||||||
import java.awt.Canvas;
|
|
||||||
|
|
||||||
public class MinecraftApplet extends Applet
|
|
||||||
{
|
|
||||||
private static final long serialVersionUID = 1L;
|
|
||||||
|
|
||||||
private Canvas canvas;
|
|
||||||
private Minecraft minecraft;
|
|
||||||
|
|
||||||
private Thread thread = null;
|
|
||||||
|
|
||||||
public void init()
|
|
||||||
{
|
|
||||||
canvas = new MinecraftApplet$1(this);
|
|
||||||
|
|
||||||
boolean fullscreen = false;
|
|
||||||
|
|
||||||
if(getParameter("fullscreen") != null)
|
|
||||||
{
|
|
||||||
fullscreen = getParameter("fullscreen").equalsIgnoreCase("true");
|
|
||||||
}
|
|
||||||
|
|
||||||
minecraft = new Minecraft(canvas, this, getWidth(), getHeight(), fullscreen);
|
|
||||||
|
|
||||||
minecraft.host = getDocumentBase().getHost();
|
|
||||||
|
|
||||||
if(getDocumentBase().getPort() > 0)
|
|
||||||
{
|
|
||||||
minecraft.host = minecraft.host + ":" + getDocumentBase().getPort();
|
|
||||||
}
|
|
||||||
|
|
||||||
if(getParameter("username") != null && getParameter("sessionid") != null)
|
|
||||||
{
|
|
||||||
minecraft.session = new SessionData(getParameter("username"), getParameter("sessionid"));
|
|
||||||
|
|
||||||
if(getParameter("mppass") != null)
|
|
||||||
{
|
|
||||||
minecraft.session.mppass = getParameter("mppass");
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: Not tested.
|
|
||||||
minecraft.session.haspaid = getParameter("haspaid").equalsIgnoreCase("true");
|
|
||||||
}
|
|
||||||
|
|
||||||
if(getParameter("loadmap_user") != null && getParameter("loadmap_id") != null)
|
|
||||||
{
|
|
||||||
minecraft.levelName = getParameter("loadmap_user");
|
|
||||||
minecraft.levelId = Integer.parseInt(getParameter("loadmap_id"));
|
|
||||||
} else if(getParameter("server") != null && getParameter("port") != null) {
|
|
||||||
String server = getParameter("server");
|
|
||||||
int port = Integer.parseInt(getParameter("port"));
|
|
||||||
|
|
||||||
minecraft.server = server;
|
|
||||||
minecraft.port = port;
|
|
||||||
}
|
|
||||||
|
|
||||||
minecraft.levelLoaded = true;
|
|
||||||
|
|
||||||
setLayout(new BorderLayout());
|
|
||||||
|
|
||||||
add(canvas, "Center");
|
|
||||||
|
|
||||||
canvas.setFocusable(true);
|
|
||||||
|
|
||||||
validate();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void startGameThread()
|
|
||||||
{
|
|
||||||
if(thread == null)
|
|
||||||
{
|
|
||||||
thread = new Thread(minecraft);
|
|
||||||
|
|
||||||
thread.start();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void start()
|
|
||||||
{
|
|
||||||
minecraft.waiting = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void stop()
|
|
||||||
{
|
|
||||||
minecraft.waiting = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void destroy()
|
|
||||||
{
|
|
||||||
stopGameThread();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void stopGameThread()
|
|
||||||
{
|
|
||||||
if(thread != null)
|
|
||||||
{
|
|
||||||
minecraft.running = false;
|
|
||||||
|
|
||||||
try {
|
|
||||||
thread.join(1000L);
|
|
||||||
} catch (InterruptedException var3) {
|
|
||||||
minecraft.shutdown();
|
|
||||||
}
|
|
||||||
|
|
||||||
thread = null;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,10 +1,5 @@
|
||||||
package com.mojang.minecraft.gui;
|
package com.mojang.minecraft.gui;
|
||||||
|
|
||||||
import com.mojang.minecraft.gui.Button;
|
|
||||||
import com.mojang.minecraft.gui.GenerateLevelScreen;
|
|
||||||
import com.mojang.minecraft.gui.GuiScreen;
|
|
||||||
import com.mojang.minecraft.gui.LoadLevelScreen;
|
|
||||||
import com.mojang.minecraft.gui.OptionsScreen;
|
|
||||||
import org.lwjgl.opengl.GL11;
|
import org.lwjgl.opengl.GL11;
|
||||||
|
|
||||||
public final class GameOverScreen extends GuiScreen {
|
public final class GameOverScreen extends GuiScreen {
|
||||||
|
@ -28,9 +23,9 @@ public final class GameOverScreen extends GuiScreen {
|
||||||
this.minecraft.setCurrentScreen(new GenerateLevelScreen(this));
|
this.minecraft.setCurrentScreen(new GenerateLevelScreen(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.minecraft.session != null && var1.id == 2) {
|
//if(this.minecraft.session != null && var1.id == 2) {
|
||||||
this.minecraft.setCurrentScreen(new LoadLevelScreen(this));
|
//this.minecraft.setCurrentScreen(new LoadLevelScreen(this));
|
||||||
}
|
//}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -177,14 +177,14 @@ public final class HUDScreen extends Screen {
|
||||||
GL11.glEnable(3042);
|
GL11.glEnable(3042);
|
||||||
GL11.glDisable(3553);
|
GL11.glDisable(3553);
|
||||||
GL11.glBlendFunc(770, 771);
|
GL11.glBlendFunc(770, 771);
|
||||||
GL11.glBegin(7);
|
//GL11.glBegin(7);
|
||||||
GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.7F);
|
GL11.glColor4f(0.0F, 0.0F, 0.0F, 0.7F);
|
||||||
GL11.glVertex2f((float)(var14 + 128), (float)(var15 - 68 - 12));
|
//GL11.glVertex2f((float)(var14 + 128), (float)(var15 - 68 - 12));
|
||||||
GL11.glVertex2f((float)(var14 - 128), (float)(var15 - 68 - 12));
|
//GL11.glVertex2f((float)(var14 - 128), (float)(var15 - 68 - 12));
|
||||||
GL11.glColor4f(0.2F, 0.2F, 0.2F, 0.8F);
|
GL11.glColor4f(0.2F, 0.2F, 0.2F, 0.8F);
|
||||||
GL11.glVertex2f((float)(var14 - 128), (float)(var15 + 68));
|
//GL11.glVertex2f((float)(var14 - 128), (float)(var15 + 68));
|
||||||
GL11.glVertex2f((float)(var14 + 128), (float)(var15 + 68));
|
//GL11.glVertex2f((float)(var14 + 128), (float)(var15 + 68));
|
||||||
GL11.glEnd();
|
//GL11.glEnd();
|
||||||
GL11.glDisable(3042);
|
GL11.glDisable(3042);
|
||||||
GL11.glEnable(3553);
|
GL11.glEnable(3553);
|
||||||
var23 = "Connected players:";
|
var23 = "Connected players:";
|
||||||
|
|
|
@ -1,52 +0,0 @@
|
||||||
package com.mojang.minecraft.gui;
|
|
||||||
|
|
||||||
import com.mojang.minecraft.gui.LoadLevelScreen;
|
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
import javax.swing.filechooser.FileNameExtensionFilter;
|
|
||||||
|
|
||||||
final class LevelDialog extends Thread {
|
|
||||||
|
|
||||||
// $FF: synthetic field
|
|
||||||
private LoadLevelScreen screen;
|
|
||||||
|
|
||||||
|
|
||||||
LevelDialog(LoadLevelScreen var1) {
|
|
||||||
super();
|
|
||||||
this.screen = var1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void run() {
|
|
||||||
JFileChooser var1;
|
|
||||||
LoadLevelScreen var2;
|
|
||||||
try {
|
|
||||||
LoadLevelScreen var10000 = this.screen;
|
|
||||||
var1 = new JFileChooser();
|
|
||||||
var10000.chooser = var1;
|
|
||||||
FileNameExtensionFilter var3 = new FileNameExtensionFilter("Minecraft levels", new String[]{"mine"});
|
|
||||||
var2 = this.screen;
|
|
||||||
this.screen.chooser.setFileFilter(var3);
|
|
||||||
var2 = this.screen;
|
|
||||||
this.screen.chooser.setMultiSelectionEnabled(false);
|
|
||||||
int var7;
|
|
||||||
if(this.screen.saving) {
|
|
||||||
var2 = this.screen;
|
|
||||||
var7 = this.screen.chooser.showSaveDialog(this.screen.minecraft.canvas);
|
|
||||||
} else {
|
|
||||||
var2 = this.screen;
|
|
||||||
var7 = this.screen.chooser.showOpenDialog(this.screen.minecraft.canvas);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(var7 == 0) {
|
|
||||||
(var2 = this.screen).selectedFile = this.screen.chooser.getSelectedFile();
|
|
||||||
}
|
|
||||||
} finally {
|
|
||||||
boolean var6 = false;
|
|
||||||
var2 = this.screen;
|
|
||||||
this.screen.frozen = false;
|
|
||||||
var1 = null;
|
|
||||||
var2 = this.screen;
|
|
||||||
this.screen.chooser = var1;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,164 +0,0 @@
|
||||||
package com.mojang.minecraft.gui;
|
|
||||||
|
|
||||||
import com.mojang.minecraft.Minecraft;
|
|
||||||
import com.mojang.minecraft.gui.Button;
|
|
||||||
import com.mojang.minecraft.gui.GuiScreen;
|
|
||||||
import com.mojang.minecraft.gui.LevelDialog;
|
|
||||||
import com.mojang.minecraft.level.Level;
|
|
||||||
import java.io.BufferedReader;
|
|
||||||
import java.io.File;
|
|
||||||
import java.io.InputStreamReader;
|
|
||||||
import java.net.URL;
|
|
||||||
import javax.swing.JFileChooser;
|
|
||||||
import javax.swing.SwingUtilities;
|
|
||||||
|
|
||||||
public class LoadLevelScreen extends GuiScreen implements Runnable {
|
|
||||||
|
|
||||||
protected GuiScreen parent;
|
|
||||||
private boolean finished = false;
|
|
||||||
private boolean loaded = false;
|
|
||||||
private String[] levels = null;
|
|
||||||
private String status = "";
|
|
||||||
protected String title = "Load level";
|
|
||||||
boolean frozen = false;
|
|
||||||
JFileChooser chooser;
|
|
||||||
protected boolean saving = false;
|
|
||||||
protected File selectedFile;
|
|
||||||
|
|
||||||
|
|
||||||
public LoadLevelScreen(GuiScreen var1) {
|
|
||||||
this.parent = var1;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void run() {
|
|
||||||
try {
|
|
||||||
if(this.frozen) {
|
|
||||||
try {
|
|
||||||
Thread.sleep(100L);
|
|
||||||
} catch (InterruptedException var2) {
|
|
||||||
var2.printStackTrace();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
this.status = "Getting level list..";
|
|
||||||
URL var1 = new URL("http://" + this.minecraft.host + "/listmaps.jsp?user=" + this.minecraft.session.username);
|
|
||||||
BufferedReader var4 = new BufferedReader(new InputStreamReader(var1.openConnection().getInputStream()));
|
|
||||||
this.levels = var4.readLine().split(";");
|
|
||||||
if(this.levels.length >= 5) {
|
|
||||||
this.setLevels(this.levels);
|
|
||||||
this.loaded = true;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.status = this.levels[0];
|
|
||||||
this.finished = true;
|
|
||||||
} catch (Exception var3) {
|
|
||||||
var3.printStackTrace();
|
|
||||||
this.status = "Failed to load levels";
|
|
||||||
this.finished = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void setLevels(String[] var1) {
|
|
||||||
for(int var2 = 0; var2 < 5; ++var2) {
|
|
||||||
((Button)this.buttons.get(var2)).active = !var1[var2].equals("-");
|
|
||||||
((Button)this.buttons.get(var2)).text = var1[var2];
|
|
||||||
((Button)this.buttons.get(var2)).visible = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public void onOpen() {
|
|
||||||
(new Thread(this)).start();
|
|
||||||
|
|
||||||
for(int var1 = 0; var1 < 5; ++var1) {
|
|
||||||
this.buttons.add(new Button(var1, this.width / 2 - 100, this.height / 6 + var1 * 24, "---"));
|
|
||||||
((Button)this.buttons.get(var1)).visible = false;
|
|
||||||
((Button)this.buttons.get(var1)).active = false;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.buttons.add(new Button(5, this.width / 2 - 100, this.height / 6 + 120 + 12, "Load file..."));
|
|
||||||
this.buttons.add(new Button(6, this.width / 2 - 100, this.height / 6 + 168, "Cancel"));
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void onButtonClick(Button var1) {
|
|
||||||
if(!this.frozen) {
|
|
||||||
if(var1.active) {
|
|
||||||
if(this.loaded && var1.id < 5) {
|
|
||||||
this.openLevel(var1.id);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(this.finished || this.loaded && var1.id == 5) {
|
|
||||||
this.frozen = true;
|
|
||||||
LevelDialog var2;
|
|
||||||
(var2 = new LevelDialog(this)).setDaemon(true);
|
|
||||||
SwingUtilities.invokeLater(var2);
|
|
||||||
}
|
|
||||||
|
|
||||||
if(this.finished || this.loaded && var1.id == 6) {
|
|
||||||
this.minecraft.setCurrentScreen(this.parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void openLevel(File var1) {
|
|
||||||
File var2 = var1;
|
|
||||||
Minecraft var4 = this.minecraft;
|
|
||||||
Level var5;
|
|
||||||
boolean var10000;
|
|
||||||
if((var5 = this.minecraft.levelIo.load(var2)) == null) {
|
|
||||||
var10000 = false;
|
|
||||||
} else {
|
|
||||||
var4.setLevel(var5);
|
|
||||||
var10000 = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
this.minecraft.setCurrentScreen(this.parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected void openLevel(int var1) {
|
|
||||||
this.minecraft.loadOnlineLevel(this.minecraft.session.username, var1);
|
|
||||||
this.minecraft.setCurrentScreen((GuiScreen)null);
|
|
||||||
this.minecraft.grabMouse();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void render(int var1, int var2) {
|
|
||||||
drawFadingBox(0, 0, this.width, this.height, 1610941696, -1607454624);
|
|
||||||
drawCenteredString(this.fontRenderer, this.title, this.width / 2, 20, 16777215);
|
|
||||||
if(this.frozen) {
|
|
||||||
drawCenteredString(this.fontRenderer, "Selecting file..", this.width / 2, this.height / 2 - 4, 16777215);
|
|
||||||
|
|
||||||
try {
|
|
||||||
Thread.sleep(20L);
|
|
||||||
} catch (InterruptedException var3) {
|
|
||||||
var3.printStackTrace();
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
if(!this.loaded) {
|
|
||||||
drawCenteredString(this.fontRenderer, this.status, this.width / 2, this.height / 2 - 4, 16777215);
|
|
||||||
}
|
|
||||||
|
|
||||||
super.render(var1, var2);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void onClose() {
|
|
||||||
super.onClose();
|
|
||||||
if(this.chooser != null) {
|
|
||||||
this.chooser.cancelSelection();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void tick() {
|
|
||||||
super.tick();
|
|
||||||
if(this.selectedFile != null) {
|
|
||||||
this.openLevel(this.selectedFile);
|
|
||||||
this.selectedFile = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,12 +1,5 @@
|
||||||
package com.mojang.minecraft.gui;
|
package com.mojang.minecraft.gui;
|
||||||
|
|
||||||
import com.mojang.minecraft.gui.Button;
|
|
||||||
import com.mojang.minecraft.gui.GenerateLevelScreen;
|
|
||||||
import com.mojang.minecraft.gui.GuiScreen;
|
|
||||||
import com.mojang.minecraft.gui.LoadLevelScreen;
|
|
||||||
import com.mojang.minecraft.gui.OptionsScreen;
|
|
||||||
import com.mojang.minecraft.gui.SaveLevelScreen;
|
|
||||||
|
|
||||||
public final class PauseScreen extends GuiScreen {
|
public final class PauseScreen extends GuiScreen {
|
||||||
|
|
||||||
public final void onOpen() {
|
public final void onOpen() {
|
||||||
|
@ -38,15 +31,15 @@ public final class PauseScreen extends GuiScreen {
|
||||||
this.minecraft.setCurrentScreen(new GenerateLevelScreen(this));
|
this.minecraft.setCurrentScreen(new GenerateLevelScreen(this));
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.minecraft.session != null) {
|
//if(this.minecraft.session != null) {
|
||||||
if(var1.id == 2) {
|
//if(var1.id == 2) {
|
||||||
this.minecraft.setCurrentScreen(new SaveLevelScreen(this));
|
//this.minecraft.setCurrentScreen(new SaveLevelScreen(this));
|
||||||
}
|
//}
|
||||||
|
|
||||||
if(var1.id == 3) {
|
//if(var1.id == 3) {
|
||||||
this.minecraft.setCurrentScreen(new LoadLevelScreen(this));
|
//this.minecraft.setCurrentScreen(new LoadLevelScreen(this));
|
||||||
}
|
//}
|
||||||
}
|
//}
|
||||||
|
|
||||||
if(var1.id == 4) {
|
if(var1.id == 4) {
|
||||||
this.minecraft.setCurrentScreen((GuiScreen)null);
|
this.minecraft.setCurrentScreen((GuiScreen)null);
|
||||||
|
|
|
@ -1,56 +0,0 @@
|
||||||
package com.mojang.minecraft.gui;
|
|
||||||
|
|
||||||
import com.mojang.minecraft.Minecraft;
|
|
||||||
import com.mojang.minecraft.gui.Button;
|
|
||||||
import com.mojang.minecraft.gui.GuiScreen;
|
|
||||||
import com.mojang.minecraft.gui.LevelNameScreen;
|
|
||||||
import com.mojang.minecraft.gui.LoadLevelScreen;
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
public final class SaveLevelScreen extends LoadLevelScreen {
|
|
||||||
|
|
||||||
public SaveLevelScreen(GuiScreen var1) {
|
|
||||||
super(var1);
|
|
||||||
this.title = "Save level";
|
|
||||||
this.saving = true;
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void onOpen() {
|
|
||||||
super.onOpen();
|
|
||||||
((Button)this.buttons.get(5)).text = "Save file...";
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void setLevels(String[] var1) {
|
|
||||||
for(int var2 = 0; var2 < 5; ++var2) {
|
|
||||||
((Button)this.buttons.get(var2)).text = var1[var2];
|
|
||||||
((Button)this.buttons.get(var2)).visible = true;
|
|
||||||
((Button)this.buttons.get(var2)).active = this.minecraft.session.haspaid;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
public final void render(int var1, int var2) {
|
|
||||||
super.render(var1, var2);
|
|
||||||
if(!this.minecraft.session.haspaid) {
|
|
||||||
drawFadingBox(this.width / 2 - 80, 72, this.width / 2 + 80, 120, -536870912, -536870912);
|
|
||||||
drawCenteredString(this.fontRenderer, "Premium only!", this.width / 2, 80, 16748688);
|
|
||||||
drawCenteredString(this.fontRenderer, "Purchase the game to be able", this.width / 2, 96, 14712960);
|
|
||||||
drawCenteredString(this.fontRenderer, "to save your levels online.", this.width / 2, 104, 14712960);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void openLevel(File var1) {
|
|
||||||
if(!var1.getName().endsWith(".mine")) {
|
|
||||||
var1 = new File(var1.getParentFile(), var1.getName() + ".mine");
|
|
||||||
}
|
|
||||||
|
|
||||||
File var2 = var1;
|
|
||||||
Minecraft var3 = this.minecraft;
|
|
||||||
this.minecraft.levelIo.save(var3.level, var2);
|
|
||||||
this.minecraft.setCurrentScreen(this.parent);
|
|
||||||
}
|
|
||||||
|
|
||||||
protected final void openLevel(int var1) {
|
|
||||||
this.minecraft.setCurrentScreen(new LevelNameScreen(this, ((Button)this.buttons.get(var1)).text, var1));
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -41,14 +41,14 @@ public class Screen {
|
||||||
GL11.glDisable(3553);
|
GL11.glDisable(3553);
|
||||||
GL11.glEnable(3042);
|
GL11.glEnable(3042);
|
||||||
GL11.glBlendFunc(770, 771);
|
GL11.glBlendFunc(770, 771);
|
||||||
GL11.glBegin(7);
|
//GL11.glBegin(7);
|
||||||
GL11.glColor4f(var7, var8, var12, var6);
|
GL11.glColor4f(var7, var8, var12, var6);
|
||||||
GL11.glVertex2f((float)var2, (float)var1);
|
//GL11.glVertex2f((float)var2, (float)var1);
|
||||||
GL11.glVertex2f((float)var0, (float)var1);
|
//GL11.glVertex2f((float)var0, (float)var1);
|
||||||
GL11.glColor4f(var10, var11, var13, var9);
|
GL11.glColor4f(var10, var11, var13, var9);
|
||||||
GL11.glVertex2f((float)var0, (float)var3);
|
//GL11.glVertex2f((float)var0, (float)var3);
|
||||||
GL11.glVertex2f((float)var2, (float)var3);
|
//GL11.glVertex2f((float)var2, (float)var3);
|
||||||
GL11.glEnd();
|
//GL11.glEnd();
|
||||||
GL11.glDisable(3042);
|
GL11.glDisable(3042);
|
||||||
GL11.glEnable(3553);
|
GL11.glEnable(3553);
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,7 +22,7 @@ public class NetworkManager
|
||||||
new ServerConnectThread(this, server, port, username, key, minecraft).start();
|
new ServerConnectThread(this, server, port, username, key, minecraft).start();
|
||||||
}
|
}
|
||||||
|
|
||||||
public ByteArrayOutputStream levelData;
|
// public ByteArrayOutputStream levelData;
|
||||||
|
|
||||||
public NetworkHandler netHandler;
|
public NetworkHandler netHandler;
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,9 @@ import org.teavm.jso.typedarrays.Uint8Array;
|
||||||
import org.teavm.jso.webgl.WebGLFramebuffer;
|
import org.teavm.jso.webgl.WebGLFramebuffer;
|
||||||
import org.teavm.jso.webgl.WebGLRenderingContext;
|
import org.teavm.jso.webgl.WebGLRenderingContext;
|
||||||
|
|
||||||
|
import com.mojang.minecraft.Minecraft;
|
||||||
|
import com.mojang.minecraft.SessionData;
|
||||||
|
|
||||||
import net.PeytonPlayz585.lwjgl.PlatformInput;
|
import net.PeytonPlayz585.lwjgl.PlatformInput;
|
||||||
import net.PeytonPlayz585.minecraft.MinecraftClient;
|
import net.PeytonPlayz585.minecraft.MinecraftClient;
|
||||||
import net.PeytonPlayz585.teavm.WebGL2RenderingContext;
|
import net.PeytonPlayz585.teavm.WebGL2RenderingContext;
|
||||||
|
@ -107,7 +110,17 @@ public class MinecraftMain {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
//Start Game Function
|
//Start Game
|
||||||
|
Minecraft minecraft = new Minecraft(canvas.getWidth(), canvas.getHeight(), true);
|
||||||
|
//minecraft.host = "127.0.0.1:25565";
|
||||||
|
minecraft.session = new SessionData("PeytonPlayz585", "TeaVM-WebGL");
|
||||||
|
minecraft.levelLoaded = true;
|
||||||
|
canvas.focus();
|
||||||
|
|
||||||
|
Thread thread = null;
|
||||||
|
thread = new Thread(minecraft);
|
||||||
|
thread.start();
|
||||||
|
minecraft.waiting = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
package org.lwjgl.input;
|
package org.lwjgl.input;
|
||||||
|
|
||||||
|
import org.lwjgl.opengl.Display;
|
||||||
|
|
||||||
import net.PeytonPlayz585.lwjgl.PlatformInput;
|
import net.PeytonPlayz585.lwjgl.PlatformInput;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -89,4 +91,8 @@ public class Mouse {
|
||||||
return PlatformInput.isMouseGrabbed();
|
return PlatformInput.isMouseGrabbed();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static boolean isFocused() {
|
||||||
|
return Display.isActive() && isActuallyGrabbed();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -1,76 +0,0 @@
|
||||||
package org.oyasunadev.minecraft;
|
|
||||||
|
|
||||||
import com.mojang.minecraft.MinecraftApplet;
|
|
||||||
|
|
||||||
import java.net.MalformedURLException;
|
|
||||||
import java.net.URL;
|
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.Map;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created with IntelliJ IDEA.
|
|
||||||
* User: Oliver Yasuna
|
|
||||||
* Date: 9/23/12
|
|
||||||
* Time: 4:17 PM
|
|
||||||
*/
|
|
||||||
public class MCApplet extends MinecraftApplet
|
|
||||||
{
|
|
||||||
public MCApplet()
|
|
||||||
{
|
|
||||||
MP = false;
|
|
||||||
|
|
||||||
parameters = new HashMap();
|
|
||||||
}
|
|
||||||
|
|
||||||
public MCApplet(String username, String sessionid, boolean haspaid, String server, int port, String mppass)
|
|
||||||
{
|
|
||||||
MP = true;
|
|
||||||
|
|
||||||
parameters = new HashMap();
|
|
||||||
|
|
||||||
parameters.put("username", username);
|
|
||||||
parameters.put("sessionid", sessionid);
|
|
||||||
parameters.put("haspaid", String.valueOf(haspaid));
|
|
||||||
parameters.put("server", server);
|
|
||||||
parameters.put("port", String.valueOf(port));
|
|
||||||
parameters.put("mppass", mppass);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public URL getDocumentBase()
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
return new URL("http://minecraft.net:80/play.jsp");
|
|
||||||
} catch (MalformedURLException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public URL getCodeBase()
|
|
||||||
{
|
|
||||||
try {
|
|
||||||
return new URL("http://minecraft.net:80/");
|
|
||||||
} catch (MalformedURLException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public String getParameter(String name)
|
|
||||||
{
|
|
||||||
if(MP)
|
|
||||||
{
|
|
||||||
return (String)parameters.get(name);
|
|
||||||
} else {
|
|
||||||
return super.getParameter(name);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
private final boolean MP;
|
|
||||||
public final Map parameters;
|
|
||||||
}
|
|
|
@ -1,49 +0,0 @@
|
||||||
package org.oyasunadev.minecraft;
|
|
||||||
|
|
||||||
import com.mojang.minecraft.Minecraft;
|
|
||||||
import com.mojang.minecraft.MinecraftApplet$1;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
import java.awt.*;
|
|
||||||
|
|
||||||
public final class SPFrame extends JFrame
|
|
||||||
{
|
|
||||||
public SPFrame()
|
|
||||||
{
|
|
||||||
setTitle("Shadow Client Classic");
|
|
||||||
setSize(854, 480);
|
|
||||||
setResizable(false);
|
|
||||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
||||||
setLayout(new BorderLayout());
|
|
||||||
|
|
||||||
int width = Toolkit.getDefaultToolkit().getScreenSize().width;
|
|
||||||
int height = Toolkit.getDefaultToolkit().getScreenSize().height;
|
|
||||||
|
|
||||||
if(getWidth() == width && getHeight() == height)
|
|
||||||
{
|
|
||||||
setUndecorated(true);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void startMinecraft()
|
|
||||||
{
|
|
||||||
MCApplet applet = new MCApplet();
|
|
||||||
MinecraftApplet$1 canvas = new MinecraftApplet$1(applet);
|
|
||||||
|
|
||||||
Minecraft minecraft = new Minecraft(canvas, applet, getWidth(), getHeight(), false);
|
|
||||||
|
|
||||||
canvas.setSize(getWidth(), getHeight());
|
|
||||||
|
|
||||||
add(canvas, "Center");
|
|
||||||
|
|
||||||
pack();
|
|
||||||
|
|
||||||
new Thread(minecraft).start();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void finish()
|
|
||||||
{
|
|
||||||
setLocation((Toolkit.getDefaultToolkit().getScreenSize().width - getWidth()) / 2,
|
|
||||||
(Toolkit.getDefaultToolkit().getScreenSize().height - getHeight()) / 2);
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -1,43 +0,0 @@
|
||||||
package org.oyasunadev.minecraft;
|
|
||||||
|
|
||||||
import java.io.File;
|
|
||||||
|
|
||||||
import javax.swing.*;
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Created with IntelliJ IDEA.
|
|
||||||
* User: Oliver Yasuna
|
|
||||||
* Date: 9/23/12
|
|
||||||
* Time: 4:04 PM
|
|
||||||
*/
|
|
||||||
public class Start
|
|
||||||
{
|
|
||||||
public static void main(String[] args)
|
|
||||||
{
|
|
||||||
new Start();
|
|
||||||
}
|
|
||||||
|
|
||||||
public Start()
|
|
||||||
{
|
|
||||||
System.setProperty("org.lwjgl.librarypath", new File("./run/native/linux").getAbsolutePath());
|
|
||||||
|
|
||||||
try {
|
|
||||||
UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (InstantiationException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (IllegalAccessException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
} catch (UnsupportedLookAndFeelException e) {
|
|
||||||
e.printStackTrace();
|
|
||||||
}
|
|
||||||
|
|
||||||
SPFrame spFrame = new SPFrame();
|
|
||||||
|
|
||||||
spFrame.setVisible(true);
|
|
||||||
|
|
||||||
spFrame.startMinecraft();
|
|
||||||
spFrame.finish();
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user