Skip to content

Commit

Permalink
Various fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
ThexXTURBOXx committed Jun 5, 2017
1 parent 87cd40a commit 1f83527
Show file tree
Hide file tree
Showing 20 changed files with 129 additions and 145 deletions.
6 changes: 0 additions & 6 deletions java/org/silvercatcher/reforged/api/ExtendedItem.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@

import com.google.common.collect.Multimap;

import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.SharedMonsterAttributes;
import net.minecraft.entity.ai.attributes.AttributeModifier;
import net.minecraft.inventory.EntityEquipmentSlot;
Expand Down Expand Up @@ -52,11 +51,6 @@ public Multimap<String, AttributeModifier> getItemAttributeModifiers(EntityEquip
return multimap;
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
return false;
}

public boolean isWeapon() {
return true;
}
Expand Down
16 changes: 8 additions & 8 deletions java/org/silvercatcher/reforged/items/weapons/ItemBattleAxe.java
Original file line number Diff line number Diff line change
Expand Up @@ -49,13 +49,6 @@ protected boolean effectiveAgainst(IBlockState target) {
public Multimap getAttributeModifiers(ItemStack stack) {
return ItemExtension.super.getAttributeModifiers(stack);
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

@Override
public float getHitDamage() {
Expand All @@ -74,6 +67,13 @@ public float getStrVsBlock(ItemStack stack, IBlockState block) {
return effectiveAgainst(block) ? materialDefinition.getEfficiencyOnProperMaterial() + 0.5f : 1f;
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if (stack.getItem().isDamageable())
stack.damageItem(1, attacker);
return true;
}

@Override
public boolean isDamageable() {
return !unbreakable;
Expand All @@ -83,7 +83,7 @@ public boolean isDamageable() {
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState blockIn, BlockPos pos,
EntityLivingBase playerIn) {

if(stack.getItem().isDamageable())
if (stack.getItem().isDamageable())
stack.damageItem(effectiveAgainst(blockIn) ? 2 : 3, playerIn);
return true;
}
Expand Down
11 changes: 2 additions & 9 deletions java/org/silvercatcher/reforged/items/weapons/ItemBlowGun.java
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,6 @@ public int getMaxItemUseDuration(ItemStack stack) {
public boolean isWeapon() {
return false;
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

@Override
public ActionResult<ItemStack> onItemRightClick(World worldIn, EntityPlayer playerIn, EnumHand hand) {
Expand Down Expand Up @@ -96,15 +89,15 @@ public void onPlayerStoppedUsing(ItemStack stack, World worldIn, EntityLivingBas
if (playerIn.capabilities.isCreativeMode
|| Helpers.consumeInventoryItem(playerIn, ReforgedAdditions.DART_NORMAL))
;
} else if(playerIn.capabilities.isCreativeMode) {
} else if (playerIn.capabilities.isCreativeMode) {
dart = new EntityDart(worldIn, playerIn, new ItemStack(ReforgedAdditions.DART_WITHER));
} else {
dart = null;
}
if (dart != null) {
worldIn.spawnEntity(dart);
if (!playerIn.capabilities.isCreativeMode)
if(stack.getItem().isDamageable())
if (stack.getItem().isDamageable())
stack.attemptDamageItem(1, itemRand);
if (stack.getItemDamage() >= 40) {
Helpers.consumeInventoryItem(playerIn, stack.getItem());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,6 @@ public int getItemEnchantability() {
public int getItemEnchantability(ItemStack stack) {
return ToolMaterial.IRON.getEnchantability();
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

@Override
public int getReloadTotal() {
Expand Down
14 changes: 7 additions & 7 deletions java/org/silvercatcher/reforged/items/weapons/ItemBoomerang.java
Original file line number Diff line number Diff line change
Expand Up @@ -34,13 +34,6 @@ public ItemBoomerang(ToolMaterial material, boolean unbreakable) {
setMaxDamage((int) (materialDefinition.getMaxUses() * 0.8f));
setUnlocalizedName(materialDefinition.getPrefixedName("boomerang"));
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

/**
* this is weak melee combat damage! for ranged combat damage, see
Expand All @@ -65,6 +58,13 @@ public MaterialDefinition getMaterialDefinition() {
return materialDefinition;
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if (stack.getItem().isDamageable())
stack.damageItem(1, attacker);
return true;
}

@Override
public boolean isDamageable() {
return !unbreakable;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,13 +79,6 @@ public void addInformation(ItemStack stack, EntityPlayer playerIn, List tooltip,
: (loadState == loaded ? I18n.format("item.musket.loadstate.loaded")
: I18n.format("item.musket.loadstate.loading"))));
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

private ItemStack findAmmo(EntityPlayer player) {
if (this.isArrow(player.getHeldItem(EnumHand.OFF_HAND))) {
Expand Down
22 changes: 16 additions & 6 deletions java/org/silvercatcher/reforged/items/weapons/ItemDirk.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@

import com.google.common.collect.Multimap;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
import net.minecraft.item.ItemSword;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class ItemDirk extends ItemSword implements ItemExtension, IZombieEquippable {
Expand Down Expand Up @@ -53,21 +56,28 @@ public int getItemEnchantability(ItemStack stack) {

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
if (attacker.isSneaking()) {
target.attackEntityFrom(getDamage(attacker), getHitDamage() + 2f);
} else {
target.attackEntityFrom(getDamage(attacker), getHitDamage());
target.attackEntityFrom(getDamage(attacker), 2f);
}
return false;
if (stack.getItem().isDamageable())
stack.damageItem(1, attacker);
return true;
}

@Override
public boolean isDamageable() {
return !unbreakable;
}

@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos,
EntityLivingBase entityLiving) {
if (stack.getItem().isDamageable() && state.getBlockHardness(worldIn, pos) != 0.0D) {
stack.damageItem(2, entityLiving);
}
return true;
}

@Override
public void registerRecipes() {
GameRegistry.addShapedRecipe(new ItemStack(this), "m ", "s ", 's', new ItemStack(Items.STICK), 'm',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@
import org.silvercatcher.reforged.entities.EntityDynamite;
import org.silvercatcher.reforged.util.Helpers;

import net.minecraft.entity.EntityLivingBase;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.init.Items;
import net.minecraft.item.ItemStack;
Expand Down Expand Up @@ -41,12 +40,5 @@ public void registerRecipes() {
GameRegistry.addShapedRecipe(new ItemStack(this, 2), " s ", " g ", " g ", 's', new ItemStack(Items.STRING), 'g',
new ItemStack(Items.GUNPOWDER));
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

}
23 changes: 14 additions & 9 deletions java/org/silvercatcher/reforged/items/weapons/ItemFireRod.java
Original file line number Diff line number Diff line change
Expand Up @@ -29,29 +29,34 @@ public float getHitDamage() {

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
if (!target.isImmuneToFire()) {
target.setFire(FIRE_DURATION);
}
if (attacker instanceof EntityPlayer) {
if (!((EntityPlayer) attacker).capabilities.isCreativeMode) {
stack.setCount(stack.getCount() - 1);
stack.shrink(1);
}
} else {
stack.shrink(1);
}
return false;
if (stack.getItem().isDamageable())
stack.damageItem(1, attacker);
return true;
}

@Override
public EnumActionResult onItemUse(EntityPlayer player, World worldIn, BlockPos pos, EnumHand hand, EnumFacing side,
float hitX, float hitY, float hitZ) {
if (worldIn.getBlockState(pos).getBlock().isFlammable(worldIn, pos, side)) {
if (hand == EnumHand.MAIN_HAND) {
if (worldIn.getBlockState(pos).getBlock().isFlammable(worldIn, pos, side)) {

BlockPos target = pos.offset(side);
BlockPos target = pos.offset(side);

if (!(worldIn.canBlockSeeSky(pos) && worldIn.isRaining()) && worldIn.isAirBlock(target)) {
worldIn.setBlockState(target, Blocks.FIRE.getDefaultState());
player.getHeldItemMainhand().setCount(player.getHeldItemMainhand().getCount() - 1);
if (!(worldIn.canBlockSeeSky(pos) && worldIn.isRaining()) && worldIn.isAirBlock(target)) {
worldIn.setBlockState(target, Blocks.FIRE.getDefaultState());
if (!player.capabilities.isCreativeMode)
player.getHeldItemMainhand().shrink(1);
}
}
}
return EnumActionResult.SUCCESS;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,6 @@ public int getItemEnchantability(ItemStack stack) {
public EnumAction getItemUseAction(ItemStack stack) {
return EnumAction.BOW;
}

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
return true;
}

@Override
public int getMaxItemUseDuration(ItemStack stack) {
Expand Down
48 changes: 30 additions & 18 deletions java/org/silvercatcher/reforged/items/weapons/ItemKatana.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,13 @@

import com.google.common.collect.Multimap;

import net.minecraft.block.state.IBlockState;
import net.minecraft.entity.EntityLivingBase;
import net.minecraft.init.Items;
import net.minecraft.inventory.EntityEquipmentSlot;
import net.minecraft.item.*;
import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import net.minecraftforge.fml.common.registry.GameRegistry;

public class ItemKatana extends ItemSword implements ItemExtension, IZombieEquippable {
Expand Down Expand Up @@ -57,33 +60,33 @@ public ToolMaterial getMaterial() {

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);


int armorvalue = 0;

for (int i = 3; i < 6; i++) {
for (int i = 3; i < 6; i++) {

ItemStack armorStack = target.getItemStackFromSlot(EntityEquipmentSlot.values()[i]);
if (armorStack != null && !armorStack.isEmpty() && armorStack.getItem() instanceof ItemArmor) {
armorvalue += ((ItemArmor) armorStack.getItem()).damageReduceAmount;
}
ItemStack armorStack = target.getItemStackFromSlot(EntityEquipmentSlot.values()[i]);
if (armorStack != null && !armorStack.isEmpty() && armorStack.getItem() instanceof ItemArmor) {
armorvalue += ((ItemArmor) armorStack.getItem()).damageReduceAmount;
}
}

float damage = getHitDamage();
float damage = getHitDamage();

if (armorvalue < 12) {
if (armorvalue < 12) {

damage *= 0.5f;
target.hurtResistantTime = 0;
}
damage *= 0.25f;
target.hurtResistantTime = 0;
target.attackEntityFrom(getDamage(attacker), damage);
}

if (armorvalue > 6) {
if(stack.getItem().isDamageable())
stack.damageItem(1, target);
}
if (armorvalue > 6) {
if (stack.getItem().isDamageable())
stack.damageItem(2, target);
}

target.attackEntityFrom(getDamage(attacker), damage);
if (stack.getCount() >= 1 && stack.getItem().isDamageable())
stack.damageItem(1, attacker);

return true;
}
Expand All @@ -93,6 +96,15 @@ public boolean isDamageable() {
return !unbreakable;
}

@Override
public boolean onBlockDestroyed(ItemStack stack, World worldIn, IBlockState state, BlockPos pos,
EntityLivingBase entityLiving) {
if (stack.getItem().isDamageable() && state.getBlockHardness(worldIn, pos) != 0.0D) {
stack.damageItem(2, entityLiving);
}
return true;
}

@Override
public void registerRecipes() {

Expand Down
6 changes: 3 additions & 3 deletions java/org/silvercatcher/reforged/items/weapons/ItemKeris.java
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,6 @@ public int getItemEnchantability(ItemStack stack) {

@Override
public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingBase attacker) {
if(stack.getItem().isDamageable())
stack.damageItem(2, attacker);
if (target.getHealth() <= getHitDamage() && !(attacker instanceof EntityPlayer)) {
World w = target.getEntityWorld();
if (!w.isRemote) {
Expand All @@ -64,7 +62,9 @@ public boolean hitEntity(ItemStack stack, EntityLivingBase target, EntityLivingB
}
}
}
return false;
if (stack.getItem().isDamageable())
stack.damageItem(1, attacker);
return true;
}

@Override
Expand Down
Loading

0 comments on commit 1f83527

Please sign in to comment.