添加物品uuid检测
This commit is contained in:
parent
35ae784ade
commit
a42d761f41
1 changed files with 21 additions and 0 deletions
|
@ -108,6 +108,23 @@ public abstract class GunItem extends Item implements CustomRendererItem, GeoIte
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void checkCopyGuns(ItemStack stack, Player player) {
|
||||||
|
var data = GunData.from(stack);
|
||||||
|
if (!data.initialized()) return;
|
||||||
|
var uuid = data.data.getUUID("UUID");
|
||||||
|
|
||||||
|
for (var item : player.getInventory().items) {
|
||||||
|
if (item.equals(stack)) continue;
|
||||||
|
if (item.getItem() instanceof GunItem) {
|
||||||
|
var itemData = GunData.from(item);
|
||||||
|
if (itemData.data.getUUID("UUID").equals(uuid)) {
|
||||||
|
data.data.putUUID("UUID", UUID.randomUUID());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ParametersAreNonnullByDefault
|
@ParametersAreNonnullByDefault
|
||||||
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
public void inventoryTick(ItemStack stack, Level level, Entity entity, int slot, boolean selected) {
|
||||||
|
@ -119,6 +136,10 @@ public abstract class GunItem extends Item implements CustomRendererItem, GeoIte
|
||||||
|
|
||||||
var data = GunData.from(stack);
|
var data = GunData.from(stack);
|
||||||
|
|
||||||
|
if (living instanceof Player player && selected) {
|
||||||
|
checkCopyGuns(stack, player);
|
||||||
|
}
|
||||||
|
|
||||||
if (!data.initialized()) {
|
if (!data.initialized()) {
|
||||||
data.initialize();
|
data.initialize();
|
||||||
if (level.getServer() != null && entity instanceof Player player && player.isCreative()) {
|
if (level.getServer() != null && entity instanceof Player player && player.isCreative()) {
|
||||||
|
|
Loading…
Add table
Reference in a new issue