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); + } }