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/main | |
| 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/main')
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  | 
