Finalized the RandomTP
This commit is contained in:
parent
172c1224f8
commit
fb43e3c8d7
4 changed files with 80 additions and 13 deletions
|
@ -3,4 +3,6 @@
|
||||||
name: HelloWorldPlugin
|
name: HelloWorldPlugin
|
||||||
commands:
|
commands:
|
||||||
HelloWorld:
|
HelloWorld:
|
||||||
description: Command that says Hello World!
|
description: Command that says Hello World!
|
||||||
|
debugRTP:
|
||||||
|
description: Command that randomly teleports someone inside the hardcore world
|
|
@ -3,10 +3,15 @@ package alisolarflare;
|
||||||
import org.bukkit.Location;
|
import org.bukkit.Location;
|
||||||
import org.bukkit.Material;
|
import org.bukkit.Material;
|
||||||
import org.bukkit.World;
|
import org.bukkit.World;
|
||||||
|
import org.bukkit.command.Command;
|
||||||
|
import org.bukkit.command.CommandExecutor;
|
||||||
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import iie.HelloWorldPlugin;
|
||||||
|
|
||||||
public class RandomTP{
|
|
||||||
|
public class RandomTP implements CommandExecutor{
|
||||||
|
|
||||||
private int conflictX;
|
private int conflictX;
|
||||||
private int conflictZ;
|
private int conflictZ;
|
||||||
|
@ -15,6 +20,12 @@ public class RandomTP{
|
||||||
private boolean southUsed;
|
private boolean southUsed;
|
||||||
private boolean eastUsed;
|
private boolean eastUsed;
|
||||||
private boolean westUsed;
|
private boolean westUsed;
|
||||||
|
@SuppressWarnings("unused")
|
||||||
|
private HelloWorldPlugin helloWorldPlugin;
|
||||||
|
public RandomTP(HelloWorldPlugin helloWorldPlugin) {
|
||||||
|
this.helloWorldPlugin = helloWorldPlugin;
|
||||||
|
}
|
||||||
|
|
||||||
//every 4 players who use it will be teleported near each other.
|
//every 4 players who use it will be teleported near each other.
|
||||||
//ex. iie > 1200, ali -> 1210, byz -> 1190, charles -> 1195, wind -> 300, zan -> 310, etc
|
//ex. iie > 1200, ali -> 1210, byz -> 1190, charles -> 1195, wind -> 300, zan -> 310, etc
|
||||||
public void conflictRtp(Player player, World world, Location minLocation, Location maxLocation){
|
public void conflictRtp(Player player, World world, Location minLocation, Location maxLocation){
|
||||||
|
@ -121,26 +132,31 @@ public class RandomTP{
|
||||||
|
|
||||||
//Randomly teleports a player, into the hardcore world
|
//Randomly teleports a player, into the hardcore world
|
||||||
public void rtp(Player player, World world, Location minLocation, Location maxLocation){
|
public void rtp(Player player, World world, Location minLocation, Location maxLocation){
|
||||||
|
player.sendMessage("TELEPORT INITIATED");
|
||||||
|
player.sendMessage("minLocation: " + minLocation.toString());
|
||||||
|
player.sendMessage("maxLocation: " + maxLocation.toString());
|
||||||
|
player.sendMessage("world : " + world.toString());
|
||||||
|
player.sendMessage("player : " + player.toString());
|
||||||
|
|
||||||
//INIT - xDifference, xAverage
|
//INIT - xDifference, xAverage
|
||||||
int xdifference = minLocation.getBlockX() - maxLocation.getBlockX();
|
int xdifference = minLocation.getBlockX() - maxLocation.getBlockX();
|
||||||
int xAverage = (int) Math.floor(minLocation.getBlockX() + maxLocation.getBlockX() / 2);
|
int xAverage = (int) Math.floor(minLocation.getBlockX() + maxLocation.getBlockX() / 2);
|
||||||
|
|
||||||
//INIT - zDifference, zAverage
|
//INIT - zDifference, zAverage
|
||||||
int zdifference = minLocation.getBlockX() - maxLocation.getBlockY();
|
int zdifference = minLocation.getBlockX() - maxLocation.getBlockY();
|
||||||
int zAverage = (int) Math.floor(minLocation.getBlockZ() + maxLocation.getBlockZ());
|
int zAverage = (int) Math.floor(minLocation.getBlockZ() + maxLocation.getBlockZ());
|
||||||
|
player.sendMessage("Averages : " + xAverage + "|" + zAverage);
|
||||||
//TELEPORTS - Tries 20 times to find a location
|
//TELEPORTS - Tries 20 times to find a location
|
||||||
for(int i = 0; i < 20; i ++){
|
for(int i = 0; i < 20; i ++){
|
||||||
|
|
||||||
//INIT - attemptedX, attemptedZ
|
//INIT - attemptedX, attemptedZ
|
||||||
int attemptedX = (int) Math.floor((Math.random()-0.5)*xdifference) + xAverage;
|
int attemptedX = (int) Math.floor((Math.random()-0.5)*xdifference) + xAverage;
|
||||||
int attemptedZ = (int) Math.floor((Math.random()-0.5)*zdifference) + zAverage;
|
int attemptedZ = (int) Math.floor((Math.random()-0.5)*zdifference) + zAverage;
|
||||||
|
player.sendMessage("TAKE " + i + " : " + attemptedX + ", "+ attemptedZ);
|
||||||
//CHECKS - if ground is safe
|
//CHECKS - if ground is safe
|
||||||
boolean groundisSafe = world.getHighestBlockAt(attemptedX, attemptedZ).getType() != Material.WATER;
|
boolean groundisSafe = world.getHighestBlockAt(attemptedX, attemptedZ).getType() != Material.WATER;
|
||||||
if (groundisSafe){
|
if (groundisSafe){
|
||||||
|
player.sendMessage("SAFE GROUND, TELEPORTING");
|
||||||
player.teleport(world.getHighestBlockAt(attemptedX, attemptedZ).getLocation());
|
player.teleport(world.getHighestBlockAt(attemptedX, attemptedZ).getLocation());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -148,4 +164,21 @@ public class RandomTP{
|
||||||
//player.teleport(arg0)
|
//player.teleport(arg0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
|
if(!(sender instanceof Player)){
|
||||||
|
sender.sendMessage("You must be a Player to use this command!");
|
||||||
|
sender.sendMessage(sender.toString());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
Player player = (Player) sender;
|
||||||
|
if(player.getWorld().getName() != "hardcore"){
|
||||||
|
sender.sendMessage("You must be in the hardcore world to use this command!");
|
||||||
|
sender.sendMessage("Current World: " + player.getWorld().getName());
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
rtp(player, player.getWorld(), new Location(player.getWorld(), 644, 65, -944), new Location(player.getWorld(), 1700, 65, 464));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
26
src/alisolarflare/listeners/CompassLobby.java
Normal file
26
src/alisolarflare/listeners/CompassLobby.java
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
package alisolarflare.listeners;
|
||||||
|
|
||||||
|
import org.bukkit.Bukkit;
|
||||||
|
import org.bukkit.Material;
|
||||||
|
import org.bukkit.entity.Player;
|
||||||
|
import org.bukkit.event.EventHandler;
|
||||||
|
import org.bukkit.event.Listener;
|
||||||
|
import org.bukkit.event.player.PlayerJoinEvent;
|
||||||
|
import org.bukkit.inventory.Inventory;
|
||||||
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
|
|
||||||
|
public class CompassLobby implements Listener{
|
||||||
|
@EventHandler
|
||||||
|
public void onPlayerJoin(PlayerJoinEvent event){
|
||||||
|
openGUI(event.getPlayer());
|
||||||
|
}
|
||||||
|
public void openGUI(Player p){
|
||||||
|
//format: null, size of inventory (must be divisible by 9), "GUI name"
|
||||||
|
Inventory inv = Bukkit.createInventory(null, 9, "GUI Name");
|
||||||
|
inv.setItem(0, new ItemStack(Material.GRASS));
|
||||||
|
inv.setItem(1, new ItemStack(Material.IRON_SWORD));
|
||||||
|
inv.setItem(8, new ItemStack(Material.BARRIER));
|
||||||
|
p.openInventory(inv);
|
||||||
|
}
|
||||||
|
}
|
|
@ -14,21 +14,27 @@ import org.bukkit.event.inventory.CraftItemEvent;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
public class ConflictCompassCraftingListener implements Listener{
|
public class ConflictCompassCraftingListener implements Listener{
|
||||||
|
public static void main(String[] args){
|
||||||
|
String nulltest = null;
|
||||||
|
if(nulltest == null){
|
||||||
|
System.out.println("NUUUUULL");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
public boolean onConflictCompassCraft(CraftItemEvent event){
|
public boolean onConflictCompassCraft(CraftItemEvent event){
|
||||||
//SANITATION - HARDCORE
|
//SANITATION - HARDCORE
|
||||||
if(event.getWhoClicked().getWorld().getName() != "hardcore"){
|
if(event.getWhoClicked().getWorld().getName() != "hardcore")
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
//INIT - targetItem
|
//INIT - targetItem
|
||||||
ItemStack targetItem = event.getRecipe().getResult();
|
ItemStack targetItem = event.getRecipe().getResult();
|
||||||
|
|
||||||
//SANITATION - NOT COMPASS
|
//SANITATION - NOT COMPASS
|
||||||
if(targetItem.getType() != Material.COMPASS){
|
if(targetItem.getType() != Material.COMPASS)
|
||||||
return false;
|
return false;
|
||||||
}
|
|
||||||
|
|
||||||
event.setCancelled(true);
|
event.setCancelled(true);
|
||||||
//GIVE - chainmail chestplate
|
//GIVE - chainmail chestplate
|
||||||
|
@ -60,9 +66,9 @@ public class ConflictCompassCraftingListener implements Listener{
|
||||||
nearestPlayer = player;
|
nearestPlayer = player;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(nearestPlayer == null){
|
if(nearestPlayer == null)
|
||||||
return "METAL";
|
return "METAL";
|
||||||
}
|
|
||||||
return nearestPlayer.toString();
|
return nearestPlayer.toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue