Add a:nametag, add item to a:bucket
This commit is contained in:
@@ -226,6 +226,7 @@ actions:
|
||||
p: mounted
|
||||
n: unmounted
|
||||
msg: messaged
|
||||
nametag: name tagged
|
||||
nationbank:
|
||||
p: deposited
|
||||
n: withdrew
|
||||
|
||||
@@ -210,6 +210,7 @@ actions:
|
||||
townbank:
|
||||
p: внёс
|
||||
n: снял
|
||||
nametag: имя помечено
|
||||
nationcreate: создал нацию
|
||||
nationrename: переменовал нацию
|
||||
nationdelete: удалил нацию
|
||||
|
||||
2
pom.xml
2
pom.xml
@@ -3,7 +3,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>AuxProtect</groupId>
|
||||
<artifactId>AuxProtect</artifactId>
|
||||
<version>1.2.5.2</version>
|
||||
<version>1.2.6-pre1</version>
|
||||
<name>AuxProtect</name>
|
||||
<build>
|
||||
<finalName>${project.artifactId}-${project.version}</finalName>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package dev.heliosares.auxprotect.database;
|
||||
|
||||
import dev.heliosares.auxprotect.api.AuxProtectAPI;
|
||||
import dev.heliosares.auxprotect.adapters.sender.SenderAdapter;
|
||||
import dev.heliosares.auxprotect.api.AuxProtectAPI;
|
||||
import dev.heliosares.auxprotect.core.APPermission;
|
||||
import dev.heliosares.auxprotect.core.IAuxProtect;
|
||||
import dev.heliosares.auxprotect.core.Language;
|
||||
@@ -19,13 +19,14 @@ public class EntryAction {
|
||||
public static final EntryAction SESSION = new EntryAction("session", 4, 5);
|
||||
public static final EntryAction KICK = new EntryAction("kick", 6);
|
||||
public static final EntryAction SHOP = new EntryAction("shop", 8, 9);
|
||||
public static final EntryAction BUCKET = new EntryAction("bucket", 10, 11);
|
||||
// SKIPPED 10/11
|
||||
public static final EntryAction MOUNT = new EntryAction("mount", 12, 13);
|
||||
public static final EntryAction PLUGINLOAD = new EntryAction("pluginload", 14, 15);
|
||||
|
||||
public static final EntryAction ALERT = new EntryAction("alert", 128);
|
||||
public static final EntryAction RESPAWN = new EntryAction("respawn", 129);
|
||||
// public static final EntryAction XRAYCHECK = new EntryAction("xraycheck", 130);
|
||||
// SKIPPED 130
|
||||
// SKIPPED 131
|
||||
public static final EntryAction CENSOR = new EntryAction("censor", 132);
|
||||
public static final EntryAction MSG = new EntryAction("msg", 133);
|
||||
public static final EntryAction CONSUME = new EntryAction("consume", 134);
|
||||
@@ -39,6 +40,7 @@ public class EntryAction {
|
||||
public static final EntryAction PAY = new EntryAction("pay", 141);
|
||||
public static final EntryAction LIGHTNING = new EntryAction("lightning", 142);
|
||||
public static final EntryAction EXPLODE = new EntryAction("explode", 143);
|
||||
public static final EntryAction NAMETAG = new EntryAction("nametag", 144);
|
||||
// END MAIN (255)
|
||||
|
||||
// START SPAM(256)
|
||||
@@ -83,6 +85,7 @@ public class EntryAction {
|
||||
public static final EntryAction ENCHANT = new EntryAction("enchant", 1156);
|
||||
|
||||
public static final EntryAction SMITH = new EntryAction("smith", 1157);
|
||||
public static final EntryAction BUCKET = new EntryAction("bucket", 1158, 1159);
|
||||
// END INVENTORY(1279)
|
||||
|
||||
// COMMANDS (1280)
|
||||
|
||||
@@ -10,7 +10,7 @@ import java.sql.*;
|
||||
import java.util.*;
|
||||
|
||||
public class MigrationManager {
|
||||
public static final int TARGET_DB_VERSION = 11;
|
||||
public static final int TARGET_DB_VERSION = 12;
|
||||
private final SQLManager sql;
|
||||
private final Connection connection;
|
||||
private final IAuxProtect plugin;
|
||||
@@ -381,6 +381,20 @@ public class MigrationManager {
|
||||
tryExecute("UPDATE " + Table.AUXPROTECT_POSITION + " set increment=0 where increment is null");
|
||||
}));
|
||||
|
||||
|
||||
//
|
||||
// 12
|
||||
//
|
||||
|
||||
migrationActions.put(12, new MigrationAction(plugin.getPlatform() == PlatformType.SPIGOT, () -> {
|
||||
}, () -> {
|
||||
String buckets = Table.AUXPROTECT_MAIN + " WHERE action_id IN (10,11)";
|
||||
sql.execute("INSERT INTO " + Table.AUXPROTECT_INVENTORY + " (time, uid, action_id, world_id, x, y, z, target_id, data) SELECT time, uid, action_id, world_id, x, y, z, target_id, data FROM " + buckets, connection);
|
||||
sql.execute("UPDATE " + Table.AUXPROTECT_INVENTORY + " SET action_id=1158 WHERE action_id=10", connection);
|
||||
sql.execute("UPDATE " + Table.AUXPROTECT_INVENTORY + " SET action_id=1159 WHERE action_id=11", connection);
|
||||
sql.execute("DELETE FROM " + buckets, connection);
|
||||
}));
|
||||
|
||||
//
|
||||
// Finalizing
|
||||
//
|
||||
|
||||
@@ -280,4 +280,5 @@ public class EntityListener implements Listener {
|
||||
e.getEntity().getLocation(), AuxProtectSpigot.getLabel(e.getEntity()), "");
|
||||
plugin.add(entry);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -29,23 +29,22 @@ import org.bukkit.event.entity.PlayerLeashEntityEvent;
|
||||
import org.bukkit.event.player.*;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.Damageable;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.PotionMeta;
|
||||
import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
import java.sql.SQLException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
|
||||
public class PlayerListener implements Listener {
|
||||
|
||||
private final ArrayList<Material> buckets;
|
||||
private final ArrayList<EntityType> mobs;
|
||||
private final Set<Material> buckets;
|
||||
private final Set<EntityType> mobs;
|
||||
private final AuxProtectSpigot plugin;
|
||||
|
||||
public PlayerListener(AuxProtectSpigot plugin) {
|
||||
this.plugin = plugin;
|
||||
buckets = new ArrayList<>();
|
||||
Set<Material> buckets = new HashSet<>();
|
||||
if (plugin.getCompatabilityVersion() >= 17) {
|
||||
buckets.add(Material.AXOLOTL_BUCKET);
|
||||
}
|
||||
@@ -53,7 +52,8 @@ public class PlayerListener implements Listener {
|
||||
buckets.add(Material.SALMON_BUCKET);
|
||||
buckets.add(Material.TROPICAL_FISH_BUCKET);
|
||||
buckets.add(Material.PUFFERFISH_BUCKET);
|
||||
mobs = new ArrayList<>();
|
||||
this.buckets = Collections.unmodifiableSet(buckets);
|
||||
Set<EntityType> mobs = new HashSet<>();
|
||||
mobs.add(EntityType.PUFFERFISH);
|
||||
if (plugin.getCompatabilityVersion() >= 17) {
|
||||
mobs.add(EntityType.AXOLOTL);
|
||||
@@ -64,6 +64,7 @@ public class PlayerListener implements Listener {
|
||||
mobs.add(EntityType.TROPICAL_FISH);
|
||||
mobs.add(EntityType.COD);
|
||||
mobs.add(EntityType.SALMON);
|
||||
this.mobs = Collections.unmodifiableSet(mobs);
|
||||
}
|
||||
|
||||
public static void logMoney(AuxProtectSpigot plugin, Player player, String reason) {
|
||||
@@ -90,17 +91,29 @@ public class PlayerListener implements Listener {
|
||||
public void onPlayerInteractEntityEvent(PlayerInteractEntityEvent e) {
|
||||
plugin.getAPPlayer(e.getPlayer()).addActivity(1);
|
||||
|
||||
ItemStack mainhand = e.getPlayer().getInventory().getItemInMainHand();
|
||||
ItemStack offhand = e.getPlayer().getInventory().getItemInOffHand();
|
||||
if (mainhand.getType() == Material.WATER_BUCKET || offhand.getType() == Material.WATER_BUCKET) {
|
||||
if (mobs.contains(e.getRightClicked().getType())) {
|
||||
DbEntry entry = new DbEntry(AuxProtectSpigot.getLabel(e.getPlayer()), EntryAction.BUCKET, true,
|
||||
e.getRightClicked().getLocation(), AuxProtectSpigot.getLabel(e.getRightClicked()), "");
|
||||
plugin.add(entry);
|
||||
ItemStack item = e.getPlayer().getInventory().getItem(e.getHand());
|
||||
|
||||
if (item != null) {
|
||||
if (item.getType() == Material.NAME_TAG) {
|
||||
ItemMeta meta = item.getItemMeta();
|
||||
if (meta != null && meta.hasDisplayName()) {
|
||||
plugin.add(new DbEntry(AuxProtectSpigot.getLabel(e.getPlayer()), EntryAction.NAMETAG, true,
|
||||
e.getRightClicked().getLocation(), AuxProtectSpigot.getLabel(e.getRightClicked()), meta.getDisplayName()));
|
||||
}
|
||||
}
|
||||
if (item.getType() == Material.WATER_BUCKET) {
|
||||
if (mobs.contains(e.getRightClicked().getType())) {
|
||||
plugin.getServer().getScheduler().runTaskLater(plugin, () -> {
|
||||
ItemStack newBucket = e.getPlayer().getInventory().getItem(e.getHand());
|
||||
if (newBucket != null && !buckets.contains(newBucket.getType())) newBucket = null;
|
||||
plugin.add(new SingleItemEntry(AuxProtectSpigot.getLabel(e.getPlayer()), EntryAction.BUCKET, true,
|
||||
e.getRightClicked().getLocation(), AuxProtectSpigot.getLabel(e.getRightClicked()), "", newBucket));
|
||||
}, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (e.getRightClicked() instanceof final ItemFrame item) {
|
||||
if (item.getItem().getType() == Material.AIR) {
|
||||
if (e.getRightClicked() instanceof final ItemFrame itemFrame) {
|
||||
if (itemFrame.getItem().getType() == Material.AIR) {
|
||||
ItemStack added = e.getPlayer().getInventory().getItemInMainHand();
|
||||
if (added.getType() == Material.AIR) {
|
||||
added = e.getPlayer().getInventory().getItemInOffHand();
|
||||
@@ -108,7 +121,7 @@ public class PlayerListener implements Listener {
|
||||
if (added.getType() != Material.AIR) {
|
||||
String data = "";
|
||||
DbEntry entry = new SingleItemEntry(AuxProtectSpigot.getLabel(e.getPlayer()), EntryAction.ITEMFRAME, true,
|
||||
item.getLocation(), added.getType().toString().toLowerCase(), data, added);
|
||||
itemFrame.getLocation(), added.getType().toString().toLowerCase(), data, added);
|
||||
plugin.add(entry);
|
||||
}
|
||||
}
|
||||
@@ -125,9 +138,8 @@ public class PlayerListener implements Listener {
|
||||
|
||||
if (e.getAction() == Action.RIGHT_CLICK_BLOCK && e.getClickedBlock() != null) {
|
||||
if ((e.getItem() != null && buckets.contains(e.getItem().getType()))) {
|
||||
DbEntry entry = new DbEntry(AuxProtectSpigot.getLabel(e.getPlayer()), EntryAction.BUCKET, false,
|
||||
e.getClickedBlock().getLocation(), e.getItem().getType().toString().toLowerCase(), "");
|
||||
plugin.add(entry);
|
||||
plugin.add(new SingleItemEntry(AuxProtectSpigot.getLabel(e.getPlayer()), EntryAction.BUCKET, false,
|
||||
e.getClickedBlock().getLocation(), e.getItem().getType().toString().toLowerCase(), "", e.getItem()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user