diff options
author | Myles <mylesandmore9@gmail.com> | 2022-11-27 18:49:33 -0600 |
---|---|---|
committer | Myles <mylesandmore9@gmail.com> | 2022-11-27 18:49:33 -0600 |
commit | fb4565649982fc06dca61963fd2b50535cb5d314 (patch) | |
tree | f128d9dcce3da59f8a4aeb1a4d6d9dd6c0a8997a /src | |
parent | d169d27a2140952a08c23017ca98a4b97c09a400 (diff) | |
download | Tumble-fb4565649982fc06dca61963fd2b50535cb5d314.tar.gz Tumble-fb4565649982fc06dca61963fd2b50535cb5d314.tar.bz2 Tumble-fb4565649982fc06dca61963fd2b50535cb5d314.zip |
add a circle generator (ew math)
Diffstat (limited to 'src')
3 files changed, 31 insertions, 2 deletions
diff --git a/src/main/java/com/MylesAndMore/tumble/GameManager.java b/src/main/java/com/MylesAndMore/tumble/GameManager.java index 2859c28..2171527 100644 --- a/src/main/java/com/MylesAndMore/tumble/GameManager.java +++ b/src/main/java/com/MylesAndMore/tumble/GameManager.java @@ -1,5 +1,8 @@ package com.MylesAndMore.tumble; +import com.MylesAndMore.tumble.api.Generator; +import org.bukkit.Bukkit; +import org.bukkit.Location; import org.bukkit.Material; import org.bukkit.entity.Player; import org.bukkit.inventory.ItemStack; @@ -11,7 +14,9 @@ public class GameManager { public static boolean createGame(String gameType) { if (Objects.equals(gameType, "shovels")) { // Generate a single layer - + Location layer = Bukkit.getWorld(TumbleManager.getGameWorld()).getSpawnLocation(); + layer.setY(layer.getY() - 1); + Generator.generateLayer(layer, 20, Material.DIRT); // Give players diamond shovels giveItems(new ItemStack(Material.DIAMOND_SHOVEL)); // Pass on the game type diff --git a/src/main/java/com/MylesAndMore/tumble/api/Generator.java b/src/main/java/com/MylesAndMore/tumble/api/Generator.java new file mode 100644 index 0000000..99850e9 --- /dev/null +++ b/src/main/java/com/MylesAndMore/tumble/api/Generator.java @@ -0,0 +1,25 @@ +package com.MylesAndMore.tumble.api; + +import org.bukkit.Location; +import org.bukkit.Material; +import org.bukkit.World; + +public class Generator { + public static void generateLayer(Location center, int radius, Material material) { + int Cx = center.getBlockX(); + int Cy = center.getBlockY(); + int Cz = center.getBlockZ(); + World world = center.getWorld(); + + int rSq = radius * radius; + + for (int x = Cx - radius; x <= Cx + radius; x++) { + for (int z = Cz - radius; z <= Cz + radius; z++) { + if ((Cx - x) * (Cx - x) + (Cz - z) * (Cz - z) <= rSq) { + Location block = new Location(world, x, Cy, z); + world.getBlockAt(x, Cy, z).setType(material); + } + } + } + } +} diff --git a/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java b/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java index de82e09..2dc64c7 100644 --- a/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java +++ b/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java @@ -10,7 +10,6 @@ import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import java.util.List; -import java.util.Objects; public class StartGame implements CommandExecutor { // Define the startGame method so that other classes can refrence it |