RuneHive-Game
Loading...
Searching...
No Matches
Smithing.java
Go to the documentation of this file.
1package com.runehive.content.skill.impl.smithing;
2
3import com.runehive.game.world.entity.mob.player.Player;
4import com.runehive.content.event.impl.ClickButtonInteractionEvent;
5import com.runehive.content.event.impl.ItemContainerInteractionEvent;
6import com.runehive.content.event.impl.ItemOnObjectInteractionEvent;
7import com.runehive.content.event.impl.ObjectInteractionEvent;
8import com.runehive.game.world.entity.skill.Skill;
9import com.runehive.game.world.items.Item;
10import com.runehive.net.packet.out.SendInputAmount;
11import com.runehive.net.packet.out.SendMessage;
12
13/**
14 * @author <a href="http://www.rune-server.org/members/stand+up/">Stand Up</a>
15 * @since 11-2-2017.
16 */
17public final class Smithing extends Skill {
18
19 public Smithing(int level, double experience) {
20 super(Skill.SMITHING, level, experience);
21 }
22
23 @Override
25 switch(event.id) {
26 case 1:
27 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, 1);
28 case 2:
29 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, 5);
30 case 3:
31 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, 10);
32 case 4:
33 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, Integer.MAX_VALUE);
34 case 5:
35 switch(event.interfaceId) {
36 case 1119:
37 case 1120:
38 case 1121:
39 case 1122:
40 case 1123:
41 player.send(new SendInputAmount("Enter amount", 2, input -> SmithingArmour.forge(player, event.interfaceId, event.removeSlot, Integer.parseInt(input))));
42 return true;
43 }
44 return false;
45 default:
46 return false;
47 }
48 }
49 @Override
51 switch(event.getType()) {
52 case CLICK_BUTTON:
53 return Smelting.smelt(player, event.getButton());
54 default:
55 return false;
56 }
57 }
58
59 @Override
61 switch(event.getType()) {
62 case ITEM_ON_OBJECT:
63 return SmithingArmour.openInterface(player, event.getItem(), event.getObject());
64 default:
65 return false;
66 }
67 }
68
69 @Override
70 protected boolean clickObject(Player player, ObjectInteractionEvent event) {
71 if (event.getObject().getId() == 2097) {
72 Item foundBar = null;
73 for (int bar : Smelting.SMELT_BARS) {
74 if (player.inventory.contains(bar)) {
75 foundBar = new Item(bar);
76 break;
77 }
78 }
79 if (foundBar != null) {
80 SmithingArmour.openInterface(player, foundBar, event.getObject());
81 } else {
82 player.send(new SendMessage("You have no bar which you have the required Smithing level to use."));
83 }
84 return true;
85 }
86 switch(event.getType()) {
87 case FIRST_CLICK_OBJECT:
88 case SECOND_CLICK_OBJECT:
89 return Smelting.openInterface(player, event.getObject());
90 default:
91 return false;
92 }
93 }
94}
static boolean smelt(Player player, int buttonId)
Attempts to start smelting for the specified player.
Definition Smelting.java:46
static boolean openInterface(Player player, GameObject object)
Opens the smelting itemcontainer for the player.
Definition Smelting.java:70
static final int[] SMELT_BARS
The bar identification to be drawn on each frame.
Definition Smelting.java:26
Holds functionality for creating items on an anvil.
static boolean forge(Player player, int interfaceId, int slot, int amount)
Attempts to forge the item clicked for the specified player.
static boolean openInterface(Player player, Item item, GameObject object)
Opens the smithing itemcontainer and sets all the values for the specified {code player}...
boolean clickButton(Player player, ClickButtonInteractionEvent event)
Definition Smithing.java:50
boolean clickObject(Player player, ObjectInteractionEvent event)
Definition Smithing.java:70
boolean itemContainerAction(Player player, ItemContainerInteractionEvent event)
Definition Smithing.java:24
boolean useItem(Player player, ItemOnObjectInteractionEvent event)
Definition Smithing.java:60
This class represents a character controlled by a player.
Definition Player.java:125
double experience
The current skill experience.
Definition Skill.java:179
int level
The current level of the skill.
Definition Skill.java:173
Skill(int skill, int level, double experience)
Constructs a new Skill.
Definition Skill.java:184
The container class that represents an item that can be interacted with.
Definition Item.java:21
boolean contains(int id)
Determines if this container contains id.
The OutgoingPacket that sends a message to a Players chatbox in the client.