diff --git a/src/main/java/com/cricketcraft/chisel/Chisel.java b/src/main/java/com/cricketcraft/chisel/Chisel.java index f5e94625..83d3dcfa 100644 --- a/src/main/java/com/cricketcraft/chisel/Chisel.java +++ b/src/main/java/com/cricketcraft/chisel/Chisel.java @@ -11,6 +11,7 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import com.cricketcraft.chisel.api.ChiselAPIProps; +import com.cricketcraft.chisel.api.Statistics; import com.cricketcraft.chisel.api.carving.CarvableHelper; import com.cricketcraft.chisel.block.BlockCarvable; import com.cricketcraft.chisel.carving.Carving; diff --git a/src/main/java/com/cricketcraft/chisel/Statistics.java b/src/main/java/com/cricketcraft/chisel/api/Statistics.java similarity index 92% rename from src/main/java/com/cricketcraft/chisel/Statistics.java rename to src/main/java/com/cricketcraft/chisel/api/Statistics.java index 1ce5aa3e..b34c5cc5 100644 --- a/src/main/java/com/cricketcraft/chisel/Statistics.java +++ b/src/main/java/com/cricketcraft/chisel/api/Statistics.java @@ -1,4 +1,4 @@ -package com.cricketcraft.chisel; +package com.cricketcraft.chisel.api; import net.minecraft.stats.StatBase; import net.minecraft.stats.StatBasic; diff --git a/src/main/java/com/cricketcraft/chisel/api/carving/IChiselMode.java b/src/main/java/com/cricketcraft/chisel/api/carving/IChiselMode.java index 2db9afad..1fa58eee 100644 --- a/src/main/java/com/cricketcraft/chisel/api/carving/IChiselMode.java +++ b/src/main/java/com/cricketcraft/chisel/api/carving/IChiselMode.java @@ -6,11 +6,13 @@ import net.minecraftforge.common.util.ForgeDirection; public interface IChiselMode { + /** + * NOTE: This method is responsible for increasing the "Blocks Chiseled" statistic found in the Statistics class. + */ void chiselAll(EntityPlayer player, World world, int x, int y, int z, ForgeDirection side, ICarvingVariation variation); /** - * Implemented implicitly by enums. If your IChiselMode is not an enum - * constant, this needs to be implemented explicitly. + * Implemented implicitly by enums. If your IChiselMode is not an enum constant, this needs to be implemented explicitly. * * @return The name of the mode. */ diff --git a/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java b/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java index 183fc76e..f1d7b0ce 100644 --- a/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java +++ b/src/main/java/com/cricketcraft/chisel/inventory/InventoryChiselSelection.java @@ -1,9 +1,7 @@ package com.cricketcraft.chisel.inventory; -import com.cricketcraft.chisel.Statistics; -import com.cricketcraft.chisel.api.IChiselItem; -import com.cricketcraft.chisel.item.chisel.ItemChisel; -import com.cricketcraft.chisel.utils.General; +import java.util.List; + import net.minecraft.block.Block; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.inventory.IInventory; @@ -11,7 +9,9 @@ import net.minecraft.item.Item; import net.minecraft.item.ItemStack; import net.minecraft.item.ItemTool; -import java.util.List; +import com.cricketcraft.chisel.api.IChiselItem; +import com.cricketcraft.chisel.item.chisel.ItemChisel; +import com.cricketcraft.chisel.utils.General; public class InventoryChiselSelection implements IInventory { @@ -107,8 +107,6 @@ public class InventoryChiselSelection implements IInventory { public void updateItems() { ItemStack chiseledItem = inventory[normalSlots]; - if(inventory[normalSlots] != null) - container.playerInventory.player.addStat(Statistics.blocksChiseled, inventory[normalSlots].stackSize); clearItems(); if (chiseledItem == null) { diff --git a/src/main/java/com/cricketcraft/chisel/inventory/SlotChiselSelection.java b/src/main/java/com/cricketcraft/chisel/inventory/SlotChiselSelection.java index eb7d4a57..e1013216 100644 --- a/src/main/java/com/cricketcraft/chisel/inventory/SlotChiselSelection.java +++ b/src/main/java/com/cricketcraft/chisel/inventory/SlotChiselSelection.java @@ -7,6 +7,7 @@ import net.minecraft.item.ItemStack; import net.minecraft.util.MathHelper; import com.cricketcraft.chisel.api.IChiselItem; +import com.cricketcraft.chisel.api.Statistics; import com.cricketcraft.chisel.carving.Carving; import com.cricketcraft.chisel.utils.General; import com.cricketcraft.chisel.utils.GeneralClient; @@ -67,6 +68,8 @@ public class SlotChiselSelection extends Slot { if (player.worldObj.isRemote) { String sound = Carving.chisel.getVariationSound(crafted.getItem(), crafted.getItemDamage()); GeneralClient.playChiselSound(player.worldObj, MathHelper.floor_double(player.posX), MathHelper.floor_double(player.posY), MathHelper.floor_double(player.posZ), sound); + } else { + container.playerInventory.player.addStat(Statistics.blocksChiseled, crafted.stackSize); } } } diff --git a/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java b/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java index 6384989e..c0aa31d3 100644 --- a/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java +++ b/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselController.java @@ -2,7 +2,6 @@ package com.cricketcraft.chisel.item.chisel; import java.util.List; -import com.cricketcraft.chisel.Statistics; import net.minecraft.block.Block; import net.minecraft.item.ItemStack; import net.minecraftforge.common.MinecraftForge; @@ -57,8 +56,6 @@ public final class ChiselController { return; } - event.entityPlayer.addStat(Statistics.blocksChiseled, 1); - List list = group.getVariations(); main: for (ItemStack stack : OreDictionary.getOres(group.getOreName())) { diff --git a/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselMode.java b/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselMode.java index ff6a2259..9bfb5ed2 100644 --- a/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselMode.java +++ b/src/main/java/com/cricketcraft/chisel/item/chisel/ChiselMode.java @@ -9,6 +9,7 @@ import net.minecraft.world.World; import net.minecraftforge.common.util.ForgeDirection; import com.cricketcraft.chisel.api.IChiselItem; +import com.cricketcraft.chisel.api.Statistics; import com.cricketcraft.chisel.api.carving.ICarvingVariation; import com.cricketcraft.chisel.api.carving.IChiselMode; import com.cricketcraft.chisel.network.PacketHandler; @@ -107,6 +108,7 @@ public enum ChiselMode implements IChiselMode { } else { world.setBlock(x, y, z, v.getBlock(), v.getBlockMeta(), 3); } + player.addStat(Statistics.blocksChiseled, 1); boolean breakChisel = false; if (((IChiselItem) player.getCurrentEquippedItem().getItem()).onChisel(world, player.getCurrentEquippedItem(), v)) { player.getCurrentEquippedItem().damageItem(1, player);