diff --git a/.git-submodules/spigot-docker-build-tools b/.git-submodules/spigot-docker-build-tools
new file mode 160000
index 0000000..0ed0246
--- /dev/null
+++ b/.git-submodules/spigot-docker-build-tools
@@ -0,0 +1 @@
+Subproject commit 0ed02463e7e0c07347eb847117112badbff78133
diff --git a/.gitignore b/.gitignore
index 475016f..d5c8323 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,12 +2,4 @@
.project
target
.settings
-chunks
-new_chunks
-images
-chunk_models
-chunk_models_new
-chunks_test
-chunk_models_test
-facets
-polygons
+data
\ No newline at end of file
diff --git a/.gitmodules b/.gitmodules
new file mode 100644
index 0000000..a6a85b3
--- /dev/null
+++ b/.gitmodules
@@ -0,0 +1,3 @@
+[submodule ".git-submodules/spigot-docker-build-tools"]
+ path = .git-submodules/spigot-docker-build-tools
+ url = https://git.048596.world/banana/spigot-docker-build-tools.git
diff --git a/core/pom.xml b/core/pom.xml
new file mode 100644
index 0000000..34c0f37
--- /dev/null
+++ b/core/pom.xml
@@ -0,0 +1,25 @@
+
+ 4.0.0
+
+ com.aaaaahhhhhhh.bananapuncher714
+ mc-mesh-master
+ 1.0.0
+
+ mc-mesh-core
+ 0.0.1
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.1
+
+ 8
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java
similarity index 98%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java
index 596b7bd..999f930 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java
+++ b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java
@@ -5,6 +5,7 @@ import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.Deque;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
@@ -70,6 +71,9 @@ import com.aaaaahhhhhhh.bananapuncher714.mesh.region.RegionRule;
*
* The time complexity for the entire algorithm should be roughly O(n^2logn).
*
+ * To use this class, you can add your polygons then call meshify() which will return
+ * a list of triangles.
+ *
* TODO Remove guaranteed checks or add some compile time thing to remove
*
* @author BananaPuncher714
@@ -80,6 +84,10 @@ public class Mesh< T extends Region > {
public static final double CROSS_TOLERANCE = Math.sin( ANGLE_TOLERANCE );
// Point to vertex map, to avoid duplicating vertices when inserting polygons
+ // Not strictly necessary, since it is only used when adding polygons, and
+ // vertices with the exact same point will end up getting merged anyways.
+ // TODO Consider removing this, since it does require keeping track of vertices
+ // that we may no longer care about and want removed.
protected Map< Point, Vertex > vertexMap = new HashMap< Point, Vertex >();
// All points in the graph
@@ -107,15 +115,34 @@ public class Mesh< T extends Region > {
*
* @param poly
* @param rule
+ *
+ * @return The amount of points added
*/
- public void addPolygon( final Polygon poly, final RegionRule< T > rule ) {
- // Is it at least a triangle?
- if ( poly.getPoints().size() < 3 ) {
- return;
+ public int addPolygon( final Polygon poly, final RegionRule< T > rule ) {
+ // Remove consecutive points that are the same, to prevent zero edges
+ final Deque< Point > points = new ArrayDeque< Point >();
+ for ( int i = 0; i < poly.points.size(); ++i ) {
+ final Point point = poly.points.get( i );
+
+ if ( points.isEmpty() || !points.getLast().equals( point ) ) {
+ points.add( point );
+ }
}
-
+
+ // Check for the edge case where the last point is the same as the first
+ if ( points.size() > 1 ) {
+ if ( points.getFirst().equals( points.getLast() ) ) {
+ points.removeLast();
+ }
+ }
+
+ // Is it at least a triangle?
+ if ( points.size() < 3 ) {
+ return 0;
+ }
+
HalfEdge edge = null;
- for ( final Point point : poly.getPoints() ) {
+ for ( final Point point : points ) {
if ( edge == null ) {
edge = new HalfEdge();
HalfEdge.splice( edge, edge.getSym() );
@@ -127,9 +154,12 @@ public class Mesh< T extends Region > {
final Vertex vertex = vertexMap.get( point );
if ( vertex != null ) {
HalfEdge.splice( edge.getPrev(), vertex.getEdge() );
+
+ edge.setOrigin( vertex );
} else {
edge.getOrigin().setPosition( new Vector2d( point ) );
+ vertexMap.put( point, edge.getOrigin() );
vertices.add( edge.getOrigin() );
}
@@ -138,6 +168,16 @@ public class Mesh< T extends Region > {
state = MeshState.DIRTY;
}
+
+ /*
+ * Invariants:
+ * - No vertices have the same x and y
+ * - All edges have a winding rule
+ * - All vertices are attached to a non-zero even number of edges
+ * - No edges have length 0
+ */
+
+ return points.size();
}
public boolean addPartitionHandler( final MeshPartitionEventHandler handler ) {
@@ -337,10 +377,10 @@ public class Mesh< T extends Region > {
}
} );
vertexSet.addAll( vertices );
-
+
// Need to update vertices if using the vertex map when inserting polygons
vertexSet.parallelStream().forEach( Vertex::update );
-
+
// Do a quick merging of edges so we don't have to deal with them later
// Not really necessary, but _may_ offer a speedup.
// mergeOverlappingEdges( vertexSet );
@@ -358,8 +398,6 @@ public class Mesh< T extends Region > {
// This set contains the non-redundant vertices.
final Set< Vertex > scannedVertices = new HashSet< Vertex >();
- // TODO Remove zero edges
-
while ( !vertexSet.isEmpty() ) {
final Vertex vertex = vertexSet.pollFirst();
final Vector2d pos = vertex.getPosition();
@@ -483,6 +521,10 @@ public class Mesh< T extends Region > {
// Update the list of vertices with our new updated list of vertices
vertices = scannedVertices;
+
+ // Update the vertex map
+ vertexMap.clear();
+ vertices.forEach( v -> vertexMap.put( v.getPosition(), v ) );
/*
* At this point, each vertex should be merged and moved to the
@@ -492,7 +534,7 @@ public class Mesh< T extends Region > {
* Invariants:
* - All vertices are at least VERTEX_TOLERANCE away from each other
* - All vertices are at least VERTEX_TOLERANCE away from each other horizontally
- * - All vertices will not be moved after this
+ * - No vertices will be moved after this
* - No vertices have only 1 edge
* - No vertices are within VERTEX_TOLERANCE of another edge which they are not part of
* - No edges have length of 0
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java b/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java
rename to core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java
diff --git a/install.sh b/install.sh
new file mode 100644
index 0000000..b79ffc7
--- /dev/null
+++ b/install.sh
@@ -0,0 +1,14 @@
+#!/usr/bin/env bash
+
+export REV="1.21.11"
+export M2_DIRECTORY="$M2_REPOSITORY"
+export BUILD_DIRECTORY="$ARTIFACT_DIRECTORY"
+export JAVA_VERSION="21"
+
+REPOSITORY_DIR=$(dirname "$0")
+
+cd "$REPOSITORY_DIR"
+
+git submodule update --init --recursive --remote
+
+./.git-submodules/spigot-docker-build-tools/run.sh mvn clean package
\ No newline at end of file
diff --git a/plugin/dependency-reduced-pom.xml b/plugin/dependency-reduced-pom.xml
new file mode 100644
index 0000000..dc5770b
--- /dev/null
+++ b/plugin/dependency-reduced-pom.xml
@@ -0,0 +1,253 @@
+
+
+
+ mc-mesh-master
+ com.aaaaahhhhhhh.bananapuncher714
+ 1.0.0
+
+ 4.0.0
+ mc-mesh-plugin
+ 0.0.1-SNAPSHOT
+
+
+
+ maven-shade-plugin
+ 3.1.0
+
+
+ package
+
+ shade
+
+
+
+
+
+ maven-compiler-plugin
+ 3.14.1
+
+ 21
+
+
+
+ maven-jar-plugin
+ 3.5.0
+
+
+
+ true
+ com.aaaaahhhhhhh.bananapuncher714.minietest.MeshingTest6
+
+
+
+
+
+
+
+
+ org.spigotmc
+ spigot
+ 1.21.10-R0.1-SNAPSHOT
+ provided
+
+
+ spigot-api
+ org.spigotmc
+
+
+ jline
+ org.jline
+
+
+ log4j-iostreams
+ org.apache.logging.log4j
+
+
+ asm-commons
+ org.ow2.asm
+
+
+ jackson-annotations
+ com.fasterxml.jackson.core
+
+
+ jackson-core
+ com.fasterxml.jackson.core
+
+
+ jackson-databind
+ com.fasterxml.jackson.core
+
+
+ oshi-core
+ com.github.oshi
+
+
+ jcip-annotations
+ com.github.stephenc.jcip
+
+
+ msal4j
+ com.microsoft.azure
+
+
+ authlib
+ com.mojang
+
+
+ brigadier
+ com.mojang
+
+
+ datafixerupper
+ com.mojang
+
+
+ jtracy
+ com.mojang
+
+
+ logging
+ com.mojang
+
+
+ content-type
+ com.nimbusds
+
+
+ lang-tag
+ com.nimbusds
+
+
+ nimbus-jose-jwt
+ com.nimbusds
+
+
+ oauth2-oidc-sdk
+ com.nimbusds
+
+
+ commons-io
+ commons-io
+
+
+ netty-buffer
+ io.netty
+
+
+ netty-codec
+ io.netty
+
+
+ netty-codec-http
+ io.netty
+
+
+ netty-common
+ io.netty
+
+
+ netty-handler
+ io.netty
+
+
+ netty-resolver
+ io.netty
+
+
+ netty-transport
+ io.netty
+
+
+ netty-transport-classes-epoll
+ io.netty
+
+
+ netty-transport-native-epoll
+ io.netty
+
+
+ netty-transport-native-epoll
+ io.netty
+
+
+ netty-transport-native-unix-common
+ io.netty
+
+
+ fastutil
+ it.unimi.dsi
+
+
+ jna
+ net.java.dev.jna
+
+
+ jna-platform
+ net.java.dev.jna
+
+
+ accessors-smart
+ net.minidev
+
+
+ json-smart
+ net.minidev
+
+
+ jopt-simple
+ net.sf.jopt-simple
+
+
+ commons-lang3
+ org.apache.commons
+
+
+ log4j-api
+ org.apache.logging.log4j
+
+
+ log4j-core
+ org.apache.logging.log4j
+
+
+ log4j-slf4j2-impl
+ org.apache.logging.log4j
+
+
+ lz4-java
+ org.lz4
+
+
+ commons-lang
+ commons-lang
+
+
+ json-simple
+ com.googlecode.json-simple
+
+
+ sqlite-jdbc
+ org.xerial
+
+
+ mysql-connector-j
+ com.mysql
+
+
+ maven-resolver-provider
+ org.apache.maven
+
+
+ maven-resolver-connector-basic
+ org.apache.maven.resolver
+
+
+ maven-resolver-transport-http
+ org.apache.maven.resolver
+
+
+
+
+
+
diff --git a/plugin/pom.xml b/plugin/pom.xml
new file mode 100644
index 0000000..7444bfd
--- /dev/null
+++ b/plugin/pom.xml
@@ -0,0 +1,78 @@
+
+ 4.0.0
+
+ com.aaaaahhhhhhh.bananapuncher714
+ mc-mesh-master
+ 1.0.0
+
+ mc-mesh-plugin
+ 0.0.1-SNAPSHOT
+
+
+
+ org.spigotmc
+ spigot
+ 1.21.10-R0.1-SNAPSHOT
+ provided
+
+
+ com.github.stephengold
+ Minie
+ 9.0.1
+ compile
+
+
+ org.scijava
+ native-lib-loader
+ 2.4.0
+ compile
+
+
+ com.aaaaahhhhhhh.bananapuncher714
+ mc-mesh-core
+ 0.0.1
+ compile
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.1.0
+
+
+ package
+
+ shade
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.1
+
+ 21
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ 3.5.0
+
+
+
+ true
+ com.aaaaahhhhhhh.bananapuncher714.minietest.MeshingTest6
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshTest.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshTest.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshTest.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshTest.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest2.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest2.java
similarity index 97%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest2.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest2.java
index 91101e9..36f49e5 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest2.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest2.java
@@ -53,6 +53,9 @@ import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Facet;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.MeshBuilder;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Plane;
+/**
+ * Chunk data meshing visualizer
+ */
public class MeshingTest2 extends JPanel {
private static final File BASE = new File( System.getProperty( "user.dir" ) );
private static final File CHUNK_DIR = new File( BASE, "chunks" );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest3.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest3.java
similarity index 99%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest3.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest3.java
index 3293a92..429a080 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest3.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest3.java
@@ -24,6 +24,9 @@ import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Facet;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.MeshBuilder;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Plane;
+/**
+ * Mesh speed test
+ */
public class MeshingTest3 {
private static final File BASE = new File( System.getProperty( "user.dir" ) );
private static final File CHUNK_DIR = new File( BASE, "chunks" );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest4.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest4.java
similarity index 99%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest4.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest4.java
index 222e8fd..46bfcff 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest4.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest4.java
@@ -32,6 +32,9 @@ import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Facet;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.MeshBuilder;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Plane;
+/**
+ * Mesh chunk data to ply2 format
+ */
public class MeshingTest4 {
private static final File BASE = new File( System.getProperty( "user.dir" ) );
private static final File CHUNK_DIR = new File( BASE, "chunks" );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest5.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest5.java
similarity index 99%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest5.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest5.java
index 46701e7..6817642 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest5.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest5.java
@@ -27,6 +27,9 @@ import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Facet;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.MeshBuilder;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Plane;
+/**
+ * Mesh speed test for facets
+ */
public class MeshingTest5 {
private static final File BASE = new File( System.getProperty( "user.dir" ) );
private static final File FACET_DIR = new File( BASE, "facets" );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest6.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest6.java
similarity index 97%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest6.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest6.java
index efad81e..5ffa52d 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest6.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest6.java
@@ -52,6 +52,9 @@ import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Facet;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.MeshBuilder;
import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.mesh.Plane;
+/**
+ * Facet meshing visualizer
+ */
public class MeshingTest6 extends JPanel {
private static final File BASE = new File( System.getProperty( "user.dir" ) );
private static final File FACET_DIR = new File( BASE, "facets" );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest7.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest7.java
similarity index 99%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest7.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest7.java
index a749b33..050f7ca 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest7.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MeshingTest7.java
@@ -18,6 +18,9 @@ import com.aaaaahhhhhhh.bananapuncher714.mesh.region.simple.RegionRuleWinding;
import com.aaaaahhhhhhh.bananapuncher714.mesh.region.simple.RegionSimple;
import com.aaaaahhhhhhh.bananapuncher714.mesh.region.simple.RegionSimple.GluWindingRule;
+/**
+ * Mesh speed test for polygons
+ */
public class MeshingTest7 {
private static final File BASE = new File( System.getProperty( "user.dir" ) );
private static final File POLYGON_DIR = new File( BASE, "polygons" );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java
similarity index 97%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java
index ece9f17..d48f375 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java
@@ -37,8 +37,8 @@ import org.bukkit.block.Block;
import org.bukkit.block.BlockState;
import org.bukkit.block.data.BlockData;
import org.bukkit.command.CommandSender;
-import org.bukkit.craftbukkit.v1_21_R4.CraftWorld;
-import org.bukkit.craftbukkit.v1_21_R4.block.data.CraftBlockData;
+import org.bukkit.craftbukkit.v1_21_R6.CraftWorld;
+import org.bukkit.craftbukkit.v1_21_R6.block.data.CraftBlockData;
import org.bukkit.entity.BlockDisplay;
import org.bukkit.entity.Display;
import org.bukkit.entity.Player;
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/package-info.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/package-info.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/package-info.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/package-info.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/package-info.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/package-info.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/package-info.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/package-info.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/package-info.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/package-info.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/package-info.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/package-info.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java
similarity index 95%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java
index 9c52e91..1301a65 100644
--- a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java
+++ b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java
@@ -24,11 +24,19 @@ import com.jme3.math.Vector3f;
public class ChunkMesh {
// TODO Public for now while I figure out how to organize the stuff properly
+
+ // Hashcode of the current block's blockdata so we can check if it changed
private int[] data;
+ // The bounding boxes for each complex block, null if air or a cube
private BoundingBox[][] boxes;
+ // Stores which blocks are complex/simple/empty
private BlockDataTypeSet blockTypes;
+ // References to every point used by at least one planemesh
public TreeSet< VectorReference > pointReferences = new TreeSet< VectorReference >();
+ // Map of meshes to each plane
+ // TODO Allow for non axis-aligned planes
public Map< MinecraftPlane, PlaneMesh > planes = new TreeMap< MinecraftPlane, PlaneMesh >();
+ // Bounding box of this mesh
private Aabb box;
public ChunkMesh( BoundingBox box ) {
@@ -117,6 +125,10 @@ public class ChunkMesh {
}
public void writeTo( final BinaryWriter writer ) {
+ // Gather all vectors and map them to indices
+
+
+
// Write the bounding box
writer.write( box.minX );
writer.write( box.minY );
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Facet.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Facet.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Facet.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Facet.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/LineSegment.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/LineSegment.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/LineSegment.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/LineSegment.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/MeshBuilder.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/MeshBuilder.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/MeshBuilder.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/MeshBuilder.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Plane.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Plane.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Plane.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/mesh/Plane.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java
diff --git a/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java
similarity index 100%
rename from src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java
rename to plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java
diff --git a/src/main/resources/README.md b/plugin/src/main/resources/README.md
similarity index 100%
rename from src/main/resources/README.md
rename to plugin/src/main/resources/README.md
diff --git a/src/main/resources/plugin.yml b/plugin/src/main/resources/plugin.yml
similarity index 100%
rename from src/main/resources/plugin.yml
rename to plugin/src/main/resources/plugin.yml
diff --git a/pom.xml b/pom.xml
index a84d398..18786ed 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,73 +1,33 @@
-
- 4.0.0
- com.aaaaahhhhhhh.bananapuncher714
- MinieTest
- 0.0.1-SNAPSHOT
-
-
-
- org.spigotmc
- spigot
- 1.21.5-R0.1-SNAPSHOT
- provided
-
-
- com.github.stephengold
- Minie
- 9.0.1
- compile
-
-
- org.scijava
- native-lib-loader
- 2.4.0
- compile
-
-
- io.github.earcut4j
- earcut4j
- 2.2.2
- compile
-
-
-
-
-
-
- org.apache.maven.plugins
- maven-compiler-plugin
- 2.3.2
-
- 1.8
- 1.8
-
-
-
- org.apache.maven.plugins
- maven-assembly-plugin
-
-
- package
-
- single
-
-
-
-
-
- com.aaaaahhhhhhh.bananapuncher714.minietest.MinieTest
-
-
-
-
- jar-with-dependencies
-
-
-
-
-
-
-
+
+
+ 4.0.0
+ com.aaaaahhhhhhh.bananapuncher714
+ mc-mesh-master
+ 1.0.0
+ pom
+
+
+ plugin
+ core
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.14.1
+
+ 1.8
+ 1.8
+
+
+
+
+
+
+ UTF-8
+
\ No newline at end of file