diff --git a/application/visualizer/Test1/pom.xml b/application/visualizer/Test1/pom.xml index bfb8fc7..6107b0e 100644 --- a/application/visualizer/Test1/pom.xml +++ b/application/visualizer/Test1/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test1/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshTest.java b/application/visualizer/Test1/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshTest.java index eedb614..78b2d46 100644 --- a/application/visualizer/Test1/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshTest.java +++ b/application/visualizer/Test1/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshTest.java @@ -8,7 +8,7 @@ import java.io.IOException; import java.util.ArrayList; import java.util.List; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Facet; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.MeshBuilder; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Plane; diff --git a/application/visualizer/Test2/pom.xml b/application/visualizer/Test2/pom.xml index 3e7b6de..ae63a3e 100644 --- a/application/visualizer/Test2/pom.xml +++ b/application/visualizer/Test2/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test2/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest2.java b/application/visualizer/Test2/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest2.java index 06961bb..d94f281 100644 --- a/application/visualizer/Test2/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest2.java +++ b/application/visualizer/Test2/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest2.java @@ -35,17 +35,17 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Chain; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh.MeshChainEventHandler; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh.MeshPartitionEventHandler; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Segment; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Vector2d; -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; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Chain; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh.MeshChainEventHandler; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh.MeshPartitionEventHandler; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Segment; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Vector2d; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionRuleWinding; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple.GluWindingRule; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Facet; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.MeshBuilder; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Plane; diff --git a/application/visualizer/Test3/pom.xml b/application/visualizer/Test3/pom.xml index a7a787f..7221723 100644 --- a/application/visualizer/Test3/pom.xml +++ b/application/visualizer/Test3/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test3/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest3.java b/application/visualizer/Test3/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest3.java index 5499ace..2fdde12 100644 --- a/application/visualizer/Test3/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest3.java +++ b/application/visualizer/Test3/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest3.java @@ -11,16 +11,16 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Facet; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.MeshBuilder; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Plane; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Vector3d; -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; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionRuleWinding; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple.GluWindingRule; /** * Mesh speed test diff --git a/application/visualizer/Test4/pom.xml b/application/visualizer/Test4/pom.xml index f895433..48154eb 100644 --- a/application/visualizer/Test4/pom.xml +++ b/application/visualizer/Test4/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test4/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest4.java b/application/visualizer/Test4/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest4.java index 80eeeec..4198885 100644 --- a/application/visualizer/Test4/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest4.java +++ b/application/visualizer/Test4/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest4.java @@ -19,12 +19,12 @@ import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; import java.util.stream.Stream; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; -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; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionRuleWinding; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple.GluWindingRule; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Facet; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.MeshBuilder; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Plane; diff --git a/application/visualizer/Test5/pom.xml b/application/visualizer/Test5/pom.xml index 23b8407..823f9e8 100644 --- a/application/visualizer/Test5/pom.xml +++ b/application/visualizer/Test5/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test5/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest5.java b/application/visualizer/Test5/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest5.java index 232d0fc..7ae4d95 100644 --- a/application/visualizer/Test5/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest5.java +++ b/application/visualizer/Test5/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest5.java @@ -15,12 +15,12 @@ import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicInteger; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; -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; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionRuleWinding; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple.GluWindingRule; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Facet; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.MeshBuilder; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Plane; diff --git a/application/visualizer/Test6/pom.xml b/application/visualizer/Test6/pom.xml index cff9ab8..5183e0d 100644 --- a/application/visualizer/Test6/pom.xml +++ b/application/visualizer/Test6/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test6/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest6.java b/application/visualizer/Test6/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest6.java index 19ae69f..7b5fed3 100644 --- a/application/visualizer/Test6/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest6.java +++ b/application/visualizer/Test6/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest6.java @@ -34,17 +34,17 @@ import javax.swing.JPanel; import javax.swing.SwingConstants; import javax.swing.SwingUtilities; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Chain; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh.MeshChainEventHandler; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh.MeshPartitionEventHandler; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Segment; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Vector2d; -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; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Chain; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh.MeshChainEventHandler; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh.MeshPartitionEventHandler; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Segment; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Vector2d; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionRuleWinding; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple.GluWindingRule; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Facet; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.MeshBuilder; import com.aaaaahhhhhhh.bananapuncher714.mesh.base.Plane; diff --git a/application/visualizer/Test7/pom.xml b/application/visualizer/Test7/pom.xml index f5ed28a..cfdf04b 100644 --- a/application/visualizer/Test7/pom.xml +++ b/application/visualizer/Test7/pom.xml @@ -13,13 +13,13 @@ com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 compile com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-base + mc-mesh-core-base 0.0.1 compile diff --git a/application/visualizer/Test7/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest7.java b/application/visualizer/Test7/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest7.java index 9ead6f6..4e15a0e 100644 --- a/application/visualizer/Test7/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest7.java +++ b/application/visualizer/Test7/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/test/MeshingTest7.java @@ -11,12 +11,12 @@ import java.util.Collection; import java.util.List; import java.util.concurrent.atomic.AtomicInteger; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Mesh; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; -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; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Mesh; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionRuleWinding; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple.RegionSimple.GluWindingRule; /** * Mesh speed test for polygons diff --git a/core/algorithm/README.md b/core/algorithm/README.md new file mode 100644 index 0000000..fceb6de --- /dev/null +++ b/core/algorithm/README.md @@ -0,0 +1,2 @@ +# MC-Mesh Core Algorithm +The fundamental standalone tesselation library \ No newline at end of file diff --git a/core/algorithm/pom.xml b/core/algorithm/pom.xml new file mode 100644 index 0000000..243b6ea --- /dev/null +++ b/core/algorithm/pom.xml @@ -0,0 +1,25 @@ + + 4.0.0 + + com.aaaaahhhhhhh.bananapuncher714 + mc-mesh-core + 0.0.1 + + mc-mesh-core-algorithm + 0.0.1 + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.14.1 + + 8 + + + + + \ No newline at end of file diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Chain.java similarity index 92% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Chain.java index 54b99c6..3ff4291 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Chain.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Chain.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; import java.util.ArrayList; import java.util.Collections; diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/EdgeSet.java similarity index 95% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/EdgeSet.java index 2c142f1..d5f3850 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/EdgeSet.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/EdgeSet.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; import java.util.LinkedHashSet; diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/HalfEdge.java similarity index 99% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/HalfEdge.java index 3a81591..95ecced 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/HalfEdge.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/HalfEdge.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; /** * A half-edge class used to represent a DCEL(doubly connected edge list): https://en.wikipedia.org/wiki/Doubly_connected_edge_list diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Mesh.java similarity index 99% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Mesh.java index 0762719..3cefd0e 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Mesh.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Mesh.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; import java.util.ArrayDeque; import java.util.ArrayList; @@ -22,8 +22,8 @@ import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Collectors; -import com.aaaaahhhhhhh.bananapuncher714.mesh.region.Region; -import com.aaaaahhhhhhh.bananapuncher714.mesh.region.RegionRule; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.Region; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.RegionRule; /** * A general mesh class containing polygons. Inspiration taken from: https://github.com/memononen/libtess2 @@ -500,7 +500,7 @@ public class Mesh< T extends Region > { if ( scannedVertices.contains( edge.getDest() ) ) { /* - * Remove the half edge and it's sym if the destination + * Remove the half edge and its sym if the destination * has already been removed, since it means that it is * no longer relevant. * diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Point.java similarity index 92% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Point.java index 321057e..1bd6d2c 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Point.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Point.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; /** * A 2d Cartesian coordinate diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Polygon.java similarity index 89% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Polygon.java index 8c3e782..aee472a 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Polygon.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Polygon.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; import java.util.List; diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Segment.java similarity index 85% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Segment.java index d63cf3a..254bd07 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Segment.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Segment.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; /** * A line segment diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/SortedEdgeCollection.java similarity index 98% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/SortedEdgeCollection.java index a43e773..6c4b567 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/SortedEdgeCollection.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/SortedEdgeCollection.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; import java.util.Iterator; import java.util.Map; diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Vector2d.java similarity index 94% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Vector2d.java index e5d093c..2f45971 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vector2d.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Vector2d.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; /** * A basic 2d vector implementation. diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Vertex.java similarity index 98% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Vertex.java index 5decf33..33820b4 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/Vertex.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/Vertex.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm; import java.util.Iterator; diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/CompositeRegionRule.java similarity index 96% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/CompositeRegionRule.java index 18d7c3e..4fb784a 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/CompositeRegionRule.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/CompositeRegionRule.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh.region; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region; import java.util.ArrayList; import java.util.List; diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/Region.java similarity index 82% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/Region.java index 366d6b7..fc2d2f5 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/Region.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/Region.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh.region; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region; /** * A continuous portion in space that can be clearly defined as "inside" or "outside". diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/RegionRule.java similarity index 93% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/RegionRule.java index 40414a1..0a462b0 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/RegionRule.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/RegionRule.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh.region; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region; /** * A region rule describes how a region is modified, particularly when crossing a border diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/simple/RegionRuleWinding.java similarity index 85% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/simple/RegionRuleWinding.java index cbc3eb8..1dcd6c9 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionRuleWinding.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/simple/RegionRuleWinding.java @@ -1,7 +1,7 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh.region.simple; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple; -import com.aaaaahhhhhhh.bananapuncher714.mesh.region.CompositeRegionRule; -import com.aaaaahhhhhhh.bananapuncher714.mesh.region.RegionRule; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.CompositeRegionRule; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.RegionRule; /** * A simple winding number rule. diff --git a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/simple/RegionSimple.java similarity index 90% rename from core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java rename to core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/simple/RegionSimple.java index b276102..cadbb78 100644 --- a/core/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/region/simple/RegionSimple.java +++ b/core/algorithm/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/algorithm/region/simple/RegionSimple.java @@ -1,6 +1,6 @@ -package com.aaaaahhhhhhh.bananapuncher714.mesh.region.simple; +package com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.simple; -import com.aaaaahhhhhhh.bananapuncher714.mesh.region.Region; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.region.Region; /** * A region with a winding number. The interior-ness of diff --git a/core/base/README.md b/core/base/README.md new file mode 100644 index 0000000..0da8638 --- /dev/null +++ b/core/base/README.md @@ -0,0 +1,2 @@ +# MC-Mesh Core Base +Contains some classes for constructing meshes from 3d data \ No newline at end of file diff --git a/base/pom.xml b/core/base/pom.xml similarity index 80% rename from base/pom.xml rename to core/base/pom.xml index e515818..aa3a009 100644 --- a/base/pom.xml +++ b/core/base/pom.xml @@ -4,18 +4,18 @@ 4.0.0 com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-master - 1.0.0 + mc-mesh-core + 0.0.1 - mc-mesh-base + mc-mesh-core-base 0.0.1 com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-core + mc-mesh-core-algorithm 0.0.1 - provided + compile diff --git a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Facet.java b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Facet.java similarity index 100% rename from base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Facet.java rename to core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Facet.java diff --git a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/LineSegment.java b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/LineSegment.java similarity index 100% rename from base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/LineSegment.java rename to core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/LineSegment.java diff --git a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Matrix3d.java b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Matrix3d.java similarity index 100% rename from base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Matrix3d.java rename to core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Matrix3d.java diff --git a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/MeshBuilder.java b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/MeshBuilder.java similarity index 100% rename from base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/MeshBuilder.java rename to core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/MeshBuilder.java diff --git a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Plane.java b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Plane.java similarity index 95% rename from base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Plane.java rename to core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Plane.java index e9d95b1..d3b3d91 100644 --- a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Plane.java +++ b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Plane.java @@ -5,8 +5,8 @@ import java.util.Collection; import java.util.List; import java.util.stream.Collectors; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Point; -import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Point; +import com.aaaaahhhhhhh.bananapuncher714.mesh.algorithm.Polygon; public class Plane { public Vector3d normal; diff --git a/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Vector3d.java b/core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Vector3d.java similarity index 100% rename from base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Vector3d.java rename to core/base/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/base/Vector3d.java diff --git a/core/pom.xml b/core/pom.xml index 34c0f37..1405add 100644 --- a/core/pom.xml +++ b/core/pom.xml @@ -1,25 +1,18 @@ - 4.0.0 - - com.aaaaahhhhhhh.bananapuncher714 - mc-mesh-master - 1.0.0 - - mc-mesh-core - 0.0.1 + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + 4.0.0 + + com.aaaaahhhhhhh.bananapuncher714 + mc-mesh-master + 1.0.0 + + mc-mesh-core + 0.0.1 + pom - - - - org.apache.maven.plugins - maven-compiler-plugin - 3.14.1 - - 8 - - - - + + algorithm + base + \ No newline at end of file diff --git a/plugin/environment/README.md b/plugin/environment/README.md new file mode 100644 index 0000000..5b3f1e6 --- /dev/null +++ b/plugin/environment/README.md @@ -0,0 +1,3 @@ +# MC-Mesh Environment Plugin +This plugin aims to provide a comprehensive physics enabled environment +in Minecraft using BulletJME and the MC-Mesh core algorithm. \ No newline at end of file diff --git a/plugin/dependency-reduced-pom.xml b/plugin/environment/dependency-reduced-pom.xml similarity index 100% rename from plugin/dependency-reduced-pom.xml rename to plugin/environment/dependency-reduced-pom.xml diff --git a/plugin/environment/pom.xml b/plugin/environment/pom.xml new file mode 100644 index 0000000..70c1ee1 --- /dev/null +++ b/plugin/environment/pom.xml @@ -0,0 +1,84 @@ + + 4.0.0 + + com.aaaaahhhhhhh.bananapuncher714 + mc-mesh-plugin + 0.0.1 + + mc-mesh-plugin-environment + 0.0.1-SNAPSHOT + + + + org.spigotmc + spigot + 1.21.10-R0.1-SNAPSHOT + provided + + + com.github.stephengold + Minie + 9.0.3+mt + compile + + + org.scijava + native-lib-loader + 2.4.0 + compile + + + com.aaaaahhhhhhh.bananapuncher714 + mc-mesh-core-algorithm + 0.0.1 + compile + + + com.aaaaahhhhhhh.bananapuncher714 + mc-mesh-core-base + 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/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandBase.java similarity index 92% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandBase.java index 5f160a6..fd437ed 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandBase.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandBase.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; import java.util.ArrayList; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandOption.java similarity index 72% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandOption.java index bb86f5a..d4002ec 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandOption.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandOption.java @@ -1,8 +1,8 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; import org.bukkit.command.CommandSender; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.executor.CommandExecutable; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.executor.CommandExecutable; public class CommandOption { protected CommandExecutable exe; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandParameters.java similarity index 91% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandParameters.java index a3e0e8e..43f793d 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandParameters.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandParameters.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; import java.util.ArrayList; import java.util.List; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandResult.java similarity index 88% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandResult.java index 20e36bc..f336253 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/CommandResult.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/CommandResult.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; import java.util.ArrayList; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/SplitCommand.java similarity index 83% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/SplitCommand.java index 6d11338..5de8199 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SplitCommand.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/SplitCommand.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; public class SplitCommand { protected String[] input; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/SubCommand.java similarity index 91% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/SubCommand.java index 29a503b..fc0f7d3 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/SubCommand.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/SubCommand.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; import java.util.ArrayList; import java.util.Arrays; @@ -13,10 +13,10 @@ import org.bukkit.command.CommandSender; import org.bukkit.command.PluginCommand; import org.bukkit.util.StringUtil; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.executor.CommandExecutable; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.InputValidator; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.InputValidatorString; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender.SenderValidator; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.executor.CommandExecutable; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.InputValidator; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.InputValidatorString; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender.SenderValidator; /** * A build and run command framework for automatic tab completions and easy branching. diff --git a/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/CommandExecutable.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/CommandExecutable.java new file mode 100644 index 0000000..3b1fba8 --- /dev/null +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/CommandExecutable.java @@ -0,0 +1,9 @@ +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.executor; + +import org.bukkit.command.CommandSender; + +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.CommandParameters; + +public interface CommandExecutable { + void execute( CommandSender sender, String[] args, CommandParameters params ); +} diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/CommandExecutableMessage.java similarity index 66% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/CommandExecutableMessage.java index b4ad6ec..01beafe 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutableMessage.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/CommandExecutableMessage.java @@ -1,8 +1,8 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.executor; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.executor; import org.bukkit.command.CommandSender; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.CommandParameters; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.CommandParameters; public class CommandExecutableMessage implements CommandExecutable { protected String message; diff --git a/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/package-info.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/package-info.java new file mode 100644 index 0000000..b217062 --- /dev/null +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/executor/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author BananaPuncher714 + * + */ +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.executor; \ No newline at end of file diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/package-info.java similarity index 54% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/package-info.java index 0453a47..54f1b5c 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/package-info.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/package-info.java @@ -3,4 +3,4 @@ * * @author BananaPuncher714 */ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command; \ No newline at end of file +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command; \ No newline at end of file diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidator.java similarity index 79% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidator.java index 3309d26..e05b583 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidator.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidator.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorArguments.java similarity index 86% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorArguments.java index db03cd0..0bda58e 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorArguments.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorArguments.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorBoolean.java similarity index 90% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorBoolean.java index 2ad0c1f..0907529 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorBoolean.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorBoolean.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; import java.util.HashSet; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorChain.java similarity index 90% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorChain.java index b75d659..d271bb9 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorChain.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorChain.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.ArrayList; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorDouble.java similarity index 92% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorDouble.java index de3541f..e2f29ff 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorDouble.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorDouble.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorInt.java similarity index 87% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorInt.java index a605554..0d13483 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorInt.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorInt.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorPattern.java similarity index 85% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorPattern.java index 80c391a..103575c 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPattern.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorPattern.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorPlayer.java similarity index 88% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorPlayer.java index 2af5ed4..e6a31d7 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorPlayer.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorPlayer.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; import java.util.HashSet; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorString.java similarity index 89% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorString.java index d5d7f92..6723516 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/InputValidatorString.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/InputValidatorString.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; import java.util.Collection; import java.util.HashSet; diff --git a/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/package-info.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/package-info.java new file mode 100644 index 0000000..051b321 --- /dev/null +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author BananaPuncher714 + * + */ +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator; \ No newline at end of file diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidator.java similarity index 57% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidator.java index 0b5c0df..585e568 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidator.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidator.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender; import org.bukkit.command.CommandSender; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorNotPlayer.java similarity index 72% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorNotPlayer.java index 72e4743..9b903d3 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorNotPlayer.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorNotPlayer.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorPermission.java similarity index 83% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorPermission.java index 49f53fb..6e3fac9 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPermission.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorPermission.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender; import java.util.HashSet; import java.util.Set; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorPlayer.java similarity index 71% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorPlayer.java index a911d4e..d731229 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/SenderValidatorPlayer.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/SenderValidatorPlayer.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; diff --git a/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/package-info.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/package-info.java new file mode 100644 index 0000000..fe40a20 --- /dev/null +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/command/validator/sender/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author BananaPuncher714 + * + */ +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender; \ No newline at end of file diff --git a/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/McMeshEnvironment.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/McMeshEnvironment.java new file mode 100644 index 0000000..97eef30 --- /dev/null +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/McMeshEnvironment.java @@ -0,0 +1,34 @@ +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment; + +import java.io.File; + +import org.bukkit.plugin.java.JavaPlugin; + +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.util.FileUtil; + +public class McMeshEnvironment extends JavaPlugin { + @Override + public void onEnable() { + FileUtil.saveToFile( getResource( "native/windows/x86_64/bulletjme.dll" ), new File( getDataFolder() + "/lib", "bulletjme.dll" ), false ); + FileUtil.saveToFile( getResource( "native/osx/x86_64/libbulletjme.dylib" ), new File( getDataFolder() + "/lib", "libbulletjme.dylib" ), false ); + FileUtil.saveToFile( getResource( "native/linux/x86_64/libbulletjme.so" ), new File( getDataFolder() + "/lib", "libbulletjme.so" ), false ); + if ( !loadNativeLibraries() ) { + getLogger().severe( "Unable to load Bullet JME native libraries! Disabling plugin" ); + Bukkit.getPluginManager().disablePlugin( this ); + return; + } + } + + private final boolean loadNativeLibraries() { + if ( SystemUtils.IS_OS_MAC ) { + System.load( new File( getDataFolder() + "/lib", "libbulletjme.dylib" ).getAbsolutePath() ); + } else if ( SystemUtils.IS_OS_LINUX ) { + System.load( new File( getDataFolder() + "/lib", "libbulletjme.so" ).getAbsolutePath() ); + } else if ( SystemUtils.IS_OS_WINDOWS ) { + System.load( new File( getDataFolder() + "/lib", "bulletjme.dll" ).getAbsolutePath() ); + } else { + return false; + } + return true; + } +} \ No newline at end of file diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/BinaryWriter.java similarity index 91% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/BinaryWriter.java index dee06d2..aff691e 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BinaryWriter.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/BinaryWriter.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.util; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.util; import java.io.ByteArrayOutputStream; import java.nio.ByteBuffer; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/BukkitUtil.java similarity index 94% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/BukkitUtil.java index 60ef778..e6aad94 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/BukkitUtil.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/BukkitUtil.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.util; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.util; import java.lang.reflect.Constructor; import java.lang.reflect.Field; @@ -18,7 +18,7 @@ import org.bukkit.plugin.SimplePluginManager; import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPluginLoader; -import com.aaaaahhhhhhh.bananapuncher714.minietest.MiniePlugin; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.McMeshEnvironment; public class BukkitUtil { private static Constructor< PluginCommand > PLUGINCOMMAND_CONSTRUCTOR; @@ -69,7 +69,7 @@ public class BukkitUtil { public static PluginCommand constructCommand( String id ) { PluginCommand command = null; try { - command = PLUGINCOMMAND_CONSTRUCTOR.newInstance( id, JavaPlugin.getPlugin( MiniePlugin.class ) ); + command = PLUGINCOMMAND_CONSTRUCTOR.newInstance( id, JavaPlugin.getPlugin( McMeshEnvironment.class ) ); } catch (InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException e) { e.printStackTrace(); return null; @@ -84,7 +84,7 @@ public class BukkitUtil { if ( Bukkit.getServer().isPrimaryThread() ) { Bukkit.getPluginManager().callEvent( event ); } else { - Bukkit.getScheduler().scheduleSyncDelayedTask( JavaPlugin.getPlugin( MiniePlugin.class ), () -> { callEventSync( event ); } ); + Bukkit.getScheduler().scheduleSyncDelayedTask( JavaPlugin.getPlugin( McMeshEnvironment.class ), () -> { callEventSync( event ); } ); } } diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/ChunkMeshUtil.java similarity index 94% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/ChunkMeshUtil.java index 3a16204..f9e77dd 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/ChunkMeshUtil.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/ChunkMeshUtil.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.util; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.util; import java.nio.ByteBuffer; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/FileUtil.java similarity index 94% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/FileUtil.java index e19c5d4..1990e8c 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/util/FileUtil.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/mesh/environment/util/FileUtil.java @@ -1,4 +1,4 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.util; +package com.aaaaahhhhhhh.bananapuncher714.mesh.environment.util; import java.io.File; import java.io.FileInputStream; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/ChunkMeshCache.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java similarity index 97% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java index d48f375..79fc014 100644 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java +++ b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MiniePlugin.java @@ -63,12 +63,12 @@ import com.aaaaahhhhhhh.bananapuncher714.mesh.Polygon; 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; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.CommandParameters; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.SubCommand; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.executor.CommandExecutableMessage; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.InputValidatorDouble; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.InputValidatorInt; -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender.SenderValidatorPlayer; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.CommandParameters; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.SubCommand; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.executor.CommandExecutableMessage; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.InputValidatorDouble; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.InputValidatorInt; +import com.aaaaahhhhhhh.bananapuncher714.mesh.environment.command.validator.sender.SenderValidatorPlayer; import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.BlockDataType; import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.ChunkLocation; import com.aaaaahhhhhhh.bananapuncher714.minietest.objects.ChunkMesh; diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/MinieTest.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/Aabb.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataType.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/BlockDataTypeSet.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkLocation.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/ChunkMesh.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/IndexedPolygon.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/MinecraftPlane.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/PlaneMesh.java diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java b/plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java similarity index 100% rename from plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java rename to plugin/environment/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/objects/VectorReference.java diff --git a/plugin/src/main/resources/plugin.yml b/plugin/environment/src/main/resources/plugin.yml similarity index 75% rename from plugin/src/main/resources/plugin.yml rename to plugin/environment/src/main/resources/plugin.yml index 17e3514..6e7032b 100644 --- a/plugin/src/main/resources/plugin.yml +++ b/plugin/environment/src/main/resources/plugin.yml @@ -1,7 +1,7 @@ -name: MinieTest +name: MC-Mesh-Environment main: com.aaaaahhhhhhh.bananapuncher714.minietest.MiniePlugin version: 0.0.1 -description: Minecraft with Minie +description: BulletJME and MC-Mesh integration author: BananaPuncher714 api-version: 1.13 #libraries: diff --git a/plugin/pom.xml b/plugin/pom.xml index 7444bfd..3b807c8 100644 --- a/plugin/pom.xml +++ b/plugin/pom.xml @@ -1,78 +1,17 @@ - - 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 - - - - - - + + 4.0.0 + + com.aaaaahhhhhhh.bananapuncher714 + mc-mesh-master + 1.0.0 + + mc-mesh-plugin + 0.0.1 + pom + + + + \ No newline at end of file diff --git a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java b/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java deleted file mode 100644 index 655983d..0000000 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/CommandExecutable.java +++ /dev/null @@ -1,9 +0,0 @@ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.executor; - -import org.bukkit.command.CommandSender; - -import com.aaaaahhhhhhh.bananapuncher714.minietest.command.CommandParameters; - -public interface CommandExecutable { - void execute( CommandSender sender, String[] args, CommandParameters params ); -} diff --git a/plugin/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 deleted file mode 100644 index 0ae66c9..0000000 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/executor/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * - */ -/** - * @author BananaPuncher714 - * - */ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.executor; \ No newline at end of file diff --git a/plugin/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 deleted file mode 100644 index 5866d6b..0000000 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * - */ -/** - * @author BananaPuncher714 - * - */ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator; \ No newline at end of file diff --git a/plugin/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 deleted file mode 100644 index 0381584..0000000 --- a/plugin/src/main/java/com/aaaaahhhhhhh/bananapuncher714/minietest/command/validator/sender/package-info.java +++ /dev/null @@ -1,8 +0,0 @@ -/** - * - */ -/** - * @author BananaPuncher714 - * - */ -package com.aaaaahhhhhhh.bananapuncher714.minietest.command.validator.sender; \ No newline at end of file diff --git a/plugin/src/main/resources/README.md b/plugin/src/main/resources/README.md deleted file mode 100644 index 4ae7517..0000000 --- a/plugin/src/main/resources/README.md +++ /dev/null @@ -1,67 +0,0 @@ -# Tess4j(name subject to change) -## About -Tess4j(name subject to change) is an all purpose 2d polygon tessellator inspired by the GLUTesselator and libtess2. This tessellator focuses around -user defined rules for interior/exterior regions, and aims to be a robust algorithm with a focus on reducing triangle -count while preserving the original shapes. - -Since it _is_ written in java, speed is not the main priority. Rather, this aims to serve as an easy to understand -and easy to modify library for anyone interested in adding improvements. - -## Restrictions -Tess4j(name subject to change) accepts one or more polygons. Polygons are defined as a collection of one or more 2d points -that form a loop. Steiner points are not (currently)supported. There may be some rounding errors for especially for very large -and small points, but this library aims for consistency, with a small tolerance for adjustments. - -## Algorithm -This library utilizes a very basic single sweep monotone partitioning algorithm, then greedily creates triangle fans and strips. -Additional monotone regions may be broken down into smaller regions if doing so would decrease the overall amount of triangles. - -### Invariants -Tess4j(name subject to change) assumes no responsibility or liability for any errors or omissions in the execution of this program. -The output returned by this program is provided on an "as is" basis with no guarantees of completeness, accuracy, usefulness or timeliness. -That said, here are a list of invariants that _should_ be upheld: -- Any vertex created during the tessellation will be greater than the current event vertex - -### The actual algorithm -Tess4j(name subject to change) begins by accepting a list of one or more polygons. The polygons are split into collections of connected -half-edges and vertices. The vertices are then added to a priority queue where they are sorted from left to right(-x to x), -bottom to top(-y to y) order. - -Once all polygons have been inserted and processed, sweeping of the vertices begins. The lowest unique vertex is extracted from -the priority queue. Any subsequent vertices with the same coordinates are merged together, and any new vertices created during the -sweep event are guaranteed to be greater than the current vertex. - -Sweep over each vertex and mark which ones are an interior non-monotone vertex. Process all left going edges, and mark the faces attached -as interior/exterior. Register all right going edges. Split any intersections into new vertices and edges, and add the vertices to the -event queue. - -**TODO** -Now that each face has been fully completed... reduce the amount of vertices before adding in additional edges for monotone regions. -To do this, get all colinear edges that share the same face, and does not intersect with any other edges??? -Loop through each edge and keep it in the list until it would intersect with another edge, and mark which edges/vertices it is -colinear with, as well as any potential new edges it might collide with. Solve which combination of edges would reduce -vertex count by the greatest amount. 2 vertices if connecting to an edge, 1 vertex if connecting to a vertex. Traveling salesman problem? -When checking for intersections with other support edges, only need to check all active potential aux edges... Consolidate colinears - -For each edge of a face, advance around the face until it intersects with an edge or vertex. Advance backwards as well, checking ONLY vertex intersections. -This will capture all possible conlinear reductions as new edges. - -How to determine which combination can reduce the total amount of vertices? Build clusters of intersecting vertices, - -After all vertex reduction edges have been added, get all faces and calculate the upper and lower sweep edge of -each vertex of each face for monotone partitioning. - -When processing the marked vertices to form monotone regions, some data must be stored for each point so -that a valid point with which to connect can be located afterwards: -- The immediate upper and lower edge of the vertex when it is being swept. -This allows the forward/backward monotone connecting to consistently find a valid point. When checking for valid points: -- The point must be less/greater than the current point if iterating forwards/backwards, respectively. -- The point must fulfill at least one of the following conditions: - - It shares the same upper edge - - It is part of the upper edge - - It shares the same lower edge - - It is part of the lower edge -Once a marked vertex has been connected, either by finding another valid vertex, or by being connected to from a marked -vertex, it can be unmarked and removed from the queue of marked vertices. - -Now that each face is a monotone region, split it into triangle fans and strips. \ No newline at end of file diff --git a/pom.xml b/pom.xml index d4e0e77..2d8467d 100644 --- a/pom.xml +++ b/pom.xml @@ -9,9 +9,8 @@ pom - + plugin core - base application