RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
ClanShowcaseBox.java
1package com.osroyale.content.itemaction.impl;
2
3import com.osroyale.content.clanchannel.ClanUtility;
4import com.osroyale.content.clanchannel.channel.ClanChannel;
5import com.osroyale.content.clanchannel.content.ClanLevel;
6import com.osroyale.content.itemaction.ItemAction;
7import com.osroyale.game.world.entity.mob.player.Player;
8import com.osroyale.game.world.items.Item;
9import com.osroyale.net.packet.out.SendMessage;
10import com.osroyale.util.Utility;
11
12import java.util.ArrayList;
13import java.util.List;
14
37
38public class ClanShowcaseBox extends ItemAction {
39
40 @Override
41 public String name() {
42 return "Clan Showcase Box";
43 }
44
45 @Override
46 public boolean inventory(Player player, Item item, int opcode) {
47 if (opcode != 1) {
48 return false;
49 }
50 ClanChannel channel = player.clanChannel;
51 if (channel == null) {
52 player.send(new SendMessage("You need to be in a clan to do this!"));
53 return true;
54 }
55 if (channel.getShowcase().showcaseItems.size() >= 28) {
56 player.send(new SendMessage("You have reached the maximum capacity of showcase items you can hold. Please delete an item to proceed."));
57 return true;
58 }
59 ClanLevel level = channel.getDetails().level;
60 List<Item> items = new ArrayList<>();
61
62 for (int reward : ClanUtility.getRewardItems(level)) {
63 Item rewardItem = new Item(reward, 1);
64 for (Item showcase : channel.getShowcaseItems()) {
65 if (rewardItem.getId() != showcase.getId())
66 items.add(rewardItem);
67 }
68 }
69
70 if (items.isEmpty()) {
71 return true;
72 }
73
74 Item showcaseReward = Utility.randomElement(items);
75 player.inventory.remove(item);
76 channel.getShowcase().showcaseItems.add(showcaseReward.getId());
77 channel.message("We just received " + showcaseReward.getName() + " from the showcase box!");
78 return true;
79 }
80}
static int[] getRewardItems(ClanLevel level)
boolean inventory(Player player, Item item, int opcode)
static< T > T randomElement(Collection< T > collection)
Definition Utility.java:285