Code:
package godzhell.model.content;
import godzhell.clip.ObjectDef;
import godzhell.definitions.AnimationLength;
import godzhell.event.CycleEvent;
import godzhell.event.CycleEventContainer;
import godzhell.event.CycleEventHandler;
import godzhell.model.players.Player;
/**
* Fillables.java made by sgsrocks
*
*/
public class Fillables {
public enum fillData {
VIAL(229, 227),
BUCKET(1925, 1929),
JUG(1935, 1937),
BOWL(1923, 1921),
CUP(1980, 4458),
WATERING_CAN(5331, 5340),
WATERING_CAN2(5333, 5340),
WATERING_CAN3(5334, 5340),
WATERING_CAN4(5335, 5340),
WATERING_CAN5(5336, 5340),
WATERING_CAN6(5337, 5340),
WATERING_CAN7(5338, 5340),
WATERING_CAN8(5339, 5340),
WATERSKIN(1831, 1823),
WATERSKIN2(1825, 1823),
WATERSKIN3(1827, 1823),
WATERSKIN4(1829, 1823),
FISHBOWL(6667, 6668);
private int emptyid, filledid;
private fillData(int emptyid, int filledid){
this.emptyid = emptyid;
this.filledid = filledid;
}
public int getEmptyId(){
return emptyid;
}
public int getFilledId(){
return filledid;
}
}
/**
*
* @Param c the player
* @Param itemId the item that needs to be filled
* @Param objectID the object that is used to fill the item.
*/
public static void fillTheItem(final Player c, int itemId, int objectID) {
for(final fillData g : fillData.values()) {
if(c.getItems().playerHasItem(g.getEmptyId(), 1)) {
if(itemId == g.getEmptyId()) {
c.fillingWater = true;
CycleEventHandler.getSingleton().addEvent(c, new CycleEvent() {
@Override
public void execute(CycleEventContainer container) {
if(c == null || c.disconnected || c.getSession() == null) {
stop();
return;
}
if (c.fillingWater) {
if (!c.getItems().playerHasItem(g.getEmptyId(), 1)) {
c.sendMessage("You have run out of "+c.getItems().getItemName(g.getEmptyId()).toLowerCase()+" to fill.");
container.stop();
return;
}
c.startAnimation(832);
c.getItems().deleteItem(g.getEmptyId(), 1);
c.getItems().addItem(g.getFilledId(), 1);
c.sendMessage("You fill "+c.getItems().getItemName(g.getEmptyId()).toLowerCase()+" from the "+ ObjectDef.getObjectDef(objectID).name.toLowerCase()+".");
}else {
container.stop();
}
}
@Override
public void stop() {
c.stopAnimation();
c.fillingWater = false;
}
}, AnimationLength.getFrameLength(832));
}
}
}
}
}
inside player.java
Code:
public boolean fillingWater;
in walking.java place this above c.walkingToItem = false;
Code:
c.fillingWater = false;
https://github.com/open-osrs/runelit.../ObjectID.java remember to add this.
now add this to itemonobject
Code:
case ObjectID.WELL:
case ObjectID.WELL_884:
case ObjectID.WELL_3264:
case ObjectID.WELL_3305:
case ObjectID.WELL_3359:
case ObjectID.WELL_3485:
case ObjectID.WELL_3646:
case ObjectID.WELL_4004:
case ObjectID.WELL_4005:
case ObjectID.WELL_6097:
case ObjectID.WELL_6249:
case ObjectID.WELL_8747:
case ObjectID.WELL_8927:
case ObjectID.WELL_12201:
case ObjectID.WELL_12897:
case ObjectID.WELL_24150:
case ObjectID.WELL_29100:
case ObjectID.WELL_30930:
case ObjectID.WELL_35881:
case ObjectID.WELL_39720:
case ObjectID.FOUNTAIN:
case ObjectID.FOUNTAIN_879:
case ObjectID.FOUNTAIN_880:
case ObjectID.FOUNTAIN_2864:
case ObjectID.FOUNTAIN_3641:
case ObjectID.FOUNTAIN_5125:
case ObjectID.FOUNTAIN_6232:
case ObjectID.FOUNTAIN_7143:
case ObjectID.FOUNTAIN_10436:
case ObjectID.FOUNTAIN_10437:
case ObjectID.FOUNTAIN_10827:
case ObjectID.FOUNTAIN_11007:
case ObjectID.FOUNTAIN_12941:
case ObjectID.FOUNTAIN_22973:
case ObjectID.FOUNTAIN_24102:
case ObjectID.FOUNTAIN_27536:
case ObjectID.FOUNTAIN_39162:
case ObjectID.FOUNTAIN_42162:
case ObjectID.FOUNTAIN_43689:
case ObjectID.WATERPUMP:
case ObjectID.WATERPUMP_20776:
case ObjectID.WATERPUMP_24004:
case ObjectID.WATER_PUMP_15937:
case ObjectID.WATER_PUMP_35981:
case ObjectID.WATER_PUMP_15938:
case ObjectID.WATER_PUMP_36078:
case ObjectID.WATER_PUMP_41000:
case ObjectID.WATER_PUMP_41004:
case ObjectID.SINK:
case ObjectID.SINK_874:
case ObjectID.SINK_1763:
case ObjectID.SINK_3014:
case ObjectID.SINK_4063:
case ObjectID.SINK_6151:
case ObjectID.SINK_7422:
case ObjectID.SINK_8699:
case ObjectID.SINK_9143:
case ObjectID.SINK_9684:
case ObjectID.SINK_10175:
case ObjectID.SINK_12279:
case ObjectID.SINK_12609:
case ObjectID.SINK_12974:
case ObjectID.SINK_13563:
case ObjectID.SINK_13564:
case ObjectID.SINK_14868:
case ObjectID.SINK_15678:
case ObjectID.SINK_16704:
case ObjectID.SINK_16705:
case ObjectID.SINK_20358:
case ObjectID.SINK_22715:
case ObjectID.SINK_25729:
case ObjectID.SINK_25929:
case ObjectID.SINK_27707:
case ObjectID.SINK_27708:
case ObjectID.SINK_28538:
case ObjectID.SINK_34943:
case ObjectID.SINK_39393:
case ObjectID.SINK_39459:
case ObjectID.SINK_39489:
case ObjectID.SINK_40023:
case ObjectID.SINK_42205:
case ObjectID.WATER_BARREL:
case ObjectID.WATER_BARREL_5599:
case ObjectID.WATER_BARREL_8702:
case ObjectID.WATER_BARREL_8703:
Fillables.fillTheItem(c, itemId, objectID);
break;