diff --git a/.classpath b/.classpath
index 40d1e5f..f5c3e4a 100644
--- a/.classpath
+++ b/.classpath
@@ -12,8 +12,6 @@
-
-
diff --git a/Readme.MD b/Readme.MD
index 723ad7b..546df05 100644
--- a/Readme.MD
+++ b/Readme.MD
@@ -1,16 +1,20 @@
-#### LiteCraft
+### LiteCraft
A lightweight, singleplayer only Minecraft clone
+Aims to be on-par with Minecraft 1.2.5 (Just before they started using integrated servers), in terms of quality, with thousands of lines less code, and quite a few less bugs.
-### Goals:
+#### Goals:
- Learn the (old) Minecraft codebase inside and out
- Practice Java and learn new techniques
- Create a clone of Minecraft with as little original code and as many open-source
libraries as possible
+ - Use a mainly data-driven structure, allowing for easier additions (and removals) of features, saving custom classes for only really unique features. (So all farmable mobs would share the same class, for instance.)
-### Planned Changes from Vanilla Minecraft
+#### Planned Feature Changes from Vanilla Minecraft
- No more multiplayer. (It adds a lot of lines of code, as well as requiring an entirely
different app for a server.)
- No more "End" (It's a uniquely Minecraft thing, we need to distance ourselves from
the IP a bit)
- Pretty much any creature, monster, item, block, dimension that's unique to Minecraft will not
- be present either.
\ No newline at end of file
+ be present either.
+ - These features will be replaced by our own original ideas, or some more generic ones, instead.
+ - Only built-in texture packs. This allows us to write fewer lines of code to process custom resources.
\ No newline at end of file
diff --git a/lib/bwyap-engine.jar b/lib/bwyap-engine.jar
deleted file mode 100644
index e8dc6a6..0000000
Binary files a/lib/bwyap-engine.jar and /dev/null differ
diff --git a/lib/bywap-engine-src.zip b/lib/bywap-engine-src.zip
deleted file mode 100644
index 943cb7a..0000000
Binary files a/lib/bywap-engine-src.zip and /dev/null differ
diff --git a/lib/joml-1.9.16.jar b/lib/joml-1.9.16.jar
deleted file mode 100644
index d459d7e..0000000
Binary files a/lib/joml-1.9.16.jar and /dev/null differ
diff --git a/lib/json-simple-1.1.1.jar b/lib/json-simple-1.1.1.jar
deleted file mode 100644
index 66347a6..0000000
Binary files a/lib/json-simple-1.1.1.jar and /dev/null differ
diff --git a/lib/lwjgl-glfw.jar b/lib/lwjgl-glfw.jar
deleted file mode 100644
index 00199c1..0000000
Binary files a/lib/lwjgl-glfw.jar and /dev/null differ
diff --git a/lib/lwjgl-opengl.jar b/lib/lwjgl-opengl.jar
deleted file mode 100644
index a24d455..0000000
Binary files a/lib/lwjgl-opengl.jar and /dev/null differ
diff --git a/lib/lwjgl.jar b/lib/lwjgl.jar
deleted file mode 100644
index ff4a75f..0000000
Binary files a/lib/lwjgl.jar and /dev/null differ
diff --git a/pom.xml b/pom.xml
index 90140d7..9e7844f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,7 +47,7 @@
org.lwjgllwjgl-opengl${lwjgl.natives}
org.jomljoml${joml.version}
com.google.code.gsongson${gson.version}
-
+ net.sourceforge.argoargo5.5
org.spongepowerednoise2.0.0-SNAPSHOT
\ No newline at end of file
diff --git a/src/com/github/halotroop/litecraft/LCWindow.java b/src/com/github/halotroop/litecraft/LCWindow.java
index 6361106..f9ef5cd 100644
--- a/src/com/github/halotroop/litecraft/LCWindow.java
+++ b/src/com/github/halotroop/litecraft/LCWindow.java
@@ -1,5 +1,6 @@
package com.github.halotroop.litecraft;
+import java.nio.ByteBuffer;
import java.nio.IntBuffer;
import org.joml.Vector2f;
@@ -8,64 +9,62 @@ import org.lwjgl.glfw.*;
import org.lwjgl.opengl.*;
import org.lwjgl.system.MemoryStack;
-import com.bwyap.engine.EngineInterface;
-import com.bwyap.engine.input.InputHandler;
-import com.bwyap.engine.window.WindowInterface;
+import com.github.halotroop.litecraft.types.gui.MainMenu;
-public class LCWindow extends com.bwyap.engine.window.Window
+public class LCWindow
{
private long windowLong;
-
- public long getWindowLong()
- { return windowLong; }
-
- public void setWindowLong(long window)
- { this.windowLong = window; }
-
- public LCWindow(int width, int height)
+ public long getWindowLong() { return windowLong; }
+
+ private String title;
+ protected void setWindowTitle(String title) { this.title = title; }
+ public String getWindowTitle() { return title; }
+
+ private int width, height;
+ public int getWidth() { return width; }
+ public int getHeight() { return height; }
+ public void setWidth(int width) { this.width = width; }
+ public void setHeight(int height) { this.height = height; }
+ public void setWidthAndHeight(int width, int height)
{
- super(width, height, "LiteCraft", true);
+ this.width = width;
+ this.height = height;
+ }
+
+ public LCWindow(int width, int height, String title)
+ {
+ setWindowTitle(title);
+ setWidthAndHeight(width, height);
init();
start();
}
- @Override
+ public LCWindow(int width, int height)
+ {
+ this(width, height, "LiteCraft");
+ }
+
public boolean shouldClose()
{
return false;
}
- @Override
- public void processEvents()
- {
-
- }
-
- @Override
public void swapDisplayBuffers()
{
}
- @Override
- public EngineInterface createEngine() throws Exception
- {
- return null;
- }
-
- @Override
public void init()
{
GLFW.glfwDefaultWindowHints();
GLFW.glfwWindowHint(GLFW.GLFW_RESIZABLE, 1);
// Create the window
- windowLong = GLFW.glfwCreateWindow(getWidth(), getHeight(), getDefaultTitle(), 0, 0);
+ this.windowLong = GLFW.glfwCreateWindow(getWidth(), getHeight(), getWindowTitle(), 0, 0);
if (windowLong == 0) throw new RuntimeException("Failed to create the GLFW window");
}
- @Override
public void start()
{
// Get the thread stack and push a new frame
@@ -88,17 +87,9 @@ public class LCWindow extends com.bwyap.engine.window.Window
}
}
- @Override
public void dispose()
{
Callbacks.glfwFreeCallbacks(windowLong);
GLFW.glfwDestroyWindow(windowLong);
}
-
- @Override
- protected void setWindowTitle(String title)
- {
- super.setDefaultTitle(title);
- }
-
}
\ No newline at end of file
diff --git a/src/com/github/halotroop/litecraft/LiteCraftMain.java b/src/com/github/halotroop/litecraft/LiteCraftMain.java
index 583527a..78325dc 100644
--- a/src/com/github/halotroop/litecraft/LiteCraftMain.java
+++ b/src/com/github/halotroop/litecraft/LiteCraftMain.java
@@ -30,7 +30,7 @@ public class LiteCraftMain
if (!GLFW.glfwInit()) throw new IllegalStateException("Unable to initialize GLFW");
// Configure GLFW
window = new LCWindow(width, height);
- window.setDefaultTitle("LiteCraft " + "INSERT SPLASH TEXT HERE!");
+ window.setWindowTitle("LiteCraft " + "INSERT SPLASH TEXT HERE!");
// Setup a key callback. It will be called every time a key is pressed, repeated or released.
GLFW.glfwSetKeyCallback(window.getWindowLong(), (window, key, scancode, action, mods) ->
diff --git a/src/com/github/halotroop/litecraft/types/entity/Entity.java b/src/com/github/halotroop/litecraft/types/entity/Entity.java
new file mode 100644
index 0000000..e56e0b7
--- /dev/null
+++ b/src/com/github/halotroop/litecraft/types/entity/Entity.java
@@ -0,0 +1,9 @@
+package com.github.halotroop.litecraft.types.entity;
+
+public abstract class Entity
+{
+ public Entity(String id, String type)
+ {
+
+ }
+}
diff --git a/src/com/github/halotroop/litecraft/types/gui/HUD.java b/src/com/github/halotroop/litecraft/types/gui/HUD.java
index 7ced3a1..bf6ba12 100644
--- a/src/com/github/halotroop/litecraft/types/gui/HUD.java
+++ b/src/com/github/halotroop/litecraft/types/gui/HUD.java
@@ -1,11 +1,9 @@
package com.github.halotroop.litecraft.types.gui;
-import com.bwyap.engine.gui.GUI;
-
-public abstract class HUD extends GUI
+public abstract class HUD
{
- public HUD(float width, float height)
+ public HUD()
{
- super(width, height);
+
}
}
diff --git a/src/com/github/halotroop/litecraft/types/gui/MainMenu.java b/src/com/github/halotroop/litecraft/types/gui/MainMenu.java
index a094394..c2fc80c 100644
--- a/src/com/github/halotroop/litecraft/types/gui/MainMenu.java
+++ b/src/com/github/halotroop/litecraft/types/gui/MainMenu.java
@@ -1,21 +1,11 @@
package com.github.halotroop.litecraft.types.gui;
-import com.bwyap.engine.gui.GUI;
-import com.bwyap.engine.gui.element.TexturedButton;
-import com.bwyap.engine.gui.element.base.Button;
-
public class MainMenu extends Menu
{
- public MainMenu(float width, float height)
+
+ public MainMenu()
{
- super(width, height);
- Button b = new TexturedButton(20, 20, 100, 100)
- {
- @Override
- public void onMouseClicked(float x, float y, int mouseButton)
- {
- // TODO Auto-generated method stub
- }
- };
+ super();
}
+
}
diff --git a/src/com/github/halotroop/litecraft/types/gui/Menu.java b/src/com/github/halotroop/litecraft/types/gui/Menu.java
index 225dcf2..00e7976 100644
--- a/src/com/github/halotroop/litecraft/types/gui/Menu.java
+++ b/src/com/github/halotroop/litecraft/types/gui/Menu.java
@@ -1,11 +1,9 @@
package com.github.halotroop.litecraft.types.gui;
-import com.bwyap.engine.gui.GUI;
-
-public abstract class Menu extends GUI
+public abstract class Menu
{
- public Menu(float width, float height)
+ public Menu()
{
- super(width, height);
+
}
}