RuneHive-Tarnish
Neural OSRS Enhancement Framework
Loading...
Searching...
No Matches
Smithing.java
1package com.osroyale.content.skill.impl.smithing;
2
3import com.osroyale.game.world.entity.mob.player.Player;
4import com.osroyale.content.event.impl.ClickButtonInteractionEvent;
5import com.osroyale.content.event.impl.ItemContainerInteractionEvent;
6import com.osroyale.content.event.impl.ItemOnObjectInteractionEvent;
7import com.osroyale.content.event.impl.ObjectInteractionEvent;
8import com.osroyale.game.world.entity.skill.Skill;
9import com.osroyale.game.world.items.Item;
10import com.osroyale.net.packet.out.SendInputAmount;
11import com.osroyale.net.packet.out.SendMessage;
12
39
40public final class Smithing extends Skill {
41
42 public Smithing(int level, double experience) {
43 super(Skill.SMITHING, level, experience);
44 }
45
46 @Override
47 public boolean itemContainerAction(Player player, ItemContainerInteractionEvent event) {
48 switch(event.id) {
49 case 1:
50 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, 1);
51 case 2:
52 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, 5);
53 case 3:
54 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, 10);
55 case 4:
56 return SmithingArmour.forge(player, event.interfaceId, event.removeSlot, Integer.MAX_VALUE);
57 case 5:
58 switch(event.interfaceId) {
59 case 1119:
60 case 1120:
61 case 1121:
62 case 1122:
63 case 1123:
64 player.send(new SendInputAmount("Enter amount", 2, input -> SmithingArmour.forge(player, event.interfaceId, event.removeSlot, Integer.parseInt(input))));
65 return true;
66 }
67 return false;
68 default:
69 return false;
70 }
71 }
72 @Override
73 public boolean clickButton(Player player, ClickButtonInteractionEvent event) {
74 switch(event.getType()) {
75 case CLICK_BUTTON:
76 return Smelting.smelt(player, event.getButton());
77 default:
78 return false;
79 }
80 }
81
82 @Override
83 public boolean useItem(Player player, ItemOnObjectInteractionEvent event) {
84 switch(event.getType()) {
85 case ITEM_ON_OBJECT:
86 return SmithingArmour.openInterface(player, event.getItem(), event.getObject());
87 default:
88 return false;
89 }
90 }
91
92 @Override
93 protected boolean clickObject(Player player, ObjectInteractionEvent event) {
94 if (event.getObject().getId() == 2097) {
95 Item foundBar = null;
96 for (int bar : Smelting.SMELT_BARS) {
97 if (player.inventory.contains(bar)) {
98 foundBar = new Item(bar);
99 break;
100 }
101 }
102 if (foundBar != null) {
103 SmithingArmour.openInterface(player, foundBar, event.getObject());
104 } else {
105 player.send(new SendMessage("You have no bar which you have the required Smithing level to use."));
106 }
107 return true;
108 }
109 switch(event.getType()) {
110 case FIRST_CLICK_OBJECT:
111 case SECOND_CLICK_OBJECT:
112 return Smelting.openInterface(player, event.getObject());
113 default:
114 return false;
115 }
116 }
117}
Skill(int skill, int level, double experience)
Definition Skill.java:221