Skip to content

Commit

Permalink
Added the ability to disable smelting experience directly in Bukkit.
Browse files Browse the repository at this point in the history
  • Loading branch information
aadnk committed Dec 22, 2012
1 parent ffe81c9 commit 438740d
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -28,13 +28,15 @@
import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority;
import org.bukkit.event.inventory.BrewEvent;
import org.bukkit.event.inventory.FurnaceExtractEvent;
import org.bukkit.event.inventory.InventoryClickEvent;
import org.bukkit.event.inventory.InventoryType;
import org.bukkit.event.player.PlayerFishEvent;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.ItemStack;

import com.comphenix.xp.Action;
import com.comphenix.xp.ActionTypes;
import com.comphenix.xp.Configuration;
import com.comphenix.xp.Debugger;
import com.comphenix.xp.PlayerScheduler;
Expand Down Expand Up @@ -78,6 +80,22 @@ public ExperienceItemListener(Debugger debugger, PlayerScheduler scheduler,
setPresets(presets);
}

@EventHandler(priority = EventPriority.LOW, ignoreCancelled = true)
public void onFurnaceExtract(FurnaceExtractEvent event) {
// Would this yield a reward for the current player?
Configuration config = getConfiguration(event.getPlayer());

if (config != null) {
ItemTree tree = config.getActionReward(ActionTypes.SMELTING);
Action action = getAction(new ItemStack(event.getItemType()), tree);

// See if we are overriding CraftBukkit
if (action != null) {
event.setExpToDrop(0);
}
}
}

@EventHandler(priority = EventPriority.HIGHEST, ignoreCancelled = true)
public void onPlayerFishEvent(PlayerFishEvent event) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
import org.bukkit.entity.Snowball;
import org.bukkit.event.entity.EntityDamageEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.inventory.EntityEquipment;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryView;
import org.bukkit.inventory.InventoryView.Property;
Expand Down Expand Up @@ -1116,4 +1117,34 @@ public void setFlySpeed(float flyspeed) throws IllegalArgumentException {
public void setWalkSpeed(float walkSpeed) throws IllegalArgumentException {
this.walkSpeed = walkSpeed;
}

@Override
public boolean getCanPickupItems() {
return false;
}

@Override
public EntityEquipment getEquipment() {
return null;
}

@Override
public boolean getRemoveWhenFarAway() {
return false;
}

@Override
public void setCanPickupItems(boolean arg0) {

}

@Override
public void setRemoveWhenFarAway(boolean arg0) {

}

@Override
public Location getLocation(Location arg0) {
return null;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
import org.bukkit.help.HelpMap;
import org.bukkit.inventory.Inventory;
import org.bukkit.inventory.InventoryHolder;
import org.bukkit.inventory.ItemFactory;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.Recipe;
import org.bukkit.map.MapView;
Expand Down Expand Up @@ -481,4 +482,13 @@ public boolean isPrimaryThread() {
return true;
}

@Override
public ItemFactory getItemFactory() {
return null;
}

@Override
public String getShutdownMessage() {
return null;
}
}

0 comments on commit 438740d

Please sign in to comment.