Made settings save/load
This commit is contained in:
parent
4f2f4a6cbf
commit
9138a1ee09
File diff suppressed because one or more lines are too long
|
@ -2,6 +2,9 @@ package com.mojang.minecraft;
|
|||
|
||||
import com.mojang.minecraft.gamemode.*;
|
||||
|
||||
import net.PeytonPlayz585.storage.LocalStorageManager;
|
||||
import net.PeytonPlayz595.nbt.NBTTagCompound;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
public final class GameSettings
|
||||
|
@ -141,103 +144,65 @@ public final class GameSettings
|
|||
|
||||
private void load()
|
||||
{
|
||||
// try
|
||||
// {
|
||||
// if(settingsFile.exists())
|
||||
// {
|
||||
// FileReader fileReader = new FileReader(settingsFile);
|
||||
// BufferedReader reader = new BufferedReader(fileReader);
|
||||
//
|
||||
// String line = null;
|
||||
//
|
||||
// while((line = reader.readLine()) != null)
|
||||
// {
|
||||
// String[] setting = line.split(":");
|
||||
//
|
||||
// if(setting[0].equals("music"))
|
||||
// {
|
||||
// music = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("sound"))
|
||||
// {
|
||||
// sound = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("invertYMouse"))
|
||||
// {
|
||||
// invertMouse = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("showFrameRate"))
|
||||
// {
|
||||
// showFrameRate = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("viewDistance"))
|
||||
// {
|
||||
// viewDistance = Integer.parseInt(setting[1]);
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("bobView"))
|
||||
// {
|
||||
// viewBobbing = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("anaglyph3d"))
|
||||
// {
|
||||
// anaglyph = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// if(setting[0].equals("limitFramerate"))
|
||||
// {
|
||||
// limitFramerate = setting[1].equals("true");
|
||||
// }
|
||||
//
|
||||
// for(int index = 0; index < this.bindings.length; index++)
|
||||
// {
|
||||
// if(setting[0].equals("key_" + bindings[index].name))
|
||||
// {
|
||||
// bindings[index].key = Integer.parseInt(setting[1]);
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//
|
||||
// reader.close();
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// System.out.println("Failed to load options");
|
||||
//
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
NBTTagCompound settingsFile = LocalStorageManager.gameSettingsStorage;
|
||||
|
||||
if(!settingsFile.hasNoTags()) {
|
||||
if(settingsFile.hasKey("music")) {
|
||||
music = settingsFile.getBoolean("music");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("sound")) {
|
||||
sound = settingsFile.getBoolean("sound");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("invertYMouse")) {
|
||||
invertMouse = settingsFile.getBoolean("invertYMouse");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("showFrameRate")) {
|
||||
showFrameRate = settingsFile.getBoolean("showFrameRate");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("viewDistance")) {
|
||||
viewDistance = settingsFile.getInteger("viewDistance");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("bobView")) {
|
||||
viewBobbing = settingsFile.getBoolean("bobView");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("anaglyph3d")) {
|
||||
anaglyph = settingsFile.getBoolean("anaglyph3d");
|
||||
}
|
||||
|
||||
if(settingsFile.hasKey("limitFramerate")) {
|
||||
limitFramerate = settingsFile.getBoolean("limitFramerate");
|
||||
}
|
||||
|
||||
for(int i = 0; i < bindings.length; ++i) {
|
||||
String k = "key_" + bindings[i].name;
|
||||
if(settingsFile.hasKey(k)) bindings[i].key = (int)settingsFile.getShort(k) & 0xFFFF;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void save()
|
||||
{
|
||||
// try {
|
||||
// FileWriter fileWriter = new FileWriter(this.settingsFile);
|
||||
// PrintWriter writer = new PrintWriter(fileWriter);
|
||||
//
|
||||
// writer.println("music:" + music);
|
||||
// writer.println("sound:" + sound);
|
||||
// writer.println("invertYMouse:" + invertMouse);
|
||||
// writer.println("showFrameRate:" + showFrameRate);
|
||||
// writer.println("viewDistance:" + viewDistance);
|
||||
// writer.println("bobView:" + viewBobbing);
|
||||
// writer.println("anaglyph3d:" + anaglyph);
|
||||
// writer.println("limitFramerate:" + limitFramerate);
|
||||
//
|
||||
// for(int binding = 0; binding < bindings.length; binding++)
|
||||
// {
|
||||
// writer.println("key_" + bindings[binding].name + ":" + bindings[binding].key);
|
||||
// }
|
||||
//
|
||||
// writer.close();
|
||||
// } catch (Exception e) {
|
||||
// System.out.println("Failed to save options");
|
||||
//
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
NBTTagCompound settingsFile = LocalStorageManager.gameSettingsStorage;
|
||||
settingsFile.setBoolean("music", music);
|
||||
settingsFile.setBoolean("sound", sound);
|
||||
settingsFile.setBoolean("invertYMouse", invertMouse);
|
||||
settingsFile.setBoolean("showFrameRate", showFrameRate);
|
||||
settingsFile.setInteger("viewDistance", viewDistance);
|
||||
settingsFile.setBoolean("bobView", viewBobbing);
|
||||
settingsFile.setBoolean("anaglyph3d", anaglyph);
|
||||
settingsFile.setBoolean("limitFramerate", limitFramerate);
|
||||
|
||||
for(int i = 0; i < bindings.length; ++i) {
|
||||
String k = "key_" + bindings[i].name;
|
||||
settingsFile.setShort(k, (short)bindings[i].key);
|
||||
}
|
||||
LocalStorageManager.saveStorageG();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
package net.PeytonPlayz585.storage;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.DataInputStream;
|
||||
import java.io.DataOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
import org.lwjgl.opengl.GL11;
|
||||
|
||||
import net.PeytonPlayz595.nbt.NBTBase;
|
||||
import net.PeytonPlayz595.nbt.NBTTagCompound;
|
||||
import net.lax1dude.eaglercraft.Base64;
|
||||
|
||||
public class LocalStorageManager {
|
||||
|
||||
public static NBTTagCompound gameSettingsStorage = null;
|
||||
public static NBTTagCompound profileSettingsStorage = null;
|
||||
|
||||
public static void loadStorage() {
|
||||
byte[] g = GL11.loadLocalStorage("g");
|
||||
byte[] p = GL11.loadLocalStorage("p");
|
||||
|
||||
if(g != null) {
|
||||
try {
|
||||
NBTBase t = NBTBase.readTag(new DataInputStream(new ByteArrayInputStream(g)));
|
||||
if(t != null && t instanceof NBTTagCompound) {
|
||||
gameSettingsStorage = (NBTTagCompound)t;
|
||||
}
|
||||
}catch(IOException e) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
if(p != null) {
|
||||
try {
|
||||
NBTBase t = NBTBase.readTag(new DataInputStream(new ByteArrayInputStream(p)));
|
||||
if(t != null && t instanceof NBTTagCompound) {
|
||||
profileSettingsStorage = (NBTTagCompound)t;
|
||||
}
|
||||
}catch(IOException e) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
if(gameSettingsStorage == null) gameSettingsStorage = new NBTTagCompound();
|
||||
if(profileSettingsStorage == null) profileSettingsStorage = new NBTTagCompound();
|
||||
|
||||
}
|
||||
|
||||
public static void saveStorageG() {
|
||||
try {
|
||||
ByteArrayOutputStream s = new ByteArrayOutputStream();
|
||||
NBTBase.writeTag(gameSettingsStorage, new DataOutputStream(s));
|
||||
GL11.saveLocalStorage("g", s.toByteArray());
|
||||
} catch (IOException e) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
public static void saveStorageP() {
|
||||
try {
|
||||
ByteArrayOutputStream s = new ByteArrayOutputStream();
|
||||
NBTBase.writeTag(profileSettingsStorage, new DataOutputStream(s));
|
||||
GL11.saveLocalStorage("p", s.toByteArray());
|
||||
} catch (IOException e) {
|
||||
;
|
||||
}
|
||||
}
|
||||
|
||||
public static String dumpConfiguration() {
|
||||
try {
|
||||
ByteArrayOutputStream s = new ByteArrayOutputStream();
|
||||
NBTBase.writeTag(gameSettingsStorage, new DataOutputStream(s));
|
||||
return Base64.encodeBase64String(s.toByteArray());
|
||||
} catch(Throwable e) {
|
||||
return "<error>";
|
||||
}
|
||||
}
|
||||
|
||||
}
|
130
src/teavm/java/net/PeytonPlayz595/nbt/NBTBase.java
Normal file
130
src/teavm/java/net/PeytonPlayz595/nbt/NBTBase.java
Normal file
|
@ -0,0 +1,130 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public abstract class NBTBase {
|
||||
|
||||
public NBTBase() {
|
||||
key = null;
|
||||
}
|
||||
|
||||
abstract void writeTagContents(DataOutput dataoutput) throws IOException;
|
||||
|
||||
abstract void readTagContents(DataInput datainput) throws IOException;
|
||||
|
||||
public abstract byte getType();
|
||||
|
||||
public String getKey() {
|
||||
if (key == null) {
|
||||
return "";
|
||||
} else {
|
||||
return key;
|
||||
}
|
||||
}
|
||||
|
||||
public NBTBase setKey(String s) {
|
||||
key = s;
|
||||
return this;
|
||||
}
|
||||
|
||||
public static NBTBase readTag(DataInput datainput) throws IOException {
|
||||
byte byte0 = datainput.readByte();
|
||||
if (byte0 == 0) {
|
||||
return new NBTTagEnd();
|
||||
} else {
|
||||
NBTBase nbtbase = createTagOfType(byte0);
|
||||
nbtbase.key = datainput.readUTF();
|
||||
nbtbase.readTagContents(datainput);
|
||||
return nbtbase;
|
||||
}
|
||||
}
|
||||
|
||||
public static void writeTag(NBTBase nbtbase, DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeByte(nbtbase.getType());
|
||||
if (nbtbase.getType() == 0) {
|
||||
return;
|
||||
} else {
|
||||
dataoutput.writeUTF(nbtbase.getKey());
|
||||
nbtbase.writeTagContents(dataoutput);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
public static NBTBase createTagOfType(byte byte0) {
|
||||
switch (byte0) {
|
||||
case 0: // '\0'
|
||||
return new NBTTagEnd();
|
||||
|
||||
case 1: // '\001'
|
||||
return new NBTTagByte();
|
||||
|
||||
case 2: // '\002'
|
||||
return new NBTTagShort();
|
||||
|
||||
case 3: // '\003'
|
||||
return new NBTTagInt();
|
||||
|
||||
case 4: // '\004'
|
||||
return new NBTTagLong();
|
||||
|
||||
case 5: // '\005'
|
||||
return new NBTTagFloat();
|
||||
|
||||
case 6: // '\006'
|
||||
return new NBTTagDouble();
|
||||
|
||||
case 7: // '\007'
|
||||
return new NBTTagByteArray();
|
||||
|
||||
case 8: // '\b'
|
||||
return new NBTTagString();
|
||||
|
||||
case 9: // '\t'
|
||||
return new NBTTagList();
|
||||
|
||||
case 10: // '\n'
|
||||
return new NBTTagCompound();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public static String getTagName(byte byte0) {
|
||||
switch (byte0) {
|
||||
case 0: // '\0'
|
||||
return "TAG_End";
|
||||
|
||||
case 1: // '\001'
|
||||
return "TAG_Byte";
|
||||
|
||||
case 2: // '\002'
|
||||
return "TAG_Short";
|
||||
|
||||
case 3: // '\003'
|
||||
return "TAG_Int";
|
||||
|
||||
case 4: // '\004'
|
||||
return "TAG_Long";
|
||||
|
||||
case 5: // '\005'
|
||||
return "TAG_Float";
|
||||
|
||||
case 6: // '\006'
|
||||
return "TAG_Double";
|
||||
|
||||
case 7: // '\007'
|
||||
return "TAG_Byte_Array";
|
||||
|
||||
case 8: // '\b'
|
||||
return "TAG_String";
|
||||
|
||||
case 9: // '\t'
|
||||
return "TAG_List";
|
||||
|
||||
case 10: // '\n'
|
||||
return "TAG_Compound";
|
||||
}
|
||||
return "UNKNOWN";
|
||||
}
|
||||
|
||||
private String key;
|
||||
}
|
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagByte.java
Normal file
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagByte.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagByte extends NBTBase {
|
||||
|
||||
public NBTTagByte() {
|
||||
}
|
||||
|
||||
public NBTTagByte(byte byte0) {
|
||||
byteValue = byte0;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeByte(byteValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
byteValue = datainput.readByte();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 1;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(byteValue).toString();
|
||||
}
|
||||
|
||||
public byte byteValue;
|
||||
}
|
34
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagByteArray.java
Normal file
34
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagByteArray.java
Normal file
|
@ -0,0 +1,34 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagByteArray extends NBTBase {
|
||||
|
||||
public NBTTagByteArray() {
|
||||
}
|
||||
|
||||
public NBTTagByteArray(byte abyte0[]) {
|
||||
byteArray = abyte0;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeInt(byteArray.length);
|
||||
dataoutput.write(byteArray);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
int i = datainput.readInt();
|
||||
byteArray = new byte[i];
|
||||
datainput.readFully(byteArray);
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 7;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("[").append(byteArray.length).append(" bytes]").toString();
|
||||
}
|
||||
|
||||
public byte byteArray[];
|
||||
}
|
182
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagCompound.java
Normal file
182
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagCompound.java
Normal file
|
@ -0,0 +1,182 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.*;
|
||||
|
||||
public class NBTTagCompound extends NBTBase {
|
||||
|
||||
public NBTTagCompound() {
|
||||
tagMap = new HashMap();
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
NBTBase nbtbase;
|
||||
for (Iterator iterator = tagMap.values().iterator(); iterator.hasNext(); NBTBase.writeTag(nbtbase,
|
||||
dataoutput)) {
|
||||
nbtbase = (NBTBase) iterator.next();
|
||||
}
|
||||
|
||||
dataoutput.writeByte(0);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
tagMap.clear();
|
||||
NBTBase nbtbase;
|
||||
for (; (nbtbase = NBTBase.readTag(datainput)).getType() != 0; tagMap.put(nbtbase.getKey(), nbtbase)) {
|
||||
}
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 10;
|
||||
}
|
||||
|
||||
public void setTag(String s, NBTBase nbtbase) {
|
||||
tagMap.put(s, nbtbase.setKey(s));
|
||||
}
|
||||
|
||||
public void setByte(String s, byte byte0) {
|
||||
tagMap.put(s, (new NBTTagByte(byte0)).setKey(s));
|
||||
}
|
||||
|
||||
public void setShort(String s, short word0) {
|
||||
tagMap.put(s, (new NBTTagShort(word0)).setKey(s));
|
||||
}
|
||||
|
||||
public void setInteger(String s, int i) {
|
||||
tagMap.put(s, (new NBTTagInt(i)).setKey(s));
|
||||
}
|
||||
|
||||
public void setLong(String s, long l) {
|
||||
tagMap.put(s, (new NBTTagLong(l)).setKey(s));
|
||||
}
|
||||
|
||||
public void setFloat(String s, float f) {
|
||||
tagMap.put(s, (new NBTTagFloat(f)).setKey(s));
|
||||
}
|
||||
|
||||
public void setDouble(String s, double d) {
|
||||
tagMap.put(s, (new NBTTagDouble(d)).setKey(s));
|
||||
}
|
||||
|
||||
public void setString(String s, String s1) {
|
||||
tagMap.put(s, (new NBTTagString(s1)).setKey(s));
|
||||
}
|
||||
|
||||
public void setByteArray(String s, byte abyte0[]) {
|
||||
tagMap.put(s, (new NBTTagByteArray(abyte0)).setKey(s));
|
||||
}
|
||||
|
||||
public void setCompoundTag(String s, NBTTagCompound nbttagcompound) {
|
||||
tagMap.put(s, nbttagcompound.setKey(s));
|
||||
}
|
||||
|
||||
public void setBoolean(String s, boolean flag) {
|
||||
setByte(s, ((byte) (flag ? 1 : 0)));
|
||||
}
|
||||
|
||||
public boolean hasKey(String s) {
|
||||
return tagMap.containsKey(s);
|
||||
}
|
||||
|
||||
public byte getByte(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return 0;
|
||||
} else {
|
||||
return ((NBTTagByte) tagMap.get(s)).byteValue;
|
||||
}
|
||||
}
|
||||
|
||||
public short getShort(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return 0;
|
||||
} else {
|
||||
return ((NBTTagShort) tagMap.get(s)).shortValue;
|
||||
}
|
||||
}
|
||||
|
||||
public int getInteger(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return 0;
|
||||
} else {
|
||||
return ((NBTTagInt) tagMap.get(s)).intValue;
|
||||
}
|
||||
}
|
||||
|
||||
public long getLong(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return 0L;
|
||||
} else {
|
||||
return ((NBTTagLong) tagMap.get(s)).longValue;
|
||||
}
|
||||
}
|
||||
|
||||
public float getFloat(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return 0.0F;
|
||||
} else {
|
||||
return ((NBTTagFloat) tagMap.get(s)).floatValue;
|
||||
}
|
||||
}
|
||||
|
||||
public double getDouble(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return 0.0D;
|
||||
} else {
|
||||
return ((NBTTagDouble) tagMap.get(s)).doubleValue;
|
||||
}
|
||||
}
|
||||
|
||||
public String getString(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return "";
|
||||
} else {
|
||||
return ((NBTTagString) tagMap.get(s)).stringValue;
|
||||
}
|
||||
}
|
||||
|
||||
public byte[] getByteArray(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return new byte[0];
|
||||
} else {
|
||||
return ((NBTTagByteArray) tagMap.get(s)).byteArray;
|
||||
}
|
||||
}
|
||||
|
||||
public NBTTagCompound getCompoundTag(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return new NBTTagCompound();
|
||||
} else {
|
||||
return (NBTTagCompound) tagMap.get(s);
|
||||
}
|
||||
}
|
||||
|
||||
public NBTTagList getTagList(String s) {
|
||||
if (!tagMap.containsKey(s)) {
|
||||
return new NBTTagList();
|
||||
} else {
|
||||
return (NBTTagList) tagMap.get(s);
|
||||
}
|
||||
}
|
||||
|
||||
public boolean getBoolean(String s) {
|
||||
return getByte(s) != 0;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(tagMap.size()).append(" entries").toString();
|
||||
}
|
||||
|
||||
public boolean hasNoTags() {
|
||||
return tagMap.size() == 0;
|
||||
}
|
||||
|
||||
private Map tagMap;
|
||||
|
||||
public NBTBase getTag(String s) {
|
||||
return (NBTBase) tagMap.get(s);
|
||||
}
|
||||
|
||||
public static Map<String,NBTBase> getTagMap(NBTTagCompound nb) {
|
||||
return nb.tagMap;
|
||||
}
|
||||
}
|
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagDouble.java
Normal file
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagDouble.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagDouble extends NBTBase {
|
||||
|
||||
public NBTTagDouble() {
|
||||
}
|
||||
|
||||
public NBTTagDouble(double d) {
|
||||
doubleValue = d;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeDouble(doubleValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
doubleValue = datainput.readDouble();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 6;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(doubleValue).toString();
|
||||
}
|
||||
|
||||
public double doubleValue;
|
||||
}
|
23
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagEnd.java
Normal file
23
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagEnd.java
Normal file
|
@ -0,0 +1,23 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagEnd extends NBTBase {
|
||||
|
||||
public NBTTagEnd() {
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 0;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return "END";
|
||||
}
|
||||
}
|
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagFloat.java
Normal file
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagFloat.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagFloat extends NBTBase {
|
||||
|
||||
public NBTTagFloat() {
|
||||
}
|
||||
|
||||
public NBTTagFloat(float f) {
|
||||
floatValue = f;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeFloat(floatValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
floatValue = datainput.readFloat();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 5;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(floatValue).toString();
|
||||
}
|
||||
|
||||
public float floatValue;
|
||||
}
|
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagInt.java
Normal file
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagInt.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagInt extends NBTBase {
|
||||
|
||||
public NBTTagInt() {
|
||||
}
|
||||
|
||||
public NBTTagInt(int i) {
|
||||
intValue = i;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeInt(intValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
intValue = datainput.readInt();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 3;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(intValue).toString();
|
||||
}
|
||||
|
||||
public int intValue;
|
||||
}
|
63
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagList.java
Normal file
63
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagList.java
Normal file
|
@ -0,0 +1,63 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
public class NBTTagList extends NBTBase {
|
||||
|
||||
public NBTTagList() {
|
||||
tagList = new ArrayList();
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
if (tagList.size() > 0) {
|
||||
tagType = ((NBTBase) tagList.get(0)).getType();
|
||||
} else {
|
||||
tagType = 1;
|
||||
}
|
||||
dataoutput.writeByte(tagType);
|
||||
dataoutput.writeInt(tagList.size());
|
||||
for (int i = 0; i < tagList.size(); i++) {
|
||||
((NBTBase) tagList.get(i)).writeTagContents(dataoutput);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
tagType = datainput.readByte();
|
||||
int i = datainput.readInt();
|
||||
tagList = new ArrayList();
|
||||
for (int j = 0; j < i; j++) {
|
||||
NBTBase nbtbase = NBTBase.createTagOfType(tagType);
|
||||
nbtbase.readTagContents(datainput);
|
||||
tagList.add(nbtbase);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 9;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(tagList.size()).append(" entries of type ")
|
||||
.append(NBTBase.getTagName(tagType)).toString();
|
||||
}
|
||||
|
||||
public void setTag(NBTBase nbtbase) {
|
||||
tagType = nbtbase.getType();
|
||||
tagList.add(nbtbase);
|
||||
}
|
||||
|
||||
public NBTBase tagAt(int i) {
|
||||
return (NBTBase) tagList.get(i);
|
||||
}
|
||||
|
||||
public int tagCount() {
|
||||
return tagList.size();
|
||||
}
|
||||
|
||||
private List tagList;
|
||||
private byte tagType;
|
||||
}
|
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagLong.java
Normal file
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagLong.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagLong extends NBTBase {
|
||||
|
||||
public NBTTagLong() {
|
||||
}
|
||||
|
||||
public NBTTagLong(long l) {
|
||||
longValue = l;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeLong(longValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
longValue = datainput.readLong();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 4;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(longValue).toString();
|
||||
}
|
||||
|
||||
public long longValue;
|
||||
}
|
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagShort.java
Normal file
31
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagShort.java
Normal file
|
@ -0,0 +1,31 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagShort extends NBTBase {
|
||||
|
||||
public NBTTagShort() {
|
||||
}
|
||||
|
||||
public NBTTagShort(short word0) {
|
||||
shortValue = word0;
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeShort(shortValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
shortValue = datainput.readShort();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 2;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(shortValue).toString();
|
||||
}
|
||||
|
||||
public short shortValue;
|
||||
}
|
36
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagString.java
Normal file
36
src/teavm/java/net/PeytonPlayz595/nbt/NBTTagString.java
Normal file
|
@ -0,0 +1,36 @@
|
|||
package net.PeytonPlayz595.nbt;
|
||||
|
||||
import java.io.*;
|
||||
|
||||
public class NBTTagString extends NBTBase {
|
||||
|
||||
public NBTTagString() {
|
||||
}
|
||||
|
||||
public NBTTagString(String s) {
|
||||
stringValue = s;
|
||||
if (s == null) {
|
||||
throw new IllegalArgumentException("Empty string not allowed");
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void writeTagContents(DataOutput dataoutput) throws IOException {
|
||||
dataoutput.writeUTF(stringValue);
|
||||
}
|
||||
|
||||
void readTagContents(DataInput datainput) throws IOException {
|
||||
stringValue = datainput.readUTF();
|
||||
}
|
||||
|
||||
public byte getType() {
|
||||
return 8;
|
||||
}
|
||||
|
||||
public String toString() {
|
||||
return (new StringBuilder()).append("").append(stringValue).toString();
|
||||
}
|
||||
|
||||
public String stringValue;
|
||||
}
|
|
@ -13,6 +13,7 @@ import org.teavm.jso.dom.html.HTMLElement;
|
|||
import com.mojang.minecraft.Minecraft;
|
||||
import com.mojang.minecraft.SessionData;
|
||||
|
||||
import net.PeytonPlayz585.storage.LocalStorageManager;
|
||||
import net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2;
|
||||
|
||||
public class Client {
|
||||
|
@ -46,6 +47,7 @@ public class Client {
|
|||
private static void run0() {
|
||||
System.out.println(" -------- starting minecraft -------- ");
|
||||
instance = new Minecraft();
|
||||
LocalStorageManager.loadStorage();
|
||||
run1();
|
||||
}
|
||||
|
||||
|
|
|
@ -63,6 +63,7 @@ import org.teavm.jso.websocket.WebSocket;
|
|||
import net.lax1dude.eaglercraft.adapter.teavm.WebGLQuery;
|
||||
import net.lax1dude.eaglercraft.adapter.teavm.WebGLVertexArray;
|
||||
import net.PeytonPlayz585.math.MathHelper;
|
||||
import net.PeytonPlayz585.storage.LocalStorageManager;
|
||||
import net.lax1dude.eaglercraft.AssetRepository;
|
||||
import net.lax1dude.eaglercraft.Base64;
|
||||
import net.lax1dude.eaglercraft.Client;
|
||||
|
@ -114,6 +115,14 @@ public class EaglerAdapterImpl2 {
|
|||
}
|
||||
}
|
||||
|
||||
public static void onWindowUnload() {
|
||||
LocalStorageManager.saveStorageG();
|
||||
LocalStorageManager.saveStorageP();
|
||||
}
|
||||
|
||||
@JSBody(params = { }, script = "window.onbeforeunload = function(){javaMethods.get('net.lax1dude.eaglercraft.adapter.EaglerAdapterImpl2.onWindowUnload()V').invoke();return false;};")
|
||||
private static native void onBeforeCloseRegister();
|
||||
|
||||
public static final String[] fileContentsLines(String path) {
|
||||
String contents = fileContents(path);
|
||||
if(contents == null) {
|
||||
|
@ -306,10 +315,9 @@ public class EaglerAdapterImpl2 {
|
|||
forceMouseGrabbed();
|
||||
}
|
||||
});
|
||||
onBeforeCloseRegister();
|
||||
initFileChooser();
|
||||
|
||||
//EarlyLoadScreen.paintScreen();
|
||||
|
||||
OpenState st = IndexedDBFilesystem.initialize();
|
||||
if(st != OpenState.OPENED) {
|
||||
if(st == OpenState.LOCKED) {
|
||||
|
@ -328,20 +336,6 @@ public class EaglerAdapterImpl2 {
|
|||
e.printStackTrace();
|
||||
}
|
||||
|
||||
// if(mouseEvents.isEmpty() && keyEvents.isEmpty() && !hasBeenActive()) {
|
||||
// EarlyLoadScreen.paintEnable();
|
||||
//
|
||||
// while(mouseEvents.isEmpty() && keyEvents.isEmpty()) {
|
||||
// try {
|
||||
// Thread.sleep(100l);
|
||||
// } catch (InterruptedException e) {
|
||||
// ;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
audioctx = AudioContext.create();
|
||||
|
||||
mouseEvents.clear();
|
||||
keyEvents.clear();
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user