PDA

View Full Version : [Hyperion]Fletching base



Daladubz
December 24th, 2011, 19:51
Well I wrote the dart making and arrow making so far for my Hyperion server so I thought I should release it.

The main class:


package org.hyperion.rs2.content.skills.fletching;

import org.hyperion.rs2.model.Item;
import org.hyperion.rs2.model.Player;
import org.hyperion.rs2.model.Skills;

/**
* Handles all the fletching methods
*
* @author Ares_
*/
public class Fletching {

private static final int ARROW = 53;
private static final int DART = 7684;

public static void executeAction(Player player, int itemUsed, int usedWith) {
int itemId = itemUsed != ARROW ? itemUsed : usedWith;
if(ArrowData.forId(itemId) == null) {
return;
}
if(player.getSkills().getLevelForExperience(Skills .FLETCHING) < ArrowData.forId(itemId).getLevelRequired()) {
player.getActionSender().sendMessage("You need a Fletching level of " + ArrowData.forId(itemId).getLevelRequired() + " to make these arrows.");
return;
}
if(itemUsed == ARROW && usedWith == ArrowData.forId(itemId).getTipId() || usedWith == ARROW && itemUsed == ArrowData.forId(itemId).getTipId()) {
player.getInventory().remove(new Item(ARROW, 10));
player.getInventory().remove(new Item(ArrowData.forId(itemId).getTipId(), 10));
player.getInventory().add(new Item(ArrowData.forId(itemId).getReward(), 10));
player.getSkills().addExperience(9, ArrowData.forId(itemId).getExperience());
player.getActionSender().sendMessage("You attach the arrow tips to the headless arrows.");
}
}

public static void executeDart(Player player, int itemUsed, int usedWith) {
int itemId = itemUsed != DART ? itemUsed : usedWith;
if(DartData.forId(itemId) == null) {
return;
}
if(player.getSkills().getLevelForExperience(Skills .FLETCHING) < DartData.forId(itemId).getLevelRequired()) {
player.getActionSender().sendMessage("You need a Fletching level of " + DartData.forId(itemId).getLevelRequired() + " to make these darts.");
return;
}
if(itemUsed == DART && usedWith == DartData.forId(itemId).getDartTip() || usedWith == DART && itemUsed == DartData.forId(itemId).getDartTip()) {
player.getInventory().remove(new Item(DART, 10));
player.getInventory().remove(new Item(DartData.forId(itemId).getDartTip(), 10));
player.getInventory().add(new Item(DartData.forId(itemId).getReward(), 10));
player.getSkills().addExperience(9, DartData.forId(itemId).getExperience());
player.getActionSender().sendMessage("You attach the dart tips to the dart body.");
}
}
}


The arrow data class


package org.hyperion.rs2.content.skills.fletching;

import java.util.HashMap;
import java.util.Map;

/**
* Handles the data for making arrows
*
* @author Ares_
*/
public enum ArrowData {
BRONZE(39, 882, 1, 2.6),

IRON(40, 884, 15, 3.8),

STEEL(41, 886, 30, 6.3),

MITHRIL(42, 888, 45, 8.8),

ADAMANT(43, 890, 60, 11.3),

RUNE(44, 892, 75, 13.8)
;

private static Map<Integer, ArrowData> arrowtips = new HashMap<Integer, ArrowData>();

public static ArrowData forId(int item) { return arrowtips.get(item); }

static {
for (ArrowData arrowtip : ArrowData.values()) {
arrowtips.put(arrowtip.tipId, arrowtip);
}
}

ArrowData(int tipId, int reward, int levelRequired, double experience) {
this.tipId = tipId;
this.reward = reward;
this.levelRequired = levelRequired;
this.experience = experience;
}

private int tipId;

private int reward;

private int levelRequired;

private double experience;

public int getTipId() {
return tipId;
}

public int getReward() {
return reward;
}

public int getLevelRequired() {
return levelRequired;
}

public double getExperience() {
return experience;
}
}


The dart data class:


package org.hyperion.rs2.content.skills.fletching;

import java.util.HashMap;
import java.util.Map;

/**
* Handles all the dart data
*
* @author Ares_
*/
public enum DartData {
BRONZE(819, 806, 1, 2.6),

IRON(820, 807, 15, 3.8),

STEEL(821, 808, 30, 6.3),

MITHRIL(822, 809, 45, 8.8),

ADAMANT(823, 810, 60, 11.3),

RUNE(824, 811, 75, 13.8)
;

/**
* DART TIPS:
*
* Bronze Tip: 819 Final: 806
* Iron Tip: 820 Final: 807
* Steel tip: 821 Final: 808
* Mith Tip: 822 Final: 809
* Addy Tip: 823 Final: 810
* Rune Tip: 824 Final: 811
*/

private static Map<Integer, DartData> darttips = new HashMap<Integer, DartData>();

public static DartData forId(int item) { return darttips.get(item); }

static {
for (DartData dartTips : DartData.values()) {
darttips.put(dartTips.dartTip, dartTips);
}
}

DartData(int dartTip, int reward, int levelRequired, double experience) {
this.dartTip = dartTip;
this.reward = reward;
this.levelRequired = levelRequired;
this.experience = experience;
}

private int dartTip;

private int reward;

private int levelRequired;

private double experience;

public int getDartTip() {
return dartTip;
}

public int getReward() {
return reward;
}

public int getLevelRequired() {
return levelRequired;
}

public double getExperience() {
return experience;
}
}


item on item packet code:


Fletching.executeAction(player, usedItemId, selectedItemId);
Fletching.executeDart(player, usedItemId, selectedItemId);

zerak
January 10th, 2012, 20:35
I am new to Hyperion, started today.

Can u help me out with this ? :S

Where should i put those files?