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: