Mirror von
https://github.com/St3venAU/ArmorStandTools.git
synchronisiert 2024-12-27 12:00:07 +01:00
Added support for Vehicles
Dieser Commit ist enthalten in:
Ursprung
ed0b0db409
Commit
aa69a4e91d
@ -21,6 +21,7 @@ import org.bukkit.inventory.PlayerInventory;
|
||||
import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
import org.bukkit.metadata.MetadataValue;
|
||||
import org.bukkit.plugin.Plugin;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
@ -38,7 +39,7 @@ public class AST extends JavaPlugin {
|
||||
final static HashMap<UUID, ArmorStand> selectedArmorStand = new HashMap<>();
|
||||
|
||||
public static final HashMap<UUID, ItemStack[]> savedInventories = new HashMap<>();
|
||||
|
||||
public static Boolean hasVehiclesInstalled = false;
|
||||
static final HashMap<UUID, AbstractMap.SimpleEntry<UUID, Integer>> waitingForName = new HashMap<>(); // Player UUID, <ArmorStand UUID, Task ID>
|
||||
static final HashMap<UUID, AbstractMap.SimpleEntry<UUID, Integer>> waitingForSkull = new HashMap<>(); // Player UUID, <ArmorStand UUID, Task ID>
|
||||
|
||||
@ -87,6 +88,8 @@ public class AST extends JavaPlugin {
|
||||
}
|
||||
getServer().getPluginManager().registerEvents(new MainListener(), this);
|
||||
getServer().getMessenger().registerOutgoingPluginChannel(this, "BungeeCord");
|
||||
Plugin vehicles = getServer().getPluginManager().getPlugin("Vehicles");
|
||||
if (vehicles != null) hasVehiclesInstalled = Boolean.valueOf(vehicles.isEnabled());
|
||||
Commands cmds = new Commands();
|
||||
PluginCommand command = getCommand("astools");
|
||||
if(command != null) {
|
||||
|
@ -41,6 +41,8 @@ import org.bukkit.inventory.meta.SkullMeta;
|
||||
import org.bukkit.metadata.FixedMetadataValue;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import es.pollitoyeye.vehicles.enums.VehicleType;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
@ -53,6 +55,7 @@ public class MainListener implements Listener {
|
||||
public void onPlayerInteractAtEntity(PlayerInteractAtEntityEvent event) {
|
||||
if(!(event.getRightClicked() instanceof ArmorStand as)) return;
|
||||
Player p = event.getPlayer();
|
||||
if(isVehicle(as)) return;
|
||||
if (ArmorStandGUI.isInUse(as)) {
|
||||
Utils.title(p, Config.guiInUse);
|
||||
event.setCancelled(true);
|
||||
@ -129,6 +132,22 @@ public class MainListener implements Listener {
|
||||
}
|
||||
}
|
||||
}
|
||||
public Boolean isVehicle(ArmorStand as) {
|
||||
if(!AST.hasVehiclesInstalled) return false;
|
||||
String customName = as.getCustomName();
|
||||
if (customName == null) return false;
|
||||
byte b;
|
||||
int i;
|
||||
VehicleType[] arrayOfVehicleType;
|
||||
for (i = (arrayOfVehicleType = VehicleType.values()).length, b = 0; b < i; ) {
|
||||
VehicleType toCheck = arrayOfVehicleType[b];
|
||||
if (customName.startsWith(String.valueOf(toCheck.getName()) + ";")) {
|
||||
return true;
|
||||
}
|
||||
b++;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@EventHandler
|
||||
public void onPlayerInteractEntity(PlayerInteractEntityEvent event) {
|
||||
|
@ -4,7 +4,7 @@ version: ${project.version}
|
||||
api-version: 1.17
|
||||
author: St3venAU
|
||||
description: Armor stand manipulation tools
|
||||
softdepend: [WorldGuard, PlotSquared]
|
||||
softdepend: [WorldGuard, PlotSquared, Vehicles]
|
||||
commands:
|
||||
astools:
|
||||
description: Give yourself the armor stand tools
|
||||
|
Laden…
In neuem Issue referenzieren
Einen Benutzer sperren