diff --git a/pom.xml b/pom.xml index 8bc4a51..a280875 100644 --- a/pom.xml +++ b/pom.xml @@ -2,7 +2,7 @@ 4.0.0 club.claycoffee ClayTech - 1.1.0-SNAPSHOT-2 + 1.1.0-SNAPSHOT-3 diff --git a/src/main/java/club/claycoffee/ClayTech/ClayTech.java b/src/main/java/club/claycoffee/ClayTech/ClayTech.java index cea3ed9..1f35d8c 100644 --- a/src/main/java/club/claycoffee/ClayTech/ClayTech.java +++ b/src/main/java/club/claycoffee/ClayTech/ClayTech.java @@ -23,7 +23,7 @@ import club.claycoffee.ClayTech.implementation.Planets.Earth; import club.claycoffee.ClayTech.implementation.Planets.Moon; import club.claycoffee.ClayTech.implementation.items.Armors; -import club.claycoffee.ClayTech.implementation.items.ClayFuel; +import club.claycoffee.ClayTech.implementation.items.ClayFuelResource; import club.claycoffee.ClayTech.implementation.items.Clay_basic; import club.claycoffee.ClayTech.implementation.items.DrinkMakingStaff; import club.claycoffee.ClayTech.implementation.items.Drinks; @@ -50,7 +50,7 @@ import club.claycoffee.ClayTech.implementation.machines.RocketFuelGenerator; import club.claycoffee.ClayTech.implementation.machines.RocketFuelInjector; import club.claycoffee.ClayTech.implementation.machines.SpaceSuitOxygenInjector; -import club.claycoffee.ClayTech.implementation.resources.ClayFuelResource; +import club.claycoffee.ClayTech.implementation.resources.ClayFuel; import club.claycoffee.ClayTech.listeners.*; import me.mrCookieSlime.CSCoreLibPlugin.Configuration.Config; import me.mrCookieSlime.Slimefun.Lists.RecipeType; @@ -390,6 +390,6 @@ private void registerPlanets() { } private void registerResources() { - new ClayFuel().register(); + new ClayFuel(); } } diff --git a/src/main/java/club/claycoffee/ClayTech/ClayTechMachineRecipes.java b/src/main/java/club/claycoffee/ClayTech/ClayTechMachineRecipes.java index 8c5ab2e..4c9f803 100644 --- a/src/main/java/club/claycoffee/ClayTech/ClayTechMachineRecipes.java +++ b/src/main/java/club/claycoffee/ClayTech/ClayTechMachineRecipes.java @@ -228,7 +228,7 @@ ClayTechItems.MAGIC_CLAY, new ItemStack(Material.TNT), new ItemStack(Material.FL null }; public final static ItemStack[] KREEP_INGOT = { null, null, null, null, ClayTechItems.KREEP_ROCK, null, null, null, null }; - + public final static ItemStack[] RAW_CHICKEN_FOOT = { null, null, null, null, new ItemStack(Material.CHICKEN), null, null, null, null };; public final static ItemStack[] PLANET_BASE_SIGNER = {SlimefunItems.STEEL_PLATE,ClayTechItems.ROCKET_ANTENNA,SlimefunItems.STEEL_PLATE,SlimefunItems.HARDENED_GLASS,SlimefunItems.PROGRAMMABLE_ANDROID,SlimefunItems.HARDENED_GLASS,ClayTechItems.TEMPERATURE_RESISTANCE_OBSIDIAN,SlimefunItems.ELECTRIC_MOTOR,ClayTechItems.TEMPERATURE_RESISTANCE_OBSIDIAN}; public final static ItemStack[] TUBE = {SlimefunItems.PLASTIC_SHEET,null,SlimefunItems.PLASTIC_SHEET,SlimefunItems.PLASTIC_SHEET,null,SlimefunItems.PLASTIC_SHEET,SlimefunItems.PLASTIC_SHEET,null,SlimefunItems.PLASTIC_SHEET}; public final static ItemStack[] OXYGEN_DISTRIBUTER = {SlimefunItems.REINFORCED_ALLOY_INGOT,ClayTechItems.TUBE,SlimefunItems.REINFORCED_ALLOY_INGOT,ClayTechItems.SPACESUIT_OXYGEN_TANK,ClayTechItems.SPACESUIT_OXYGEN_TANK,ClayTechItems.SPACESUIT_OXYGEN_TANK,ClayTechItems.KREEP_INGOT,ClayTechItems.SPACESUIT_OXYGEN_TANK,ClayTechItems.KREEP_INGOT}; diff --git a/src/main/java/club/claycoffee/ClayTech/api/Planet.java b/src/main/java/club/claycoffee/ClayTech/api/Planet.java index f04a06a..034672e 100644 --- a/src/main/java/club/claycoffee/ClayTech/api/Planet.java +++ b/src/main/java/club/claycoffee/ClayTech/api/Planet.java @@ -30,9 +30,10 @@ public class Planet { public int gravity; public int distance; public int harmlevel; + public boolean cold; public Planet(String planetName, ItemStack displayItem, ChunkGenerator planetWorld, Environment environment, - boolean habitable, int gravity, int distance, int harmlevel) { + boolean habitable, int gravity, int distance, int harmlevel, boolean cold) { this.planetName = planetName; this.displayItem = displayItem; this.planetWorld = planetWorld; @@ -41,10 +42,11 @@ public Planet(String planetName, ItemStack displayItem, ChunkGenerator planetWor this.gravity = gravity; this.distance = distance; this.harmlevel = harmlevel; + this.cold = cold; } public Planet(String planetName, ItemStack displayItem, World planetWorld, Environment environment, - boolean habitable, int gravity, int distance, int harmlevel) { + boolean habitable, int gravity, int distance, int harmlevel, boolean cold) { this.planetName = planetName; this.displayItem = displayItem; this.planetWorld = planetWorld.getGenerator(); @@ -52,6 +54,7 @@ public Planet(String planetName, ItemStack displayItem, World planetWorld, Envir this.habitable = habitable; this.gravity = gravity; this.harmlevel = harmlevel; + this.cold = cold; } public void register() { @@ -79,16 +82,18 @@ public void register() { } } ClayTech.getPlanets().add(this); + if (Bukkit.getWorld(this.planetName) == null) { // Register WorldCreator newWorld = new WorldCreator(this.planetName); newWorld.environment(this.environment); - newWorld.generator(this.planetWorld); long seed = new Random().nextLong(); - newWorld.seed(seed); - newWorld.type(WorldType.NORMAL); - newWorld.generateStructures(false); + newWorld = newWorld.seed(seed); + newWorld = newWorld.type(WorldType.NORMAL); + newWorld = newWorld.generateStructures(false); + newWorld = newWorld.generator(this.planetWorld); newWorld.createWorld(); + // 多世界注册 if (Bukkit.getPluginManager().isPluginEnabled("Multiverse-Core")) { diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Earth.java b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Earth.java index 4b1e653..3f88b33 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Earth.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Earth.java @@ -13,6 +13,6 @@ public class Earth extends ChunkGenerator { public Earth() { new Planet(ClayTech.getOverworld(), Utils.newItemD(Material.GREEN_GLAZED_TERRACOTTA, Lang.readPlanetsText("Earth")), this, - Environment.NORMAL, true, 1, 0, 0).register(); + Environment.NORMAL, true, 1, 0, 0, false).register(); } } diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Moon.java b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Moon.java index ebe87d2..614c15e 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Moon.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/Moon.java @@ -25,7 +25,7 @@ public class Moon extends ChunkGenerator { public Moon() { new Planet("CMoon", Utils.newItemD(Material.GRAY_GLAZED_TERRACOTTA, Lang.readPlanetsText("Moon")), this, - Environment.NORMAL, false, 3, 100, 1).register(); + Environment.NORMAL, false, 3, 100, 1, true).register(); } @SuppressWarnings("deprecation") diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonDiamondPopulator.java b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonDiamondPopulator.java index 60bc083..5adaa9f 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonDiamondPopulator.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonDiamondPopulator.java @@ -24,22 +24,22 @@ public void populate(@NotNull World world, @NotNull Random random, @NotNull Chun switch (random.nextInt(6)) { case 0: - x++; + x = Math.min(x + 1, 15); break; case 1: - y++; + y = Math.min(y + 1, 15); break; case 2: - z++; + z = Math.min(z + 1, 15); break; case 3: - x--; + x = Math.max(x - 1, 0); break; case 4: y = Math.max(y - 1, 0); break; default: - z--; + z = Math.max(z - 1, 0); break; } } diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonKreepPopulator.java b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonKreepPopulator.java index 12a5af6..828889c 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonKreepPopulator.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/Planets/populators/MoonKreepPopulator.java @@ -9,6 +9,7 @@ import org.jetbrains.annotations.NotNull; import club.claycoffee.ClayTech.ClayTechItems; +import me.mrCookieSlime.Slimefun.SlimefunPlugin; import me.mrCookieSlime.Slimefun.api.BlockStorage; public class MoonKreepPopulator extends BlockPopulator { @@ -22,28 +23,34 @@ public void populate(@NotNull World world, @NotNull Random random, @NotNull Chun int count = 0; while (random.nextDouble() < 0.8D && count <= 4) { if (source.getBlock(x, y, z).getType() == Material.STONE) { + if(!SlimefunPlugin.getRegistry().getWorlds().containsKey(world.getName())) { + BlockStorage bs = new BlockStorage(world); + SlimefunPlugin.getRegistry().getWorlds().put(world.getName(), bs); + } source.getBlock(x, y, z).setType(ClayTechItems.KREEP_ROCK.getType()); BlockStorage.addBlockInfo(source.getBlock(x, y, z), "id", "KREEP_ROCK",true); + count++; + } - + switch (random.nextInt(6)) { case 0: - x++; + x = Math.min(x + 1, 15); break; case 1: - y++; + y = Math.min(y + 1, 20); break; case 2: - z++; + z = Math.min(z + 1, 15); break; case 3: - x--; + x = Math.max(x - 1, 0); break; case 4: - y = Math.max(y - 1, 29); + y = Math.max(y - 1, 30); break; default: - z--; + z = Math.max(z - 1, 0); break; } } diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/resources/ClayFuelResource.java b/src/main/java/club/claycoffee/ClayTech/implementation/items/ClayFuelResource.java similarity index 86% rename from src/main/java/club/claycoffee/ClayTech/implementation/resources/ClayFuelResource.java rename to src/main/java/club/claycoffee/ClayTech/implementation/items/ClayFuelResource.java index 26720b7..e2a968e 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/resources/ClayFuelResource.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/items/ClayFuelResource.java @@ -1,4 +1,4 @@ -package club.claycoffee.ClayTech.implementation.resources; +package club.claycoffee.ClayTech.implementation.items; import club.claycoffee.ClayTech.ClayTechItems; import club.claycoffee.ClayTech.utils.Slimefunutils; diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/items/FoodMakingStaff.java b/src/main/java/club/claycoffee/ClayTech/implementation/items/FoodMakingStaff.java index 9a6ca62..a00284a 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/items/FoodMakingStaff.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/items/FoodMakingStaff.java @@ -6,6 +6,8 @@ import club.claycoffee.ClayTech.ClayTech; import club.claycoffee.ClayTech.ClayTechItems; +import club.claycoffee.ClayTech.ClayTechMachineRecipes; +import club.claycoffee.ClayTech.ClayTechRecipeType; import club.claycoffee.ClayTech.utils.Lang; import club.claycoffee.ClayTech.utils.Slimefunutils; import me.mrCookieSlime.Slimefun.Lists.RecipeType; @@ -14,14 +16,13 @@ public class FoodMakingStaff { public FoodMakingStaff() { - ItemStack[] recipea = { null, null, null, null, new ItemStack(Material.CHICKEN), null, null, null, null }; ItemStack[] recipec = { null, new ItemStack(Material.BREAD), null, null, ClayTechItems.MAGIC_CLAY, null, null, new ItemStack(Material.BREAD), null }; ItemStack[] reciped = { null, new ItemStack(Material.KELP), null, null, ClayTechItems.MAGIC_CLAY, null, null, new ItemStack(Material.BAMBOO), null }; Slimefunutils.registerItem(ClayTechItems.C_FOODMATERIALS, "RAW_CHICKEN_FOOT", ClayTechItems.RAW_CHICKEN_FOOT, - "notresearch", 10, RecipeType.ORE_CRUSHER, recipea, false); + "notresearch", 10, ClayTechRecipeType.CLAY_FOOD_CHALKING_MACHINE, ClayTechMachineRecipes.RAW_CHICKEN_FOOT, false); Slimefunutils.registerItem(ClayTechItems.C_FOODMATERIALS, "RAW_BREAD", ClayTechItems.RAW_BREAD, "notresearch", 10, RecipeType.ENHANCED_CRAFTING_TABLE, recipec, false); Slimefunutils.registerItem(ClayTechItems.C_FOODMATERIALS, "RAW_VEGETABLE", ClayTechItems.RAW_VEGETABLE, diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/items/Golden_things.java b/src/main/java/club/claycoffee/ClayTech/implementation/items/Golden_things.java index 1aa79e7..81811eb 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/items/Golden_things.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/items/Golden_things.java @@ -17,8 +17,7 @@ public Golden_things() { ItemStack[] recipec = { new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.GOLD_INGOT), ClayTechItems.MAGIC_CLAY, new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.GOLD_INGOT), - new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.GOLD_INGOT), - new ItemStack(Material.GOLD_INGOT) }; + new ItemStack(Material.GOLD_INGOT), new ItemStack(Material.GOLD_INGOT)}; ItemStack[] reciped = { ClayTechItems.ARTIFICIAL_GOLD_NUGGET, ClayTechItems.ARTIFICIAL_GOLD_NUGGET, ClayTechItems.ARTIFICIAL_GOLD_NUGGET, ClayTechItems.ARTIFICIAL_GOLD_NUGGET, ClayTechItems.MAGIC_CLAY, ClayTechItems.ARTIFICIAL_GOLD_NUGGET, ClayTechItems.ARTIFICIAL_GOLD_NUGGET, @@ -37,13 +36,13 @@ public Golden_things() { ClayTechItems.ARTIFICIAL_GOLD_BLOCK }; Slimefunutils.registerItem(ClayTechItems.C_MATERIALS, "ARTIFICIAL_GOLD_NUGGET", - ClayTechItems.ARTIFICIAL_GOLD_NUGGET, "notresearch", 10, RecipeType.COMPRESSOR, recipec, false); + ClayTechItems.ARTIFICIAL_GOLD_NUGGET, "notresearch", 10, RecipeType.ENHANCED_CRAFTING_TABLE, recipec, false); Slimefunutils.registerItem(ClayTechItems.C_MATERIALS, "ARTIFICIAL_GOLD_INGOT_O", - ClayTechItems.ARTIFICIAL_GOLD_INGOT_O, "notresearch", 10, RecipeType.COMPRESSOR, reciped, false); + ClayTechItems.ARTIFICIAL_GOLD_INGOT_O, "notresearch", 10, RecipeType.ENHANCED_CRAFTING_TABLE, reciped, false); Slimefunutils.registerItem(ClayTechItems.C_MATERIALS, "ARTIFICIAL_GOLD_INGOT", - ClayTechItems.ARTIFICIAL_GOLD_INGOT, "notresearch", 10, RecipeType.COMPRESSOR, recipee, false); + ClayTechItems.ARTIFICIAL_GOLD_INGOT, "notresearch", 10, RecipeType.ENHANCED_CRAFTING_TABLE, recipee, false); Slimefunutils.registerItem(ClayTechItems.C_MATERIALS, "ARTIFICIAL_GOLD_BLOCK", - ClayTechItems.ARTIFICIAL_GOLD_BLOCK, "notresearch", 10, RecipeType.COMPRESSOR, recipef, false); + ClayTechItems.ARTIFICIAL_GOLD_BLOCK, "notresearch", 10, RecipeType.ENHANCED_CRAFTING_TABLE, recipef, false); Slimefunutils.registerItem(ClayTechItems.C_FOOD, "ARTIFICIAL_ENCHANTED_GOLDEN_APPLE", ClayTechItems.ARTIFICIAL_ENCHANTED_GOLDEN_APPLE, "notresearch", 10, RecipeType.ANCIENT_ALTAR, recipeg, false); diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/machines/FoodChalkingMachine.java b/src/main/java/club/claycoffee/ClayTech/implementation/machines/FoodChalkingMachine.java index 18bf6d3..e472c73 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/machines/FoodChalkingMachine.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/machines/FoodChalkingMachine.java @@ -4,6 +4,7 @@ import org.bukkit.inventory.ItemStack; import club.claycoffee.ClayTech.ClayTechItems; +import club.claycoffee.ClayTech.ClayTechMachineRecipes; import club.claycoffee.ClayTech.implementation.abstractMachines.ANewContainer; import club.claycoffee.ClayTech.utils.Lang; import me.mrCookieSlime.Slimefun.Lists.RecipeType; @@ -52,5 +53,7 @@ public void registerDefaultRecipes() { this.registerRecipe(8, new ItemStack[] { ClayTechItems.RAW_TEA }, new ItemStack[] { ClayTechItems.TEA_POWDER }); this.registerRecipe(8, new ItemStack[] { ClayTechItems.CLAY_LEMON }, new ItemStack[] { ClayTechItems.LEMON_POWDER }); + this.registerRecipe(8, ClayTechMachineRecipes.RAW_CHICKEN_FOOT, + new ItemStack[] { ClayTechItems.RAW_CHICKEN_FOOT }); } } diff --git a/src/main/java/club/claycoffee/ClayTech/implementation/items/ClayFuel.java b/src/main/java/club/claycoffee/ClayTech/implementation/resources/ClayFuel.java similarity index 87% rename from src/main/java/club/claycoffee/ClayTech/implementation/items/ClayFuel.java rename to src/main/java/club/claycoffee/ClayTech/implementation/resources/ClayFuel.java index 225995f..3265aa5 100644 --- a/src/main/java/club/claycoffee/ClayTech/implementation/items/ClayFuel.java +++ b/src/main/java/club/claycoffee/ClayTech/implementation/resources/ClayFuel.java @@ -1,4 +1,4 @@ -package club.claycoffee.ClayTech.implementation.items; +package club.claycoffee.ClayTech.implementation.resources; import org.bukkit.NamespacedKey; import org.bukkit.World.Environment; @@ -9,11 +9,16 @@ import club.claycoffee.ClayTech.ClayTech; import club.claycoffee.ClayTech.ClayTechItems; import club.claycoffee.ClayTech.utils.Lang; +import club.claycoffee.ClayTech.utils.Slimefunutils; import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource; public class ClayFuel implements GEOResource { private final NamespacedKey key = new NamespacedKey(ClayTech.getInstance(), "CLAY_FUEL"); - + + public ClayFuel() { + Slimefunutils.registerResource(this); + } + @Override public @NotNull NamespacedKey getKey() { return key; diff --git a/src/main/java/club/claycoffee/ClayTech/listeners/PlanetBaseListener.java b/src/main/java/club/claycoffee/ClayTech/listeners/PlanetBaseListener.java index e817323..b5a6090 100644 --- a/src/main/java/club/claycoffee/ClayTech/listeners/PlanetBaseListener.java +++ b/src/main/java/club/claycoffee/ClayTech/listeners/PlanetBaseListener.java @@ -3,6 +3,7 @@ import java.util.ArrayList; import java.util.List; +import org.bukkit.Material; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; @@ -12,13 +13,17 @@ import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.event.inventory.InventoryClickEvent; +import org.bukkit.event.player.PlayerBucketEmptyEvent; import org.bukkit.inventory.PlayerInventory; +import org.bukkit.scheduler.BukkitRunnable; import club.claycoffee.ClayTech.ClayTech; import club.claycoffee.ClayTech.ClayTechItems; import club.claycoffee.ClayTech.api.ClayTechManager; +import club.claycoffee.ClayTech.api.Planet; import club.claycoffee.ClayTech.utils.DataYML; import club.claycoffee.ClayTech.utils.Lang; +import club.claycoffee.ClayTech.utils.PlanetUtils; import club.claycoffee.ClayTech.utils.RocketUtils; import me.mrCookieSlime.Slimefun.Setup.SlimefunManager; import me.mrCookieSlime.Slimefun.api.BlockStorage; @@ -27,22 +32,31 @@ public class PlanetBaseListener implements Listener { @EventHandler(priority = EventPriority.HIGHEST) public void BlockPlaceEvent(BlockPlaceEvent e) { if (SlimefunManager.isItemSimilar(e.getPlayer().getInventory().getItemInMainHand(),ClayTechItems.PLANET_BASE_SIGNER,true)) { - DataYML planetsData = ClayTech.getPlanetDataYML(); - FileConfiguration pd = planetsData.getCustomConfig(); - if (!pd.getBoolean(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".base")) { - pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".base", true); - pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".baseX", - e.getBlock().getX()); - pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".baseY", - e.getBlock().getY() + 1); - pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".baseZ", - e.getBlock().getZ()); - planetsData.saveCustomConfig(); - e.getPlayer().sendMessage(Lang.readGeneralText("BaseCompleted")); - } else { - e.getPlayer().sendMessage(Lang.readGeneralText("BaseExists")); - planetsData.saveCustomConfig(); + Planet p = PlanetUtils.getPlanet(e.getBlock().getWorld()); + if(p != null) { + DataYML planetsData = ClayTech.getPlanetDataYML(); + FileConfiguration pd = planetsData.getCustomConfig(); + if (!pd.getBoolean(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".base")) { + pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".base", true); + pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".baseX", + e.getBlock().getX()); + pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".baseY", + e.getBlock().getY() + 1); + pd.set(e.getPlayer().getName() + "." + e.getPlayer().getWorld().getName() + ".baseZ", + e.getBlock().getZ()); + planetsData.saveCustomConfig(); + e.getPlayer().sendMessage(Lang.readGeneralText("BaseCompleted")); + return; + } else { + e.getPlayer().sendMessage(Lang.readGeneralText("BaseExists")); + e.setCancelled(true); + return; + } + } + else { + e.getPlayer().sendMessage(Lang.readGeneralText("NotInPlanet")); e.setCancelled(true); + return; } } } @@ -135,4 +149,23 @@ public void InventoryClickEvent(InventoryClickEvent e) { } } } + + @EventHandler + public void PlayerBucketEmptyEvent(PlayerBucketEmptyEvent e) { + Planet p = PlanetUtils.getPlanet(e.getBlock().getWorld()); + if(p != null) { + if(p.cold && e.getPlayer().getInventory().getItemInMainHand().getType() == Material.WATER_BUCKET) { + new BukkitRunnable() { + + @Override + public void run() { + e.getBlock().setType(Material.BLUE_ICE); + + } + + }.runTaskLater(ClayTech.getInstance(), 30); + return; + } + } + } } diff --git a/src/main/java/club/claycoffee/ClayTech/utils/Slimefunutils.java b/src/main/java/club/claycoffee/ClayTech/utils/Slimefunutils.java index a630b4f..20dd8a3 100644 --- a/src/main/java/club/claycoffee/ClayTech/utils/Slimefunutils.java +++ b/src/main/java/club/claycoffee/ClayTech/utils/Slimefunutils.java @@ -4,6 +4,8 @@ import org.bukkit.inventory.ItemStack; import club.claycoffee.ClayTech.ClayTech; +import io.github.thebusybiscuit.slimefun4.api.geo.GEOResource; +import me.mrCookieSlime.Slimefun.SlimefunPlugin; import me.mrCookieSlime.Slimefun.Lists.RecipeType; import me.mrCookieSlime.Slimefun.Objects.Category; import me.mrCookieSlime.Slimefun.Objects.Research; @@ -63,4 +65,9 @@ public static ItemStack[] getArmorsStack(int type, ItemStack Material) { } return new ItemStack[] { null, null, null, Material, null, Material, Material, null, Material }; } + + public static void registerResource(GEOResource res) { + SlimefunPlugin.getGPSNetwork().getResourceManager().register(res); + SlimefunPlugin.getRegistry().getGEOResources().add(res); + } } diff --git a/src/main/resources/en-UK.yml b/src/main/resources/en-UK.yml index 64cdc68..b7a2bc9 100644 --- a/src/main/resources/en-UK.yml +++ b/src/main/resources/en-UK.yml @@ -49,6 +49,7 @@ General: SPACESUIT_NOT_OK: "&cYour spacesuits aren't intact!" SPACESUIT_4: "&cYou need 4 oxygen level in your oxygen distributer." SPACESUIT_DISTRIBUTER_OK: "&3Done!" + NotInPlanet: "&cSorry. You are not in a planet.So you can't set up a base." Yes_1: "Yes" No_1: "No" Categories: @@ -470,7 +471,7 @@ Items: KREEP_INGOT_LORE: - "&3Rare on the moon" - "&3Can upgrade rockets" - PLANET_BASE_SIGNER: "&9Planet Base Signer" + PLANET_BASE_SIGNER: "&9Planetary Base Marker" PLANET_BASE_SIGNER_LORE: - "&3Can sign your current location." - "&3When you teleport to the planet you signed" diff --git a/src/main/resources/en-US.yml b/src/main/resources/en-US.yml index 64cdc68..b7a2bc9 100644 --- a/src/main/resources/en-US.yml +++ b/src/main/resources/en-US.yml @@ -49,6 +49,7 @@ General: SPACESUIT_NOT_OK: "&cYour spacesuits aren't intact!" SPACESUIT_4: "&cYou need 4 oxygen level in your oxygen distributer." SPACESUIT_DISTRIBUTER_OK: "&3Done!" + NotInPlanet: "&cSorry. You are not in a planet.So you can't set up a base." Yes_1: "Yes" No_1: "No" Categories: @@ -470,7 +471,7 @@ Items: KREEP_INGOT_LORE: - "&3Rare on the moon" - "&3Can upgrade rockets" - PLANET_BASE_SIGNER: "&9Planet Base Signer" + PLANET_BASE_SIGNER: "&9Planetary Base Marker" PLANET_BASE_SIGNER_LORE: - "&3Can sign your current location." - "&3When you teleport to the planet you signed" diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 23120b5..c8c8ec4 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -1,6 +1,6 @@ name: ClayTech main: club.claycoffee.ClayTech.ClayTech -version: 1.1.0-SNAPSHOT-2 +version: 1.1.0-SNAPSHOT-3 api-version: 1.14 depend: [CS-CoreLib, Slimefun] softdepend: [Multiverse-Core] \ No newline at end of file diff --git a/src/main/resources/zh-CN.yml b/src/main/resources/zh-CN.yml index a093f9f..0b88fe6 100644 --- a/src/main/resources/zh-CN.yml +++ b/src/main/resources/zh-CN.yml @@ -49,6 +49,7 @@ General: SPACESUIT_NOT_OK: "&c您的宇航服没有穿齐!" SPACESUIT_4: "&c分配器内至少要求有4点氧气!" SPACESUIT_DISTRIBUTER_OK: "&3分配成功!" + NotInPlanet: "&c抱歉,您当前不在星球中!无法设立基地。" Yes_1: "是" No_1: "否" Categories: diff --git a/src/main/resources/zh-TW.yml b/src/main/resources/zh-TW.yml index 19e6ff7..99626bc 100644 --- a/src/main/resources/zh-TW.yml +++ b/src/main/resources/zh-TW.yml @@ -49,6 +49,7 @@ General: SPACESUIT_NOT_OK: "&c您的宇航服沒有穿齊!" SPACESUIT_4: "&c分配器內至少要求有4點氧氣!" SPACESUIT_DISTRIBUTER_OK: "&3分配成功!" + NotInPlanet: "&c抱歉,您當前不在星球中!無法設立基地。" Yes_1: "是" No_1: "否" Categories: