@Override public boolean onEntitySwing(EntityLivingBase entityLiving, ItemStack stack) { /*if(attackSpeed() > 0) { int speed = Math.min(5, attackSpeed()); ToolHelper.swingItem(speed, entityLiving); return true; }*/ return super.onEntitySwing(entityLiving, stack); }
/** * The "title" displayed in the GUI */ default String getLocalizedName() { return getLocalizedToolName(); }
public CrossBow() { super(PartMaterialType.crossbow(TinkerTools.toughToolRod), PartMaterialType.bow(TinkerTools.bowLimb), PartMaterialType.extra(TinkerTools.toughBinding), PartMaterialType.bowstring(TinkerTools.bowString)); this.addPropertyOverride(PROPERTY_PULL_PROGRESS, pullProgressPropertyGetter); this.addPropertyOverride(PROPERTY_IS_PULLING, isPullingPropertyGetter); this.addPropertyOverride(PROPERTY_IS_LOADED, new BooleanItemPropertyGetter() { @Override public boolean applyIf(ItemStack stack, @Nullable World worldIn, @Nullable EntityLivingBase entityIn) { return entityIn != null && isLoaded(stack); } }); }
/** * Safe way of getting the material from an itemstack. */ public static Material getMaterialFromStack(ItemStack stack) { if(!(stack.getItem() instanceof IMaterialItem)) { return Material.UNKNOWN; } return ((IMaterialItem) stack.getItem()).getMaterial(stack); }
public static PartMaterialType bow(IToolPart part) { return new PartMaterialType(part, MaterialTypes.BOW, MaterialTypes.HEAD); }
public static boolean hasCategory(ItemStack stack, Category category) { if(stack.isEmpty() || !(stack.getItem() instanceof TinkersItem)) { return false; } return ((TinkersItem) stack.getItem()).hasCategory(category); }
/** * Called to break the base block, return false to perform no breaking * @param itemstack Tool ItemStack * @param pos Current position * @param player Player instance * @return true if the normal block break code should be skipped */ protected boolean breakBlock(ItemStack itemstack, BlockPos pos, EntityPlayer player) { return super.onBlockStartBreak(itemstack, pos, player); }
public boolean validComponent(int slot, ItemStack stack) { if(slot > requiredComponents.length || slot < 0) { return false; } return requiredComponents[slot].isValid(stack); }
public static PartMaterialType crossbow(IToolPart part) { return new PartMaterialType(part, MaterialTypes.HANDLE, MaterialTypes.EXTRA); } }
public static PartMaterialType extra(IToolPart part) { return new PartMaterialType(part, MaterialTypes.EXTRA); }
public static PartMaterialType head(IToolPart part) { return new PartMaterialType(part, MaterialTypes.HEAD); }
public static PartMaterialType bowstring(IToolPart part) { return new PartMaterialType(part, MaterialTypes.BOWSTRING); }