diff --git a/.project b/.project
index 39eb380..9587ec4 100644
--- a/.project
+++ b/.project
@@ -1,17 +1,17 @@
- minzeo-plugin
+ astrophis-plugin
-
-
- org.eclipse.buildship.core.gradleprojectnature
-
+
+
org.eclipse.buildship.core.gradleprojectbuilder
-
+
+
-
-
+
+ org.eclipse.buildship.core.gradleprojectnature
+
diff --git a/app/.classpath b/app/.classpath
index a92b4bf..be88c88 100644
--- a/app/.classpath
+++ b/app/.classpath
@@ -1,321 +1,18 @@
-
-
-
+
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
diff --git a/app/.project b/app/.project
index e915196..9965155 100644
--- a/app/.project
+++ b/app/.project
@@ -2,21 +2,22 @@
app
-
+
+
+
+
+ org.eclipse.jdt.core.javabuilder
+
+
+
+
+ org.eclipse.buildship.core.gradleprojectbuilder
+
+
+
+
org.eclipse.jdt.core.javanature
org.eclipse.buildship.core.gradleprojectnature
-
-
- org.eclipse.jdt.core.javabuilder
-
-
-
- org.eclipse.buildship.core.gradleprojectbuilder
-
-
-
-
-
diff --git a/app/.settings/org.eclipse.jdt.core.prefs b/app/.settings/org.eclipse.jdt.core.prefs
index 349deb7..5f6068c 100644
--- a/app/.settings/org.eclipse.jdt.core.prefs
+++ b/app/.settings/org.eclipse.jdt.core.prefs
@@ -1,5 +1,5 @@
#
-#Fri Oct 25 19:46:27 EDT 2024
+#Sun Jan 19 17:48:13 EST 2025
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
diff --git a/app/src/main/java/net/xuyezo/main/Biomer.java b/app/src/main/java/net/xuyezo/main/Biomer.java
deleted file mode 100644
index 7bdf85d..0000000
--- a/app/src/main/java/net/xuyezo/main/Biomer.java
+++ /dev/null
@@ -1,24 +0,0 @@
-package net.xuyezo.main;
-
-import java.util.List;
-
-import org.bukkit.block.Biome;
-import org.bukkit.generator.BiomeProvider;
-import org.bukkit.generator.WorldInfo;
-import org.jetbrains.annotations.NotNull;
-
-import com.google.common.collect.Lists;
-
-public class Biomer extends BiomeProvider {
-
- @Override
- public @NotNull Biome getBiome(@NotNull WorldInfo worldInfo, int x, int y, int z) {
- return Biome.OCEAN;
- }
-
- @Override
- public @NotNull List getBiomes(@NotNull WorldInfo worldInfo) {
- return Lists.newArrayList(Biome.OCEAN);
- }
-
-}
diff --git a/app/src/main/java/net/xuyezo/main/Generator.java b/app/src/main/java/net/xuyezo/main/Generator.java
deleted file mode 100644
index 5f2c179..0000000
--- a/app/src/main/java/net/xuyezo/main/Generator.java
+++ /dev/null
@@ -1,97 +0,0 @@
-package net.xuyezo.main;
-
-import java.util.Random;
-
-import org.bukkit.HeightMap;
-import org.bukkit.Material;
-import org.bukkit.World;
-import org.bukkit.block.data.BlockData;
-import org.bukkit.generator.ChunkGenerator;
-import org.bukkit.generator.WorldInfo;
-import org.bukkit.util.noise.PerlinNoiseGenerator;
-import org.jetbrains.annotations.NotNull;
-
-public class Generator extends ChunkGenerator {
-
- public PerlinNoiseGenerator gen;
-
- public Generator() {
- this.gen = new PerlinNoiseGenerator(69420);
- }
-
- public static int getHash(int x,int z) {
- return (((x * 223) ^ (z * 82395) ^ (x * 9634) ^ (z * 23958)) & 0x2FF3);
- }
-
- @Override
- public void generateNoise(WorldInfo worldInfo, Random random, int chunkX, int chunkZ,
- ChunkGenerator.ChunkData chunkData) {
- for (int x = 0; x < 16; x++) {
- for (int z = 0; z < 16; z++) {
- for (int y = chunkData.getMinHeight(); y < chunkData.getMaxHeight(); y++) {
- chunkData.setBlock(x, y, z, Material.AIR);
- }
- }
- }
-
- for (int x = 0; x < 16; x++) {
- for (int z = 0; z < 16; z++) {
- for (int y = chunkData.getMinHeight(); y < chunkData.getMaxHeight(); y++) {
-
- int x2 = chunkX * 16 + x;
- int z2 = chunkZ * 16 + z;
-
- double fac = (y - chunkData.getMinHeight()) / (1.0 * chunkData.getMaxHeight());
- fac = 1.0 - fac;
-
- if (this.gen.noise(x2 * 0.01,y* 0.01,z2* 0.01, 5, 1.5, 0.5) * fac < 0.4) continue;
-
- chunkData.setBlock(x, y, z, Material.STONE);
- }
- }
- }
- }
-
- @Override
- public boolean canSpawn(World world, int x, int z) {
- return true;
- }
-
- @Override
- public int getBaseHeight(@NotNull WorldInfo worldInfo, @NotNull Random random, int x, int z,
- @NotNull HeightMap heightMap) {
- int h = Generator.getHash(x,z);
- h = Math.max(h, worldInfo.getMinHeight());
- return Math.min(h,worldInfo.getMaxHeight());
- }
-
- @Override
- public boolean shouldGenerateCaves() {
- return false;
- }
-
- @Override
- public boolean shouldGenerateDecorations() {
- return false;
- }
-
- @Override
- public boolean shouldGenerateMobs() {
- return false;
- }
-
- @Override
- public boolean shouldGenerateNoise() {
- return false;
- }
-
- @Override
- public boolean shouldGenerateStructures() {
- return false;
- }
-
- @Override
- public boolean shouldGenerateSurface() {
- return false;
- }
-}
diff --git a/app/src/main/java/net/xuyezo/main/Handler.java b/app/src/main/java/net/xuyezo/main/Handler.java
index 9f622a9..83c2400 100644
--- a/app/src/main/java/net/xuyezo/main/Handler.java
+++ b/app/src/main/java/net/xuyezo/main/Handler.java
@@ -1,113 +1,25 @@
package net.xuyezo.main;
-import java.util.Random;
-
-import org.bukkit.Bukkit;
-import org.bukkit.GameMode;
import org.bukkit.Location;
-import org.bukkit.Material;
-import org.bukkit.block.Block;
-import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
-import org.bukkit.event.block.BlockBreakEvent;
-import org.bukkit.event.block.BlockExplodeEvent;
-import org.bukkit.event.entity.EntityExplodeEvent;
import org.bukkit.event.entity.EntityPortalEvent;
import org.bukkit.event.player.PlayerPortalEvent;
-import org.bukkit.inventory.ItemStack;
public class Handler implements Listener {
@EventHandler
- private void onPortalEvent(PlayerPortalEvent e) {
- Random random = new Random();
+ private void onPortalEventP(PlayerPortalEvent e) {
Location t = e.getFrom();
- t.multiply(-1);
- t.add(0,256,0);
+ t.setWorld(e.getTo().getWorld());
e.setTo(t);
}
+
@EventHandler
- private void onBlockExplode(BlockExplodeEvent e) {
- e.setCancelled(true);
- for (Block b : e.blockList()) {
- Location loc = b.getLocation();
-
- if (b.getType() == Material.STONE) {
- b.setType(Material.LAVA);
- } else if (b.getType() == Material.COBBLESTONE || b.getType() == Material.GRAVEL) {
- Material[] items = {
- Material.ICE,
- Material.ICE,
- Material.ICE,
- Material.ICE,
- Material.ICE,
- Material.ICE,
- Material.ICE,
- Material.ICE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COAL_ORE,
- Material.COPPER_ORE,
- Material.COPPER_ORE,
- Material.COPPER_ORE,
- Material.COPPER_ORE,
- Material.IRON_ORE,
- Material.IRON_ORE,
- Material.GOLD_ORE,
- Material.GOLD_ORE,
- Material.DIAMOND_ORE
- };
-
- b.setType(Material.AIR);
- if (new Random().nextInt(4) != 0) continue;
- b.getWorld().dropItem(loc, new ItemStack(items[new Random().nextInt(items.length)]));
- }
- }
- }
-
- @EventHandler
- private void onBlockBreak(BlockBreakEvent e) {
- Block b = e.getBlock();
- Player p = e.getPlayer();
- if (p.getGameMode() != GameMode.SURVIVAL)
- return;
-
- ItemStack i = p.getInventory().getItem(p.getInventory().getHeldItemSlot());
-
- if (i != null && !i.isEmpty() && b.isPreferredTool(i))
- return;
-
- Location loc = b.getLocation();
- loc.add(0,1.5,0);
-
- //todo: clean
- if (b.getType() == Material.STONE) {
- e.setCancelled(true);
- b.setType(Material.COBBLESTONE);
- } else if (b.getType() == Material.COBBLESTONE) {
- e.setCancelled(true);
- b.setType(Material.AIR);
-
- Material[] items = {
- Material.GRAVEL,
- Material.GRAVEL,
- Material.SAND,
- Material.RED_SAND,
- Material.CLAY_BALL,
- Material.CLAY_BALL
- };
-
- for (int j = 0; j < 3; j++) {
- Material r = items[new Random().nextInt(items.length)];
- b.getWorld().dropItem(loc, new ItemStack(r));
- }
- }
+ private void onPortalEventE(EntityPortalEvent e) {
+ Location t = e.getFrom();
+ t.setWorld(e.getTo().getWorld());
+ e.setTo(t);
}
}
diff --git a/app/src/main/java/net/xuyezo/main/Main.java b/app/src/main/java/net/xuyezo/main/Main.java
index 1c24cea..66007b8 100644
--- a/app/src/main/java/net/xuyezo/main/Main.java
+++ b/app/src/main/java/net/xuyezo/main/Main.java
@@ -1,19 +1,7 @@
package net.xuyezo.main;
-import net.kyori.adventure.text.Component;
import org.bukkit.Bukkit;
-import org.bukkit.Material;
-import org.bukkit.NamespacedKey;
import org.bukkit.Server;
-import org.bukkit.event.EventHandler;
-import org.bukkit.event.Listener;
-import org.bukkit.event.player.PlayerJoinEvent;
-import org.bukkit.generator.BiomeProvider;
-import org.bukkit.generator.ChunkGenerator;
-import org.bukkit.inventory.ItemStack;
-import org.bukkit.inventory.RecipeChoice;
-import org.bukkit.inventory.ShapedRecipe;
-import org.bukkit.inventory.meta.Damageable;
import org.bukkit.plugin.java.JavaPlugin;
public class Main extends JavaPlugin {
@@ -23,87 +11,5 @@ public class Main extends JavaPlugin {
Bukkit.getPluginManager().registerEvents(new Handler(), this);
Server server = getServer();
-
- NamespacedKey key = new NamespacedKey(this, "FlintAxe");
- ItemStack item = new ItemStack(Material.STONE_AXE);
- Damageable meta = (Damageable) item.getItemMeta();
- meta.setMaxDamage(80);
- meta.displayName(Component.text("Flint Axe"));
- item.setItemMeta(meta);
- ShapedRecipe recipe = new ShapedRecipe(key, item);
- recipe.shape("A ", "B ", " ");
- recipe.setIngredient('A', Material.FLINT);
- recipe.setIngredient('B', Material.STICK);
- server.addRecipe(recipe);
-
- key = new NamespacedKey(this, "FlintPickaxe");
- item = new ItemStack(Material.STONE_PICKAXE);
- meta = (Damageable) item.getItemMeta();
- meta.setMaxDamage(100);
- meta.displayName(Component.text("Flint Pickaxe"));
- item.setItemMeta(meta);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("AA ", "B ", " ");
- recipe.setIngredient('A', Material.FLINT);
- recipe.setIngredient('B', Material.STICK);
- server.addRecipe(recipe);
-
- key = new NamespacedKey(this, "BoneDirt");
- item = new ItemStack(Material.GRASS_BLOCK,1);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("AAA", "ABA", "ACA");
- recipe.setIngredient('A', Material.GRAVEL);
- recipe.setIngredient('B', Material.BONE_MEAL);
- recipe.setIngredient('C', new RecipeChoice.MaterialChoice(Material.COAL,Material.CHARCOAL));
- server.addRecipe(recipe);
-
- key = new NamespacedKey(this, "StoneStick");
- item = new ItemStack(Material.STICK,4);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("A ", "A ", " ");
- recipe.setIngredient('A', Material.COBBLESTONE);
- server.addRecipe(recipe);
-
- key = new NamespacedKey(this, "GrassSapling");
- item = new ItemStack(Material.OAK_SAPLING);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("AAA", "ABA", "AAA");
- recipe.setIngredient('A', Material.BONE_MEAL);
- recipe.setIngredient('B', Material.DIRT);
- server.addRecipe(recipe);
-
-
- key = new NamespacedKey(this, "CoarseishDirt");
- item = new ItemStack(Material.COARSE_DIRT,2);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("AB ", " ", " ");
- recipe.setIngredient('A', Material.GRAVEL);
- recipe.setIngredient('B', Material.DIRT);
- server.addRecipe(recipe);
-
-
- key = new NamespacedKey(this, "StoneTable");
- item = new ItemStack(Material.CRAFTING_TABLE);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("AA ", "AA ", " ");
- recipe.setIngredient('A', Material.COBBLESTONE);
- server.addRecipe(recipe);
-
- key = new NamespacedKey(this, "CobbledStone");
- item = new ItemStack(Material.COBBLESTONE);
- recipe = new ShapedRecipe(key, item);
- recipe.shape("AA ", "AA ", " ");
- recipe.setIngredient('A', Material.GRAVEL);
- server.addRecipe(recipe);
- }
-
- @Override
- public BiomeProvider getDefaultBiomeProvider(String worldName, String id) {
- return new Biomer();
- }
-
- @Override
- public ChunkGenerator getDefaultWorldGenerator(String worldName, String id) {
- return new Generator();
}
}
\ No newline at end of file
diff --git a/settings.gradle.kts b/settings.gradle.kts
index 609a058..22973fa 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -10,5 +10,5 @@ plugins {
id("org.gradle.toolchains.foojay-resolver-convention") version "0.8.0"
}
-rootProject.name = "minzeo-plugin"
+rootProject.name = "astrophis-plugin"
include("app")
\ No newline at end of file