1 Commits
Author SHA1 Message Date
redtea af920884aa Fix ItemsAdder give, new capacity key
- fix '/nodrop give' command for giving itemsadder's items
now in capacity you may use itemsadder tag for key:
"namespace:id": [ 27, 28, 29]
2025-12-11 01:06:45 +03:00
6 changed files with 20 additions and 7 deletions

No files matched your search

+1 -1
View File
@@ -5,7 +5,7 @@ plugins {
} }
group = 'me.redtea' group = 'me.redtea'
version = '1.1.1-STABLE' version = '1.1.2-STABLE'
repositories { repositories {
mavenCentral() mavenCentral()
@@ -54,7 +54,6 @@ import me.redtea.nodropx.service.material.ItemStackService;
import me.redtea.nodropx.service.material.impl.ItemStackServiceImpl; import me.redtea.nodropx.service.material.impl.ItemStackServiceImpl;
import me.redtea.nodropx.service.nbt.NBTService; import me.redtea.nodropx.service.nbt.NBTService;
import me.redtea.nodropx.service.nbt.impl.FastNBTServiceImpl; import me.redtea.nodropx.service.nbt.impl.FastNBTServiceImpl;
import me.redtea.nodropx.service.nbt.impl.Tr7zwNBTServiceImpl;
import me.redtea.nodropx.service.nodrop.NoDropService; import me.redtea.nodropx.service.nodrop.NoDropService;
import me.redtea.nodropx.service.nodrop.impl.NoDropServiceImpl; import me.redtea.nodropx.service.nodrop.impl.NoDropServiceImpl;
import me.redtea.nodropx.service.respawn.RespawnService; import me.redtea.nodropx.service.respawn.RespawnService;
@@ -22,6 +22,7 @@ import org.bukkit.Material;
import org.bukkit.OfflinePlayer; import org.bukkit.OfflinePlayer;
import org.bukkit.command.CommandSender; import org.bukkit.command.CommandSender;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.inventory.ItemStack;
import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable; import org.jetbrains.annotations.Nullable;
@@ -61,7 +62,10 @@ public class NoDropCommand {
@Suggestion("allmaterials") final String material, @Suggestion("allmaterials") final String material,
@Optional final Integer amount) { @Optional final Integer amount) {
try { try {
noDropAPI.giveNoDrop(player, material, amount == null || amount == 0 ? 1 : amount); ItemStack item = noDropAPI.getNoDrop(material, amount == null || amount == 0 ? 1 : amount);
player.getInventory().addItem(item);
messages.get("give.success") messages.get("give.success")
.replaceAll("%item%", material) .replaceAll("%item%", material)
.replaceAll("%player%", player.getName()) .replaceAll("%player%", player.getName())
@@ -14,7 +14,7 @@ public class ItemsAdderProvider implements ItemStackProvider {
@Override @Override
public ItemStack get(String s) { public ItemStack get(String s) {
CustomStack stack = CustomStack.getInstance(s); CustomStack stack = CustomStack.getInstance(s);
return (stack != null) ? stack.getItemStack() : null; return (stack != null) ? stack.getItemStack().clone() : null;
} }
@Override @Override
@@ -1,5 +1,6 @@
package me.redtea.nodropx.service.capasity.impl; package me.redtea.nodropx.service.capasity.impl;
import beer.devs.fastnbt.nms.nbt.NItem;
import me.redtea.nodropx.libs.carcadex.repo.Repo; import me.redtea.nodropx.libs.carcadex.repo.Repo;
import me.redtea.nodropx.libs.carcadex.repo.impl.yaml.YamlRepo; import me.redtea.nodropx.libs.carcadex.repo.impl.yaml.YamlRepo;
import me.redtea.nodropx.service.capasity.CapacityService; import me.redtea.nodropx.service.capasity.CapacityService;
@@ -7,7 +8,9 @@ import org.bukkit.inventory.ItemStack;
import org.bukkit.plugin.Plugin; import org.bukkit.plugin.Plugin;
import java.io.File; import java.io.File;
import java.util.*; import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors; import java.util.stream.Collectors;
public class CapacityServiceImpl implements CapacityService { public class CapacityServiceImpl implements CapacityService {
@@ -25,9 +28,16 @@ public class CapacityServiceImpl implements CapacityService {
@Override @Override
public List<Integer> get(ItemStack item) { public List<Integer> get(ItemStack item) {
String key = item.getType().name(); String key = item.getType().name();
if(item.hasItemMeta() && item.getItemMeta().hasCustomModelData()) {
if(NItem.hasNBT(item)) {
NItem nItem = NItem.of(item);
if(nItem.hasKey("itemsadder")) {
key = nItem.getCompound("itemsadder").getString("namespace") + ":" + nItem.getCompound("itemsadder").getString("id");
} else if(item.hasItemMeta() && item.getItemMeta().hasCustomModelData()) {
key += "->" + item.getItemMeta().getCustomModelData(); key += "->" + item.getItemMeta().getCustomModelData();
} }
}
Optional<List<Integer>> result = capacityRepo.get(key); Optional<List<Integer>> result = capacityRepo.get(key);
return result.orElse(Collections.emptyList()); return result.orElse(Collections.emptyList());
} }
@@ -13,8 +13,8 @@ public class NoDropServiceImpl implements NoDropService {
@Override @Override
public void setNoDrop(ItemStack item, boolean isNoDrop) { public void setNoDrop(ItemStack item, boolean isNoDrop) {
nbtService.setBoolTag(item, "isNoDrop", true);
cosmeticService.applyAll(item); cosmeticService.applyAll(item);
nbtService.setBoolTag(item, "isNoDrop", true);
} }
@Override @Override