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
|
||||
commands:
|
||||
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.Material;
|
||||
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 iie.HelloWorldPlugin;
|
||||
|
||||
public class RandomTP{
|
||||
|
||||
public class RandomTP implements CommandExecutor{
|
||||
|
||||
private int conflictX;
|
||||
private int conflictZ;
|
||||
|
@ -15,6 +20,12 @@ public class RandomTP{
|
|||
private boolean southUsed;
|
||||
private boolean eastUsed;
|
||||
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.
|
||||
//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){
|
||||
|
@ -121,26 +132,31 @@ public class RandomTP{
|
|||
|
||||
//Randomly teleports a player, into the hardcore world
|
||||
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
|
||||
int xdifference = minLocation.getBlockX() - maxLocation.getBlockX();
|
||||
int xAverage = (int) Math.floor(minLocation.getBlockX() + maxLocation.getBlockX() / 2);
|
||||
|
||||
|
||||
//INIT - zDifference, zAverage
|
||||
int zdifference = minLocation.getBlockX() - maxLocation.getBlockY();
|
||||
int zAverage = (int) Math.floor(minLocation.getBlockZ() + maxLocation.getBlockZ());
|
||||
|
||||
player.sendMessage("Averages : " + xAverage + "|" + zAverage);
|
||||
//TELEPORTS - Tries 20 times to find a location
|
||||
for(int i = 0; i < 20; i ++){
|
||||
|
||||
|
||||
//INIT - attemptedX, attemptedZ
|
||||
int attemptedX = (int) Math.floor((Math.random()-0.5)*xdifference) + xAverage;
|
||||
int attemptedZ = (int) Math.floor((Math.random()-0.5)*zdifference) + zAverage;
|
||||
|
||||
player.sendMessage("TAKE " + i + " : " + attemptedX + ", "+ attemptedZ);
|
||||
//CHECKS - if ground is safe
|
||||
boolean groundisSafe = world.getHighestBlockAt(attemptedX, attemptedZ).getType() != Material.WATER;
|
||||
if (groundisSafe){
|
||||
player.sendMessage("SAFE GROUND, TELEPORTING");
|
||||
player.teleport(world.getHighestBlockAt(attemptedX, attemptedZ).getLocation());
|
||||
return;
|
||||
}
|
||||
|
@ -148,4 +164,21 @@ public class RandomTP{
|
|||
//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;
|
||||
|
||||
public class ConflictCompassCraftingListener implements Listener{
|
||||
public static void main(String[] args){
|
||||
String nulltest = null;
|
||||
if(nulltest == null){
|
||||
System.out.println("NUUUUULL");
|
||||
}
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public boolean onConflictCompassCraft(CraftItemEvent event){
|
||||
//SANITATION - HARDCORE
|
||||
if(event.getWhoClicked().getWorld().getName() != "hardcore"){
|
||||
if(event.getWhoClicked().getWorld().getName() != "hardcore")
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
//INIT - targetItem
|
||||
ItemStack targetItem = event.getRecipe().getResult();
|
||||
|
||||
//SANITATION - NOT COMPASS
|
||||
if(targetItem.getType() != Material.COMPASS){
|
||||
if(targetItem.getType() != Material.COMPASS)
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
event.setCancelled(true);
|
||||
//GIVE - chainmail chestplate
|
||||
|
@ -60,9 +66,9 @@ public class ConflictCompassCraftingListener implements Listener{
|
|||
nearestPlayer = player;
|
||||
}
|
||||
}
|
||||
if(nearestPlayer == null){
|
||||
if(nearestPlayer == null)
|
||||
return "METAL";
|
||||
}
|
||||
|
||||
return nearestPlayer.toString();
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue