Added random variations of Tropical fish buckets and Axolotl buckets for the trade gui
This commit is contained in:
parent
cd2b23c7c2
commit
cbae508f04
|
|
@ -15,10 +15,15 @@ import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
|
|||
import net.kyori.adventure.text.minimessage.tag.resolver.TagResolver;
|
||||
import net.milkbowl.vault.economy.Economy;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.DyeColor;
|
||||
import org.bukkit.Material;
|
||||
import org.bukkit.entity.Axolotl;
|
||||
import org.bukkit.entity.Player;
|
||||
import org.bukkit.entity.TropicalFish;
|
||||
import org.bukkit.inventory.ItemStack;
|
||||
import org.bukkit.inventory.meta.AxolotlBucketMeta;
|
||||
import org.bukkit.inventory.meta.ItemMeta;
|
||||
import org.bukkit.inventory.meta.TropicalFishBucketMeta;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
|
@ -133,7 +138,9 @@ public class TradeGUI extends GUIMerchant {
|
|||
}
|
||||
econ.withdrawPlayer(player, price);
|
||||
villagerType.makeTrade(uuid);
|
||||
player.getInventory().addItem(new ItemStack(material, amount));
|
||||
ItemStack itemStack = new ItemStack(material, amount);
|
||||
randomizeMetaIfNeeded(material, itemStack);
|
||||
player.getInventory().addItem(itemStack);
|
||||
|
||||
player.sendMiniMessage(Config.TRADED_ITEM, TagResolver.resolver(
|
||||
Placeholder.parsed("amount", String.valueOf(amount)),
|
||||
|
|
@ -149,6 +156,25 @@ public class TradeGUI extends GUIMerchant {
|
|||
trade(villagerType, player, material, amount, price);
|
||||
}
|
||||
|
||||
private void randomizeMetaIfNeeded(Material material, ItemStack itemStack) {
|
||||
if (material.equals(Material.AXOLOTL_BUCKET)) {
|
||||
AxolotlBucketMeta axolotlBucketMeta = (AxolotlBucketMeta) itemStack.getItemMeta();
|
||||
int value = new Random().nextInt(0, Axolotl.Variant.values().length - 1);
|
||||
axolotlBucketMeta.setVariant(Axolotl.Variant.values()[value]);
|
||||
itemStack.setItemMeta(axolotlBucketMeta);
|
||||
} else if (material.equals(Material.TROPICAL_FISH_BUCKET)) {
|
||||
TropicalFishBucketMeta tropicalFishBucketMeta = (TropicalFishBucketMeta) itemStack.getItemMeta();
|
||||
Random random = new Random();
|
||||
int bodyColor = random.nextInt(0, DyeColor.values().length - 1);
|
||||
int pattern = random.nextInt(0, TropicalFish.Pattern.values().length - 1);
|
||||
int patternColor = random.nextInt(0, DyeColor.values().length - 1);
|
||||
tropicalFishBucketMeta.setBodyColor(DyeColor.values()[bodyColor]);
|
||||
tropicalFishBucketMeta.setPattern(TropicalFish.Pattern.values()[pattern]);
|
||||
tropicalFishBucketMeta.setPatternColor(DyeColor.values()[patternColor]);
|
||||
itemStack.setItemMeta(tropicalFishBucketMeta);
|
||||
}
|
||||
}
|
||||
|
||||
private ItemStack getPriceItem(double price) {
|
||||
if (price < 0) return nameItem(new ItemStack(Material.BARRIER), -1);
|
||||
else if (price <= 10) return nameItem(new ItemStack(Material.IRON_INGOT), price);
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user